aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man8/pppd.8
blob: a2b904cca9d58f5307ba15c87e72e3adcba8d5e7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
.\" manual page [] for pppd 2.3
.\" %FreeBSD: src/usr.sbin/pppd/pppd.8,v 1.20.2.1 2001/07/22 12:41:26 dd Exp %
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/pppd.8,v 1.12 2001/05/14 01:09:56 horikawa Exp $
.\" SH section heading
.\" SS subsection heading
.\" LP paragraph
.\" IP indented paragraph
.\" TP hanging label
.TH PPPD 8
.SH 名称
pppd \- PPP (Point to Point Protocol) を処理するデーモン
.SH 書式
.B pppd
[
.I tty_name
] [
.I speed
] [
.I options
]
.SH 解説
.LP
Point-to-Point プロトコル (PPP) は、シリアル回線上に確立された
Point-to-Point リンクを介したデータグラムの送受方法を提供します。
PPP は、データグラムのカプセル化方式、拡張可能なリンク制御プロトコル (LCP)、
そして異なるネットワーク層プロトコルの設定と接続の確立を行う
一群のネットワーク制御プロトコル (NCP) の 3 つの部分から構成されています。
.LP
カプセル化体系は、カーネル内のドライバコードにより提供されています。
pppd
は、基本的な LCP 機能、認証機能、そしてインターネットプロトコル (IP)
接続の確立と設定を行う
NCP (IP 制御プロトコル (IPCP) と呼ばれています) を提供します。
.SH よく使われるオプション
.TP
.I <tty_name>
指定したデバイスを介して通信します。
もし必要であれば、前に "/dev/" 文字列が追加されます。
デバイス名が指定されていない場合や
標準入力に接続された端末の名前が与えられた場合には、
pppd
はその端末を使用し、
バックグラウンド実行のための fork を行いません。
\fInoauth\fR オプションが使用された場合、
このオプションは特権オプションとなります。
.TP
.I <speed>
ボーレートを <speed> に設定します (10 進数)。
4.4BSD や NetBSD といったシステムでは、
シリアルデバイスドライバがサポートする任意の速度を指定可能です。
その他のシステム (SunOS, Linux 等) では一定の組み合わせのみが指定可能です。
.TP
.B active-filter \fIfilter-expression
データパケットに適用されるパケットフィルタであり、
どのパケットをリンクアクティビティとみなすかを決定するパケットフィルタを
指定します。
リンクアクティビティとみなされると、アイドルタイマがリセットされるか、
デマンドダイヤルモード時にはリンクがアップされます。
(例えば経路情報パケット等) 定常的にリンク上でパケット送受信が行われ、
他の方法ではリンクがアイドルであるとはみなされない場合に、
このオプションを \fBidle\fR オプションとともに使用すると便利です。
\fIfilter-expression\fR の文法は tcpdump(1) と同じですが、
限定子は PPP では不適当ですので、\fBether\fR や \fBarp\fR は使用できません。
一般的には、フィルタ式をシングルクォートで括って、
式中の空白がシェルに解釈されることを避けるべきです。
カーネル及び pppd が PPP_FILTER を定義してコンパイルされた場合のみ、
このオプションを利用可能です。
.TP
.B asyncmap \fI<map>
非同期文字マップを <map> に設定します。
このマップは、シリアル回線を経由するとどの制御文字の受信が
うまくいかなくなるかを記述するものです。
pppd
は、これらの文字を 2 バイトのエスケープシーケンスとして送信するよう、
相手側に依頼します。
引数は 32 ビットの 16 進数であり、各ビットがエスケープすべき文字を
表しています。
ビット 0 (00000001) は文字 0x00 を表し、
ビット 31 (80000000) は、文字 0x1f つまり '^_' を表しています。
複数の \fIasyncmap\fR オプションが与えられた場合、それらの値の論理和が
採用されます。
\fIasyncmap\fR オプションが与えられなかった場合には、このホストが受信側となる
非同期文字マップは設定されません。
相手側は\fIすべての\fR制御文字をエスケープして送信します。
送信文字をエスケープするには、\fIescape\fR オプションを使用します。
.TP
.B auth
ネットワークパケットの送受信を許可する前に、相手側に自分証明を
行うよう要求します。
.TP
.B call \fIname
ファイル /etc/ppp/peers/\fIname\fR からオプションを読みます。
pppd が root 以外によって起動された場合においても、
このファイルに \fInoauth\fR のような特権オプションを含んでもかまいません。
文字列 \fIname\fR は / で開始してはなりませんし、
パス名の一部に .. を含んではなりません。
オプションファイルのフォーマットは後述します。
.TP
.B connect \fIscript
\fIscript\fR で指定された実行可能コマンドまたはシェルコマンドを使用して、
シリアル回線のセットアップを行います。
ほとんどの場合、ここで指定されるスクリプトには chat(8) プログラムを使用し、
モデムにダイヤルコマンドを送ったり、リモート ppp セッションを開始したりします。
\fInoauth\fR オプションが使用された場合、
このオプションは特権オプションとなります。
.TP
.B connect-max-attempts \fI<n>
指定した時間 (デフォルトでは 1) を越えてリモートシステムとの
ダイヤル接続を保持しません。接続ができない場合は、
pppd は終了します。 \fBpersist\fR を指定することが要求されます。
.TP
.B crtscts
シリアルポートのフロー制御にハードウェアフロー制御 (RTS/CTS) を用います。
\fIcrtscts\fR か \fInocrtscts\fR の両方のオプションが与えられない時、
シリアルポートのハードウェアフロー制御の設定は変更されずに
そのままになります。
.TP
.B defaultroute
IPCP ネゴシエーションが成功すると、相手側をゲートウェイとする
デフォルト経路をシステムの経路テーブルに追加します。
このオプションにより追加されたデフォルト経路エントリは、
PPP 接続が切断された際に削除されます。
\fInodefaultroute\fR オプションが指定された場合には、
このオプションは特権オプションとなります。
.TP
.B disconnect \fIscript
pppd が接続を切った後に \fIscript\fR で指定した実行可能コマンドまたは
シェルコマンドを実行します。
このスクリプトで、例えばハードウェアモデム制御信号 (DTR) が使えない場合に
モデムをハングアップすることができます。
モデムが既にハングアップしている場合には、この切断スクリプトは実行されません。
\fInoauth\fR オプションが使用された場合には、
このオプションは特権オプションです。
.TP
.B escape \fIxx,yy,...
転送時にエスケープを行うべき文字を指定します (相手側が
非同期文字マップでエスケープを要求しているかどうかには影響されません)。
エスケープされる文字は、コンマで区切られた 16 進数で指定します。
制御文字しか指定できない \fIasyncmap\fR オプション
とは異なり、\fIescape\fR オプションではどんな文字でも指定できる
ことに注意してください。
ただし 16 進表記で 0x20 から 0x3f までと 0x5e の文字は
エスケープしてはなりません。
.TP
.B file \fIname
オプションをファイル \fIname\fR から読み込みます (フォーマットは後述します)。
このファイルは、pppd を起動したユーザが読むことが可能である必要があります。
.TP
.B lock
シリアルデバイスに対する排他アクセスを確実に行うために、
UUCP 形式のロックファイルを作成するよう pppd に指示します。
.TP
.B mru \fIn
ネゴシエーション時の MRU [最大受信単位; Maximum Receive Unit]
値を \fIn\fR に設定します。
pppd
は、通信相手に \fIn\fR バイトを超えるパケットを送信しないよう要求します。
最小の MRU 値は、128 です。
デフォルトの MRU 値は 1500 です。低速のリンクでは 296 を推奨します
(TCP/IP ヘッダ 40 バイト + データ 256 バイト)。
.TP
.B mtu \fIn
MTU [最大転送単位; Maximum Transmit Unit] 値を \fIn\fR に設定します。
相手が MRU ネゴシエーションを通じてこれより小さい値を要求してこない限り、
PPP ネットワークインタフェースを通して \fIn\fR バイトを
越えないデータパケットを送ることを、
pppd はカーネルのネットワークコードに要求します。
.TP
.B passive
LCP で "passive" オプションを有効にします。このオプションを指定した場合には、
接続を開始しようとしても相手からの返答がない場合、
pppd
は相手から有効な LCP パケットが到着するのを受動的に待ち続けます。
このオプションを指定しなければ、相手からの返答がない場合に
pppd
は実行を中断します。
.SH オプション
.TP
.I <local_IP_address>\fB:\fI<remote_IP_address>
ローカルインタフェースとリモートインタフェースの IP アドレスを設定します。
どちらか片方を省略することも可能です。IP アドレスは、ホスト名もしくは
10 進数ドット表現 (例: 150.234.56.78) のどちらでも指定可能です。
デフォルトのローカルアドレスは、そのシステムの (最初の) IP アドレスと
なります。(ただし
\fInoipdefault\fR
オプションが指定された場合を除きます。) リモートアドレスは、
オプションで指定されていない場合には相手側から取得されます。
ですから、もっとも単純な指定を行う場合には、このオプションは不必要です。
ローカルまたはリモートの IP アドレスがこのオプションで指定されている場合には、
IPCP ネゴシエーションで相手側がこの指定と異なるアドレスを送って来た場合、
pppd はこれを拒否します。ただし、
\fIipcp-accept-local\fR
や
\fIipcp-accept-remote\fR
が指定されている場合にはこの限りではありません。
.TP
.B bsdcomp \fInr,nt
接続相手に、BSD-Compress 方式を使った送出時のパケット圧縮を要求します。
ここでの最大コードサイズは \fInr\fR ビットです。
相手側が送るパケットの最大の大きさは、 \fInt\fR ビットです。
\fInt\fR が指定されない時は、デフォルトの \fInr\fR が使われます。
9 から 15 の範囲の値が、 \fInr\fR と \fInt\fR で使われます。
より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの
カーネルメモリを消費します。\fInr\fR や \fInt\fR に対して、値 0 を
指定すると、指定した方向には圧縮を行いません。
BSD-Compress 圧縮を完全に無効にするためには、
\fInobsdcomp\fR か \fIbsdcomp 0\fR を指定してください。
.TP
.B chap-interval \fIn
このオプションが指定された場合、
pppd
は \fIn\fR 秒おきに再チャレンジします。
.TP
.B chap-max-challenge \fIn
CHAP チャレンジの最大送信回数を \fIn\fR に設定します (デフォルト値は 10)。
.TP
.B chap-restart \fIn
(チャレンジの再送のタイムアウトによる)
CHAP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B debug
接続のデバッグ機能を有効にします。
このオプションを指定した場合、pppd は送受信した
すべての制御パケットの内容を可読形式でログします。
パケットは syslog を経由して、\fIdaemon\fR ファシリティの
\fIdebug\fR レベルとして記録されます。
本情報は、/etc/syslog.conf を適切に記述することで
ファイルに記録することができます (syslog.conf(5) 参照)。
.TP
.B default-asyncmap
asyncmap ネゴシエーションを無効にし、
送受信両方向にて全制御文字をエスケープさせます。
.TP
.B default-mru
MRU [最大受信単位; Maximum Receive Unit] ネゴシエーションを無効にします。
このオプションを指定すると、送受信両方向において、
pppd はデフォルトの MRU 値 1500 バイトを使用します。
.TP
.B deflate \fInr,nt
接続相手に、Deflate 方式を使った送出時のパケット圧縮を要求します。
ここで最大のウィンドウサイズは \fI2**nr\fR バイトです。
また、相手に送るパケットを最大ウィンドウサイズ \fI2**nt\fR バイトにて圧縮
することを合意します。
\fInt\fR が指定されないと、デフォルトの \fInr\fR の値となります。
\fInr\fR と \fInt\fR には 8 から 15 までの範囲の値が許されます。
より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの
カーネルメモリを消費します。
\fInr\fR や \fInt\fR に対して、値 0 を
指定すると、指定した方向には圧縮を行いません。
Deflate 圧縮を完全に無効にするためには、
\fInodeflate\fR か \fIdeflate 0\fR を指定してください。
(注: 相手が両方とも可能な場合には、
pppd は BSD-Compress よりも Deflate 圧縮を好んで要求します。)
.TP
.B demand
リンクの開始を要求時のみ、つまりデータトラフィックが存在する時のみ行います。
このオプションを指定する場合、リモート IP アドレスを、
ユーザがコマンドラインで指定するか、オプションファイル中に含む必要があります。
pppd は、相手に接続することなく、
まずインタフェースを設定して IP トラフィックに備えます。
トラフィックが現れると、pppd は相手へ接続し、
ネゴシエーションや認証などを行います。
これが完了すると、pppd はリンクを介してデータパケット (すなわち IP パケット)
の授受を開始します。

\fIdemand\fR オプションは暗黙的に \fIpersist\fR オプションを指定します。
この動作が望ましくない場合、\fIdemand\fR オプションの後に
\fInopersist\fR オプションを使用してください。
\fIidle\fR および \fIholdoff\fR のオプションもまた、
\fIdemand\fR オプションとともに使用すると便利です。
.TP
.B domain \fId
認証のために使用するローカルホスト名にドメイン名 \fId\fR を付加します。
例えば、完全な形でのドメイン名 (FQDN) が porsche.Quotron.COM であって、
gethostname() が porsche という名前を返す場合には、
このオプションを用いてドメイン名を \fIQuotron.COM\fR と指定します。
そうすると、pppd は \fIporsche.Quotron.COM\fR を
秘密情報ファイルの中の秘密情報を調べるために使用したり、
相手に対して自己証明するために送るデフォルトの名前として使用します。
このオプションは特権オプションです。
.TP
.B holdoff \fIn
リンク切断から再初期化まで何秒待つかを指定します。
\fIpersist\fR または \fIdemand\fR オプション使用時にのみ、
このオプションは有効です。
アイドルであったためにリンクが切断された場合は、
この抑止期間は適用されません。
.TP
.B idle \fIn
リンクが \fIn\fR 秒アイドルだった場合に接続を切るように pppd に指定します。
データパケット (つまり IP パケット)が送受信されない時に、
リンクはアイドルだとみなされます。
注: \fIdemand\fR オプションを使用せずに
\fIpersist\fR オプションを使用する場合に、このオプションを使うことを勧めます。
\fBactive-filter\fR オプションが与えられると、
指定したアクティビティフィルタが受理しなかったデータパケットもまた、
リンクがアイドルであるとみなす対象とします。
.TP
.B ipcp-accept-local
このオプションが指定された場合には、
別のオプションによってローカル IP アドレスの指定が行われている場合でも、
pppd
は相手からのローカル IP アドレスの指定を受け入れます。
.TP
.B ipcp-accept-remote
このオプションが指定された場合には、
別のオプションによってリモート IP アドレスの指定が行われている場合でも、
pppd
は相手からのリモート IP アドレスの指定を受け入れます。
.TP
.B ipcp-max-configure \fIn
IPCP configure-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B ipcp-max-failure \fIn
IPCP configure-Reject を送信開始するまでの IPCP configure-NAK の最大応答回数を
\fIn\fR 回に設定します (デフォルト値は 10)。
.TP
.B ipcp-max-terminate \fIn
IPCP terminate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 3)。
.TP
.B ipcp-restart \fI<n>
(再送のタイムアウトによる) IPCP 再開の間隔を \fIn\fR 秒に設定します。
(デフォルト値は 3)。
.TP
.B ipparam \fIstring
ip-up と ip-down スクリプト用に余分のパラメータを指定します。
このオプションが与えられた場合、 \fIstring\fR が 6 番目のパラメータと
して、これらのスクリプトに与えられます。
.TP
.B ipx
IPXCP および IPX プロトコルを有効にします。
このオプションは現在 Linux でのみ、
IPX サポートを含めてカーネルを構成した場合のみサポートされています。
.TP
.B ipx-network \fIn
IPXCP 設定要求フレーム中の IPX ネットワーク番号を \fIn\fR に設定します。
16 進数 (先頭の 0x を除いて) を指定します。
正当なデフォルト値はありません。
このオプションが指定されないと、ネットワーク番号は相手から獲得します。
相手がネットワーク番号を持っていない場合は、IPX プロトコルは開始されません。
.TP
.B ipx-node \fIn\fB:\fIm
IPX ノード番号を設定します。
2 つのノード番号をコロンで区切ります。
最初の番号 \fIn\fR はローカルのノード番号です。
次の番号 \fIm\fR は相手のノード番号です。
どちらのノード番号も 16 進数であり、最大 10 桁です。
ipx-network のノード番号は一意である必要があります。
正当なデフォルト値はありません。
このオプションが指定されないと、ノード番号は相手から獲得します。
.TP
.B ipx-router-name \fI<string>
ルータ名を設定します。
これは文字列であり、情報データとして相手に送られます。
.TP
.B ipx-routing \fIn
受信する経路プロトコルをこのオプションで指定します。
複数の \fIipx-routing\fR インスタンスを指定可能です。'\fInone\fR' オプション
(0) のみ、ipx-routing インスタンスとして指定可能です。
値は、\fI0\fR が \fINONE\fR に、\fI2\fR が \fIRIP/SAP\fR に、
\fI4\fR が \fINLSP\fR に対応します。
.TP
.B ipxcp-accept-local
ipx-node オプションで指定したノード番号に対する、相手の NAK を受け付けます。
非ゼロのノード番号が指定された場合、
この値の使用を主張することがデフォルトです。
このオプションを指定すると、
相手がノード番号のエントリを上書きすることを許します。
.TP
.B ipxcp-accept-network
ipx-network オプションで指定したネットワーク番号に対する、
相手の NAK を受け付けます。
非ゼロのノード番号が指定された場合、
この値の使用を主張することがデフォルトです。
このオプションを指定すると、
相手がノード番号のエントリを上書きすることを許します。
.TP
.B ipxcp-accept-remote
設定要求フレーム中に指定される相手のネットワーク番号を使用します。
相手のノード番号を指定し、
かつこのオプションを指定しなかった場合は、
相手はあなたが指定した値を使用することを強制されます。
.TP
.B ipxcp-max-configure \fIn
システムが送信する IPXCP 設定要求フレーム数の最大値を \fIn\fR に設定します。
デフォルト値は 10 です。
.TP
.B ipxcp-max-failure \fIn
ローカルシステムがオプションを拒否する前に、
ローカルシステムが送信する IPXCP NAK フレーム数の
最大値を設定します。デフォルト値は 3 です。
.TP
.B ipxcp-max-terminate \fIn
相手が聞いていないという判断をローカルシステムが下す前に、
ローカルシステムが送信する
IPCP 停止要求フレーム数の最大値を設定します。デフォルト値は 3 です。
.TP
.B kdebug \fIn
カーネルレベルの PPP ドライバのデバッグコードを有効にします。
引数 \fIn\fR として、以下の数値のうち必要なものの合計を指定します。
1 は一般的なデバッグメッセージ出力を有効にします。
2 は受信したパケットの内容の出力を要求します。
4 は送信したパケットの内容の出力を要求します。
ほとんどのシステムでは、カーネルが表示したメッセージは、
/etc/syslog.conf 設定ファイルに指示されるように、
syslog(1) がファイルにログします。
.TP
.B lcp-echo-failure \fIn
このオプションが指定された場合、 LCP echo-request を \fIn\fR 回送信しても
相手から有効な LCP echo-reply が帰ってこなければ、pppd は
相手がダウンしているものと推測します。このような場合、pppd は
接続を切断します。このオプションを使用する際には、
\fIlcp-echo-interval\fR のパラメータとして 0 以外の数値を指定してください。
このオプションは、ハードウェアモデム制御線 (DSR) が使用できない状況で、
(モデムがハングアップするなど) 物理的な接続が切断された後に
pppd を終了するために用いられます。
.TP
.B lcp-echo-interval \fI<n>
このオプションを指定すると、pppd は LCP echo-request フレームを
\fIn\fR 秒毎に相手側に送信します。
通常、相手側は echo-request を受信すると echo-reply を送り返して返答します。
このオプションは、相手側との接続が切れたことを検出するために
\fIlcp-echo-failure\fR オプションとともに使用されます。
.TP
.B lcp-max-configure \fIn
LCP configure-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B lcp-max-failure \fIn
LCP configure-Reject を送信開始するまでの LCP configure-NAK の最大応答回数を
\fIn\fR 回に設定します (デフォルト値は 10)。
.TP
.B lcp-max-terminate \fIn
LCP terminate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 3)。
.TP
.B lcp-restart \fIn
(再送のタイムアウトによる) LCP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B local
モデム制御線を使用しません。このオプションを指定すると、
pppd
は、モデムからの CD (Carrier Detect) 信号の状態を無視し、
DTR (Data Terminal Ready) 信号の状態を変化させません。
.TP
.B login
PAP を用いた相手の認証に、システムパスワードデータベースを用い、
ユーザをシステムの wtmp ファイルに記録します。
アクセスが許されるためには、
/etc/ppp/pap-secrets ファイルとシステムパスワードデータベースの両方に、
相手のエントリが存在する必要があります。
.TP
.B maxconnect \fIn
ネットワークトラフィックの使用開始から \fIn\fR 秒後に接続を切断します
(これは、最初のネットワーク制御プロトコルが来てから \fIn\fR 秒になります)。
.TP
.B modem
モデム制御線を使用します。このオプションはデフォルトです。
このオプションを指定すると、pppd は
(接続スクリプトが指定していなければ)
モデムからの CD (Carrier Detect) 信号のアサートを待ってから
シリアルデバイスをオープンし、接続終了時に
DTR (Data Terminal Ready) 信号を短い期間落としてから
接続スクリプトを実行します。
Ultrix では、このオプションはハードウェアフロー制御、
すなわち \fIcrtscts\fR オプションを暗黙的に指定します。
.TP
.B ms-dns \fI<addr>
pppd が Microsoft Windows クライアントのサーバとして動作している場合、
このオプションは pppd に 1 または 2 の DNS (Domain Name Server) アドレスを
クライアントに提供することを許します。
このオプションの最初のインスタンスはプライマリ DNS アドレスを与えます。
次のインスタンスは (もし与えられれば) セカンダリ DNS アドレスを与えます。
(このオプションは、
古いバージョンの pppd では \fBdns-addr\fR という名前でした。)
.TP
.B ms-wins \fI<addr>
pppd が Microsoft Windows クライアントまたは "Samba" クライアントの
サーバとして動作している場合、このオプションは pppd に 1 または 2 の
WINS (Windows Internet Name Services) サーバアドレスをクライアントに提供
することを許します。
このオプションの最初のインスタンスはプライマリ WINS アドレスを与えます。
次のインスタンスは (もし与えられれば) セカンダリ WINS アドレスを与えます。
.TP
.B name \fIname
認証の目的で用いられるローカルシステムの名前を \fIname\fR に設定します。
このオプションは特権オプションです。
このオプションを指定すると、pppd は秘密情報ファイルの第 2 フィールドが \fIname\fR
である行を使用して秘密情報を探し、相手を認証します。
さらに、\fIuser\fR オプションで上書きしない場合は、
相手に対してローカルシステムを自己証明する時に送る名前として
\fIname\fR を使用します。
(pppd はドメイン名を \fIname\fR に付加しないことに注意してください。)
.TP
.B netmask \fIn
インタフェースのネットマスクを \fIn\fR に設定します。
32 ビットのネットマスクを「10 進数ドット」表記で指定します (例: 255.255.255.0)。
このオプションが与えられると、デフォルトのネットマスクと指定したネットマスク
との論理和が値となります。デフォルトのネットマスクはネゴシエートされる
リモートの IP アドレスに依存します。
リモート IP アドレスのクラスに適切なネットマスクと、
同一ネットワーク上システムの非 point-to-point ネットワークインターフェース
のネットマスクとの論理和となります。
.TP
.B noaccomp
Address/Control 圧縮を双方向 (送受信) で無効にします。
.TP
.B noauth
相手が自己証明することを要求しません。
\fIauth\fR オプションが /etc/ppp/options に指定されている場合、
このオプションは特権オプションです。
.TP
.B nobsdcomp
BSD-Compress 圧縮を無効にします。
BSD-Compress 方式を使用したパケット圧縮を \fBpppd\fR は要求も賛同もしません。
.TP
.B noccp
CCP (圧縮制御プロトコル; Compression Control Protocol) ネゴシエーションを
無効にします。
相手にバグがあるために、
CCP ネゴシエーションのための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B nocrtscts
シリアルポートにハードウェアフロー制御 (つまり RTS/CTS) を使用しません。
\fIcrtscts\fR か \fInocrtscts\fR の両方のオプションが与えられない時、
シリアルポートのハードウェアフロー制御の設定は変更されずに
そのままになります。
.TP
.B nodefaultroute
\fIdefaultroute\fR オプションを無効にします。
\fIpppd\fR を使っているユーザにデフォルト経路を作成させたくない
システム管理者は、このオプションを /etc/ppp/options ファイルに
記述することができます。
.TP
.B nodeflate
Deflate 圧縮を無効にします。
pppd は Deflate 方式を使用した圧縮パケットを要求しませんし、賛同もしません。
.TP
.B nodetach
制御端末から切り離しません。このオプションを指定しないと、
標準入力がある端末以外のシリアルデバイスが指定された場合は、
pppd は fork してバックグラウンドプロセスになります。
.TP
.B noip
IPCP ネゴシエーションと IP 通信を無効にします。
相手にバグがあるために、
IPCP ネゴシエーションのための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B noipdefault
ローカル IP アドレスが指定されない場合にデフォルトで行われる、
ホスト名から IP アドレスを (可能であれば) 決定する動作を無効にします。
このオプションを指定した場合には、IPCP ネゴシエーション時に
相手側がローカルの IP アドレスを指定する必要があります
(明示的にコマンドラインで指定されているか、
オプションファイルで指定されている場合を除きます)。
.TP
.B noipx
IPXCP および IPX プロトコルを無効にします。
相手にバグがあるために、
IPXCP ネゴシエーションのための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B nomagic
magic number ネゴシエーションを無効にします。このオプションを指定した場合には、
pppd
はループバック回線を検出することができません。
相手にバグがある場合にのみ必要となります。
.TP
.B nopcomp
送受信方向とも、プロトコルフィールド圧縮ネゴシエーションを無効にします。
.TP
.B nopersist
接続の確立と切断のたびに終了します。
\fIpersist\fR または \fIdemand\fR のオプションが指定されない場合、
このオプションはデフォルトです。
.TP
.B nopredictor1
Predictor-1 圧縮を受け付けませんし、賛同もしません。
.TP
.B noproxyarp
\fIproxyarp\fR オプションを無効にします。pppd のユーザに
proxy ARP エントリを作成させたくないシステム管理者は、このオプションを
/etc/ppp/options ファイルに記述することでそのようにできます。
.TP
.B novj
Van Jacobson 形式の TCP/IP ヘッダ圧縮を送受信方向において無効にします
.TP
.B novjccomp
Van Jacobson 形式の TCP/IP ヘッダ圧縮において、
connection-ID 圧縮を無効にします。
このオプションを指定すると、
pppd は Van Jacobson 圧縮された TCP/IP ヘッダから
connection-ID バイトを省略しなくなりますし、
相手にも依頼しません。
.TP
.B papcrypt
相手の同一性を調べるために使われる
/etc/ppp/pap-secrets ファイル内の全ての秘密情報を暗号化することを
指示します。pppd は、暗号化前の /etc/ppp/pap-secrets
ファイルからの秘密情報と等しいパスワードを受け入れません。
.TP
.B pap-max-authreq \fIn
PAP authenticate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B pap-restart \fIn
(再送のタイムアウトによる) PAP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B pap-timeout \fIn
PAP において接続先が自己証明するまで
pppd
が待機する最大時間を、\fIn\fR 秒に
設定します (0 は制限を設けないことを意味します)。
.TP
.B pass-filter \fIfilter-expression
送受信されるデータパケットに適用されるフィルタで、
通過を許されるパケットを決定するフィルタを指定します。
フィルタが拒否するパケットは黙って捨てられます。
特定のネットワークデーモン (例えば routed) が
リンクバンド幅を使い切ることを防いだり、
基本的なファイアウォール機能を提供するために、このオプションがあります。
\fIfilter-expression\fR の文法は tcpdump(1) と同じですが、
限定子は PPP リンクでは不適当ですので、
\fBether\fR や \fBarp\fR は使用できません。
一般的には、フィルタ式をシングルクォートで括って、
式中の空白がシェルに解釈されることを避けるべきです。
\fBinbound\fR と \fBoutbound\fR の限定子を付けることにより、
入出力のパケットに異なった制約を適用可能です。
このオプションは現在 NetBSD でのみ利用可能であり、
カーネル及び pppd が PPP_FILTER を定義してコンパイルされた場合のみ、
このオプションを利用可能です。
.TP
.B persist
接続が切断された後で終了しません。代わりに再接続しようとします。
.TP
.B predictor1
相手が送出するフレームを Predictor-1 圧縮を使用するよう要求し、
要求された場合 Predictor-1 で送出フレームを圧縮することに賛同します。
カーネルドライバが Predictor-1 圧縮をサポートしない場合には、
このオプションは影響ありません。
.TP
.B proxyarp
自システムの ARP [アドレス解決プロトコル; Address Resolution Protocol]
テーブルに相手の IP アドレス
と自システムのイーサネットアドレスを追加します。
他のシステムに対して、
相手がローカルイーサネット上にあるように見せることになります。
.TP
.B remotename \fIname
リモートシステムの名前を \fIname\fR とみなして認証を行います。
.TP
.B refuse-chap
このオプションを指定すると、
pppd は相手に対して自己証明するにあたり CHAP の使用に賛同しません。
.TP
.B refuse-pap
このオプションを指定すると、
pppd は相手に対して自己証明するにあたり PAP の使用に賛同しません。
.TP
.B require-chap
CHAP [チャレンジハンドシェーク認証プロトコル;
Challenge Handshake Authentication Protocol] を用いて
自己証明を行うことを相手に要求します。
.TP
.B require-pap
PAP [パスワード認証プロトコル; Password Authentication Protocol] を用いて
自己証明を行うことを相手に要求します。
.TP
.B silent
このオプションを指定した場合、
pppd
は相手から有効な LCP パケットを受信するまで、
接続を開始するための LCP パケットを送信せずに待ちます
(旧バージョンの pppd で 'passive' オプションを指定した場合と同じ動作です)。
.TP
.B usehostname
認証時にホスト名をローカルシステムの名前として使用することを強制します
(ドメイン名が与えられれば付加されます)。
(このオプションは \fIname\fR オプションに優先します。)
.TP
.B user \fIname
このマシンを相手に対して自己証明する際に用いるユーザ名を
\fIname\fR に設定します。
.TP
.B vj-max-slots \fIn
Van Jacobson の TCP/IP ヘッダ圧縮/伸長に使用する接続スロット数を
\fIn\fR に設定します。
2 から 16 (両端を含む) の範囲にある必要があります。
.TP
.B welcome \fIscript
PPP ネゴシエーション開始前かつ、(もしあれば) 接続スクリプトの完了後に、
\fIscript\fR で指定される実行コマンドもしくはシェルコマンドを実行します。
\fInoauth\fR オプションが使用された場合には、
このオプションは特権オプションとなります。
.TP
.B xonxoff
ソフトウェアフロー制御 (つまり XON/XOFF) を使用してシリアルポート上の
データフローを制御します。
.SH オプションファイル
オプションは、コマンドラインから与えられるのと同様に、
ファイルに記述されたものを用いることも可能です。
pppd
は、コマンドラインからのオプションを
読み込む前に /etc/ppp/options, ~/.ppprc, /etc/ppp/options.\fIttyname\fR から
(この順に) オプションを読み込みます。
(実際には、端末名を得るためにコマンドラインオプションがまずスキャンされてから、
options.\fIttyname\fR ファイルが読まれます。)
options.\fIttyname\fR ファイル名構成にあたり、
まず /dev/ が端末名から除かれ、残った / 文字がドットと置換されます。
.PP
オプションファイルの内容は、
空白文字をデリミタとする単語の並びとして解釈されます。
空白文字を含む文字列はダブルクォート (") で囲うことで
1 つの文字列として解釈されるようになります。
バックスラッシュ (\\) は、直後の 1 文字をクォートします。
ハッシュ文字 (#) はコメントの始まりとして解釈され、
改行までをコメントとみなします。
オプションファイル中での \fIfile\fR および \fIcall\fR のオプションの
使用制限はありません。
.SH セキュリティ
.I pppd
は、正当なユーザに対するサーバマシンへの PPP アクセスを提供しつつ、
サーバ自身やそのサーバが存在するネットワークのセキュリティを危険に
さらす心配のない、充分なアクセス制御をシステム管理者に提供します。
このアクセス制御の一部は、
/etc/ppp/options ファイルにより提供されます。
このファイルでシステム管理者は
pppd の使用制限を設定することができます。
また一部は、PAP や CHAP の秘密情報ファイルにより提供されます。
このファイルで個々のユーザが使用する IP アドレスの組を
管理者が制限することができます。
.PP
通常の pppd の用途においては、
\fIauth\fR オプションを /etc/ppp/options ファイルに設定すべきです。
(将来のリリースにおいてデフォルトになるかもしれません。)
ユーザが pppd を使用して相手にダイヤルアウトしたい場合で、
相手が自己証明することを拒否する場合 (インターネットサービスプロバイダなど)、
システム管理者は /etc/ppp/peers 下にオプションファイルを作成し、
ここに \fInoauth\fR オプションと、使用するシリアルポート名と、
(必要なら) \fIconnect\fR オプションと、その他適切なオプションを格納します。
このようにすることで、
非特権ユーザが信頼関係のある相手との間で認証されない接続を結ぶことを可能
とします。
.PP
上述のように、セキュリティに影響するオプションは特権オプションであり、
通常の非特権ユーザが setuid-root された pppd では使用できません。
これは、コマンドラインでも、ユーザの ~/.ppprc ファイルでも、
\fIfile\fR オプションを使用して読まれるオプションファイルでも言えることです。
/etc/ppp/options ファイル中、
もしくは \fIcall\fR オプションを使用して読まれるオプションファイル中では、
特権オプションの使用は許されます。
pppd が root ユーザにより起動された場合、特権オプションの使用は無制限です。
.SH 認証
認証とは、一方が他方に自己を認めさせる処理のことを言います。
これは、一方が自己の名前を他方に送る際、
その名前のオーソライズされた本物の使用者のみから生まれる
ある種の秘密情報を伴うことを必要とします。
このような交換において、最初の一方を「クライアント」と呼び、
他方を「サーバ」と呼びます。
クライアントは自己をサーバに識別させるための名前を持ち、
サーバもまた自己をクライアントに識別させるための名前を持ちます。
一般的に本物のクライアントは秘密情報 (またはパスワード) をサーバと共有し、
自己を証明するにあたりその秘密情報を知っていると伝えます。
認証に使用される名前は相手のインターネットホスト名に対応することが多いですが、
これは本質的なことではありません。
.LP
現在 pppd は 2 つの認証プロトコルをサポートします:
それぞれ、パスワード認証プロトコル (Password Authentication Protocol; PAP) と
チャレンジハンドシェーク認証プロトコル
(Challenge Handshake Authentication Protocol; CHAP) です。
PAP の場合、クライアントは自己証明のために、
自己の名前とクリアテキストパスワードをサーバに送る必要があります。
これとは対称的に、CHAP 認証交換はサーバが開始し、
チャレンジをクライアントに送ります
(チャレンジパケットにはサーバ名が含まれます)。
クライアントはこれに返答する必要があり、
返事の中に自己の名前に加えて共有秘密情報とチャレンジから得られるハッシュ値を
含め、自己が秘密情報を知っていると伝える必要があります。
.LP
PPP プロトコルは対称的ですから、
両者が他方に対して自己証明を行うように要求することを許します。
この場合、2 つの別々かつ独立した認証交換が発生します。
2 つの交換においては別の認証プロトコルを使用できますし、
原則的には違う名前を使用可能です。
.LP
pppd
のデフォルトの挙動は、もし認証の要求があればそれを受け入れ、
相手側には認証を要求しないというものです。
ただし、
pppd
がその認証を行なうのに必要な秘密情報を持っていない
特定のプロトコルによる認証は拒否します。
.LP
pppd は認証に使用する秘密情報を秘密情報ファイル
(PAP の場合 /etc/ppp/pap-secrets、
CHAP の場合 /etc/ppp/chap-secrets) に格納します。
どちらの秘密情報ファイルも同じフォーマットです。
秘密情報ファイルには、
pppd が他のシステムに対して自己証明するための秘密情報を格納する
ことができますし、
他のシステムの認証を行うための秘密情報を格納することも可能です。
.LP
秘密情報ファイル中の各行は 1 つの秘密情報を格納します。
特定の秘密情報はあるクライアントとサーバの組み合わせに対して特有です -
このクライアントがこのサーバに対して自己証明することにのみ使用されます。
秘密情報ファイルの各行は、少なくとも 3 つのフィールドからなります:
それぞれ、クライアント名、サーバ名、秘密情報です。
指定したサーバに指定したクライアントが接続する時に使用する
IP アドレスリストを、これらのフィールドの後に続けることができます。
.LP
秘密情報ファイルはオプションファイルと同じように単語の並びとして
解釈されますので、クライアント名、サーバ名、秘密情報の各フィールドは
1 語である必要があり、
これに含まれる空白文字や特殊文字は
クォートもしくはエスケープする必要があります。
同じ行の残りの語は、クライアントに許される IP アドレスのリストとされるか、
(ワイルドカードでもなく空でもない) 特定のクライアント名を含む行の
場合は "local:remote" アドレス
(コマンドラインもしくはオプションファイルで共通フォーマット)
に優先します。
行に 3 語しか無い場合もしくは最初の語が "-" である場合、
全ての IP アドレスが不許可となります。
全アドレスを許可するには "*" を使用します。
また "!" から始まる語は、指定したアドレスを受け付け\fIない\fRことを示します。
アドレスの後には "/" と数値 \fIn\fR を続けることが可能であり、
全体のサブネットを示します。
つまり、全てのアドレスの上位 \fIn\fR ビットが同じ値となります。
クライアント名、サーバ名、秘密情報においては大文字小文字の区別は重要です。
.LP
秘密情報が `@' から始まる場合、後続するものはファイル名であり、
そこから秘密情報を読み込むものとされます。
クライアント名もしくはクライアント名に単一の "*" を使用すると、
いかなる名前にもマッチします。
秘密情報を選択する時、pppd はベストマッチ、
すなわちワイルドカードが最小となるマッチを採用します。
.LP
秘密情報ファイルには、他のホストを認証するための秘密情報に加え、
他のホストに対して自己証明するための秘密情報も格納します。
pppd が相手を認証 (相手が相手であることを確認) する時、
秘密情報の検索にあたり、
相手の名前が最初のフィールドにありローカルシステムの名前が 2 番目のフィールド
にあるものを選びます。
ローカルシステム名のデフォルトはホスト名であり、
\fIdomain\fR オプション使用時にはドメイン名が付加されます。
このデフォルトには \fIname\fR オプションが優先しますが、
\fIusehostname\fR オプションが使用されている場合は例外です。
.LP
pppd が相手に対する自己証明のための秘密情報を選ぶ時には、
まずどの名前を使用して相手に対して自己識別するかを決めます。
この名前はユーザが \fIuser\fR オプションで指定可能です。
このオプションが使用されていない場合、
名前はデフォルトのローカルシステム名となり、
前の段落で示したように決定されます。
こうして pppd は秘密情報の検索にあたり、
この名前が最初のフィールドにあり相手の名前が 2 番目のフィールド
にあるものを選びます。
CHAP 認証が使用される場合、
相手はチャレンジパケット中に相手の名前を含めますから、
pppd は相手の名前を知ることになります。
しかし、PAP が使用される場合、
ユーザが指定したオプションを元に pppd は相手の名前を決定します。
ユーザは相手の名前を直接 \fIremotename\fR で指定可能です。
そうではない場合で、リモート IP アドレスが (数値形式でなく)
名前で指定された場合、その名前を相手の名前として使用します。
これに失敗すると、pppd は相手の名前に空文字列を使用します。
.LP
相手側を PAP で認証する際に、提供されるパスワードはまず秘密情報ファイルの
秘密情報と比較されます。
もしパスワードが秘密情報とマッチしなければ、
パスワードは crypt() を使用して暗号化され、再び秘密情報と比較されます。
このため相手側の認証に使用する秘密情報は
暗号化された形式で記録することができます。
\fIpapcrypt\fR オプションが与えられた場合、よりよいセキュリティのため
最初の (暗号化されていない) 比較対象は除外されます。
.LP
更にもし \fIlogin\fR オプションが指定されていれば、ユーザ名とパスワードも
システムパスワードデータベースでチェックされます。
このためシステム管理者は特定のユーザだけに PPP アクセスを
許可し、個々のユーザが使用できる IP アドレスの組を
制限するよう pap-secrets ファイルを設定することができます。
典型的には、\fIlogin\fR オプションを使う時に、
/etc/ppp/pap-secrets 中の秘密情報を "" とすることで、
相手が提供するいかなるパスワードにもマッチするようになります。
これにより、同じ秘密情報を 2 個所で必要とされることを避けることができます。
.LP
\fBlogin\fR オプションが使われている時には、更なる確認が行われます。
/etc/ppp/ppp.deny が存在して、ユーザがそこに記述されている場合、
認証は失敗します。 /etc/ppp/ppp.shells が存在して、ユーザの通常の
ログインシェルが記述されていない場合、認証は失敗します。
.LP
認証は IPCP (またはその他のネットワーク制御プロトコル)
が開始される前に納得のいくように完了している必要があります。
相手が自己証明することを求められている時に、認証に失敗すると、
\fIpppd\fR は (LCP をクローズすることで) リンクを切断します。
もし IPCP で得られたリモートホストの IP アドレスが受け入れられない
ものであった場合、IPCP はクローズされます。 IP パケットは IPCP が
オープンしている時だけ送受信可能です。
.LP
ローカルホストが一般的に認証を必要とする時でも、
接続を行い限定された IP アドレスの組の 1 つを使うために
自己証明ができないホストに対して、
接続を認める必要がある場合もあります。
もし相手側がこちらの認証要求を拒否した場合、pppd はそれを
ユーザ名とパスワードが空文字列である PAP 認証として扱います。
そこで、クライアント名とパスワードに空文字列を指定した 1 行を
pap-secrets ファイルに追加することで、自己証明を拒否する
ホストにも制限つきのアクセスを許可することができます。
.SH 経路制御
.LP
IPCP ネゴシエーションが成功した場合、
pppd
はカーネルに、PPP インタフェースで用いるローカル IP アドレスおよび
リモート IP アドレスを通知します。
これは、相手側と IP パケットを交換する
リンクのリモート終端への経路を作成するのに充分な情報です。
サーバ以外のマシンとの通信には、一般的には経路
テーブルや ARP (アドレス解決プロトコル; Address Resolution Protocol)
テーブルのさらなる更新が必要となります。
ほとんどの場合 \fIdefaultroute\fR や \fIproxyarp\fR オプションで十分ですが、
更なる解析が必要な場合もあります。
/etc/ppp/ip-up スクリプトが使用可能な場合があります。
.LP
インターネットへの接続を PPP インタフェース経由のみで行うマシンの
場合には、リモートホストを通るデフォルト経路の追加が
望ましい場合があります。
\fIdefaultroute\fR オプションは、IPCP が完了した際に pppd に
そのようなデフォルト経路を作成させ、リンクが切断されたときには
そのデフォルト経路を削除させます。
.LP
例えばサーバマシンが LAN に接続されている場合、LAN 上の他のホストが
リモートホストと通信できるようにするために proxy ARP の使用が
望ましい場合もあります。
\fIproxyarp\fR オプションを指定すると、pppd はリモートホストと
同一サブネット上にある (ブロードキャストと ARP をサポートし、動作中
かつ point-to-point やループバックでない) ネットワークインタフェースを
探します。
そのようなインタフェースが見つかった場合、pppd は
恒久的に公開された ARP エントリとしてリモートホストの IP アドレスと
その見つかったネットワークインタフェースのイーサネット (MAC) アドレスを
登録します。
.LP
\fIdemand\fR オプション使用時は、IPCP 起動時に
インタフェースの IP アドレスは設定済みです。
pppd がインタフェース設定に使用したものと同じアドレスを
ネゴシエーションできなかった場合には
(例えば ISP が動的に IP アドレスを割り当てる場合)、
pppd はインタフェースの IP アドレスをネゴシエートされたものに
変更する必要があります。
この場合既存の接続を破壊するかもしれませんので、
動的 IP 割り当てを行う相手と要求時ダイヤルを行うことは勧められません。
.SH 使用例
.LP
(ppp の配布のデフォルトの /etc/ppp/options ファイルと同じく)
以下の例では /etc/ppp/options ファイルは
\fIauth\fR オプションを含むものとします
.LP
おそらく最も一般的な pppd の使用方法は ISP へダイヤルアウトすることでしょう。
この場合次のコマンドを使用します。
.IP
pppd call isp
.LP
ここで /etc/ppp/peers/isp ファイルはシステム管理者が次のように設定します:
.IP
ttyS0 19200 crtscts
.br
connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
.br
noauth
.LP
この例では、chat を使用して ISP のモデムにダイヤルし、
必要なログオンシーケンスを通過します。
/etc/ppp/chat-isp ファイルは chat が使用するスクリプトを含みます。
例えば次のようになっています:
.IP
ABORT "NO CARRIER"
.br
ABORT "NO DIALTONE"
.br
ABORT "ERROR"
.br
ABORT "NO ANSWER"
.br
ABORT "BUSY"
.br
ABORT "Username/Password Incorrect"
.br
"" "at"
.br
OK "at&d0&c1"
.br
OK "atdt2468135"
.br
"name:" "^Umyuserid"
.br
"word:" "\\qmypassword"
.br
"ispts" "\\q^Uppp"
.br
"~-^Uppp-~"
.LP
chat スクリプトの詳細については、
chat(8) のマニュアルページを参照してください。
.LP
pppd はまたダイヤルイン ppp サービスをユーザに提供するために使用可能です。
ユーザが既にログインアカウントを持っている場合には、
ppp サービスの最も簡単な設定方法は、
ユーザにそのアカウントでログインしてもらってから、
(setuid-root された) pppd を次のように実行することです。
.IP
pppd proxyarp
.LP
ユーザが PPP 機能を使用することを許すためには、
そのユーザのマシンのための IP アドレスを割り当て、
/etc/ppp/pap-secrets または /etc/ppp/chap-secrets (ユーザのマシンの PPP 実装が
どちらの認証方法をサポートするかに依存します)
にエントリを作成して、ユーザのマシンを認証可能とします。
例えば、Joe が "joespc" というマシンを持っていて、"server" というマシンへの
ダイヤルインおよび joespc.my.net という IP アドレスの使用が許されている場合、
次のようなエントリを /etc/ppp/pap-secrets または /etc/ppp/chap-secrets に
加えます:
.IP
joespc	server	"joe's secret"	joespc.my.net
.LP
別の方法として、(例えば) "ppp" といったユーザ名を作成し、
そのログインシェルを pppd とし、
ホームディレクトリを /etc/ppp とする方法があります。
この方法で pppd を実行する場合に使用するオプションは
/etc/ppp/.ppprc に置くことができます。
.LP
もしあなたのシリアル接続がケーブル 1 本でなく、もっと複雑な場合には、
いくつかの制御文字がエスケープされるように
準備しておく必要があります。とりわけ、XON (^Q) および XOFF (^S) を、
\fIasyncmap a0000\fR を用いてエスケープすることはしばしば有効です。
パスが telnet を含む場合には、 ^] 文字も同様にエスケープ
(\fIasyncmap 200a0000\fR を指定) する必要があるでしょう。
パスが rlogin を含む場合には、rlogin クライアントの動作している側の
ホストで \fIescape ff\fR を指定する必要があるでしょう。これは、多くの
rlogin の実装がネットワーク透過でないためです。
それらの rlogin では、 0xff, 0xff, 0x73, 0x73 とそれに続く 8 バイトの
シーケンスをストリームから取り除きます。
.SH 診断
.LP
メッセージは LOG_DAEMON ファシリティを用いて syslog デーモンに
送られます (これは希望するファシリティを LOG_PPP マクロとして定義し、
pppd を再コンパイルすることで変更することができます)。
エラーメッセージやデバッグメッセージを見るためには、
/etc/syslogd.conf ファイルを編集して pppd からのメッセージが
希望する出力デバイスやファイルに書き出されるようにしておく必要があります。
.LP
\fIdebug\fR オプションは送受信されるすべての制御パケットの内容が
ログに記録されるようにします。対象となる制御パケットは、
すべての LCP, PAP, CHAP, IPCP パケットです。
この機能は、PPP ネゴシエーションがうまくいかない場合や
認証が失敗する場合の原因究明に効果的でしょう。
コンパイル時にデバッギングオプションを有効にしていた場合には、
\fIdebug\fR もまた他のデバッグメッセージを記録するために使われます。
.LP
.I pppd
プロセスに SIGUSR1 シグナルを送ってデバッギングを有効にすることが
できます。これはトグル動作します。
.SH スクリプト
pppd は処理の様々な段階においてスクリプトを起動し、
サイト固有の追加処理を行います。
これらのスクリプトは通常シェルスクリプトですが、
実行可能コードファイルであってもかまいません。
pppd はスクリプトが終了するまで待ちません。
スクリプトは root にて (実ユーザ ID および実効ユーザ ID とも 0 に設定して)
実行されますので、経路テーブルの更新や特権デーモンの実行が可能です。
これらのスクリプトの内容によってシステムセキュリティが危うくならないよう
注意してください。
pppd は標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトし、
リンクの情報を与えるいくつかの環境変数を除いて環境変数を空にして、
スクリプトを実行します。
pppd が設定する環境変数を以下に示します:
.TP
.B DEVICE
使用しているシリアル tty デバイス名。
.TP
.B IFNAME
使用しているネットワークインタフェース名。
.TP
.B IPLOCAL
リンクのローカル側の IP アドレス。
IPCP が立ち上がった時のみ設定されます。
.TP
.B IPREMOTE
リンクのリモート側の IP アドレス。
IPCP が立ち上がった時のみ設定されます。
.TP
.B PEERNAME
相手の認証された名前。
相手が自己証明した場合のみ設定されます。
.TP
.B SPEED
tty デバイスのボーレート。
.TP
.B UID
pppd を起動したユーザの実ユーザ ID。
.P
pppd は、以下のスクリプトが存在すれば起動します。
存在しなくてもエラーではありません。
.TP
.B /etc/ppp/auth-up
リモートシステムが成功裏に自己証明した後で実行される
プログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name peer-name user-name tty-device speed\fR
.IP
相手が自己証明しない場合には、
このスクリプトは実行されないことに注意してください。
例えば \fInoauth\fR オプションが使用される時がこれにあたります。
.TP
.B /etc/ppp/auth-down
/etc/ppp/auth-up が以前実行された後でリンクが落ちた時に実行される
プログラムまたはスクリプトです。
これは /etc/ppp/auth-up と同じパラメータを与えて、同じ方法で実行されます。
.TP
.B /etc/ppp/ip-up
そのリンクで IP パケットの送受信が行えるようになった時
(IPCP が完了した時) に実行されるプログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name tty-device speed local-IP-address
remote-IP-address ipparam\fR
.TP
.B /etc/ppp/ip-down
そのリンクで IP パケットの送受信ができなくなった場合に実行される
プログラムまたはスクリプトです。
このスクリプトは /etc/ppp/ip-up スクリプトで行った変更を
元にもどすために用いられます。
これは ip-up と同じパラメータを与えて、同じ方法で実行されます。
.TP
.B /etc/ppp/ipx-up
そのリンクで IPX パケットの送受信が行えるようになった時
(IPXCP が完了した時) に実行されるプログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name tty-device speed network-number local-IPX-node-address
remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol
local-IPX-router-name remote-IPX-router-name ipparam pppd-pid\fR
.IP
local-IPX-routing-protocol および remote-IPX-routing-protocol のフィールドは
以下のいずれかです:
.IP
NONE      経路プロトコルが無いことを示します
.br
RIP       RIP/SAP を使うべきであることを示します
.br
NLSP      Novell NLSP を使うべきであることを示します
.br
RIP NLSP  RIP/SAP と NLSP の両方を使うべきであることを示します
.TP
.B /etc/ppp/ipx-down
そのリンクで IPX パケットの送受信ができなくなった場合に実行される
プログラムまたはスクリプトです。
このスクリプトは /etc/ppp/ipx-up スクリプトで行った変更を
元にもどすために用いられます。
これは ipx-up と同じパラメータを与えて、同じ方法で実行されます。
.SH 関連ファイル
.TP
.B /var/run/ppp\fIn\fB.pid \fR(BSD または Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(その他)
ppp インタフェースユニット \fIn\fR に対応する pppd プロセスの
プロセス ID が記録されます。
.TP
.B /etc/ppp/pap-secrets
PAP 認証で使用するユーザ名、パスワード、IP アドレスを格納します。
このファイルは root が所有し、他のユーザは読み書きできてはなりません。
そうでない場合 pppd は警告ログを行います。
.TP
.B /etc/ppp/chap-secrets
CHAP 認証で使用する名前、秘密情報、IP アドレスを格納します。
このファイルは root が所有し、他のユーザは読み書きできてはなりません。
そうでない場合 pppd は警告ログを行います。
.TP
.B /etc/ppp/options
pppd
のシステムデフォルトオプションを記述します。
ユーザデフォルトオプションおよびコマンド
ラインオプションが読まれる前に読み込まれます。
.TP
.B ~/.ppprc
ユーザ毎のデフォルトオプションを記述します。
/etc/ppp/options.\fIttyname が読まれる前に読み込まれます。
.TP
.B /etc/ppp/options.\fIttyname
各シリアルポートのシステムデフォルトオプションを指定します。
~/.ppprc の後で読まれます。
このファイル名の \fIttyname\fR 部分の構成にあたり、
まず /dev/ が (存在すれば) ポート名から除かれ、
残ったスラッシュがドットに置換されます。
.TP
.B /etc/ppp/peers
pppd が非 root ユーザによって起動されたとしても
特権オプションを含んでかまわないオプションファイルを含むディレクトリです。
システム管理者はオプションファイルをこのディレクトリ中に作成することにより、
非特権ユーザが相手の認証を要さずにダイヤルアウト可能とします。
しかし、信頼関係のある相手のみ可能です。
.TP
.B /etc/ppp/ppp.deny
システムのパスワードによる PAP 認証を使わせないユーザを記述します。
.TP
.B /etc/ppp/ppp.shells
システムのパスワードによる PAP 認証ログインのために適切なシェルを
記述します。
.SH 関連項目
.IR chat(8),
.IR ppp(8)
.TP
.B RFC1144
Jacobson, V.
\fICompressing TCP/IP headers for low-speed serial links.\fR
February 1990.
.TP
.B RFC1321
Rivest, R.
.I The MD5 Message-Digest Algorithm.
April 1992.
.TP
.B RFC1332
McGregor, G.
.I PPP Internet Protocol Control Protocol (IPCP).
May 1992.
.TP
.B RFC1334
Lloyd, B.; Simpson, W.A.
.I PPP authentication protocols.
October 1992.
.TP
.B RFC1661
Simpson, W.A.
.I The Point\-to\-Point Protocol (PPP).
July 1994.
.TP
.B RFC1662
Simpson, W.A.
.I PPP in HDLC-like Framing.
July 1994.
.SH 注意
以下のシグナルが
pppd
に送られた場合、ここで説明する効果が得られます。
.TP
.B SIGINT, SIGTERM
これらのシグナルを受信した場合、pppd は (LCP をクローズすることで)
リンクを切断し、シリアルデバイスの設定を復元して、プログラムを終了します。
.TP
.B SIGHUP
物理層のリンク切断を指示します。pppd はシリアルデバイスの設定を復元し、
シリアルデバイスを閉じます。
\fIpersist\fR または \fIdemand\fR のオプションが指定されている場合、pppd は
シリアルデバイスを再オープンし、(抑止期間を置いてから)
新しい接続を始めようとします。
そうでない場合は、pppd は終了します。
このシグナルを抑止期間に受けると、pppd は抑止期間をすぐに終了します。
.TP
.B SIGUSR1
このシグナルは、\fIdebug\fR オプションの状態を反転します。
.TP
.B SIGUSR2
このシグナルは、
pppd
に圧縮に付いて再びネゴシエートさせます。
これは、致命的な伸長エラーの結果として
圧縮を止めた後で、再び圧縮を有効にするために便利です。
(致命的な伸長エラーは一般にどちらかの実装上の
バグを示します。)
.SH 作者
Paul Mackerras (Paul.Mackerras@cs.anu.edu.au) が、
Drew Perkins,
Brad Clements,
Karl Fox,
Greg Christy,
Brad Parker
の作業を元に作成しました。