aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.EUC/handbook/userppp.sgml
blob: edc8a14dda5d2bc91e6267480a71e15f173f13d5 (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
<!-- $FreeBSD$ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.11 -->

<sect> ユーザ PPP のセットアップ <label id="userppp">

<p><em>原作: &a.nik;<newline>
28 July 1995</em>.
<p><em>訳: &a.saeki;<newline>
11 November 1996</em>.

<!--  この FAQ または手引は, <em> ユーザレベル ppp</em> としても
  知られている iijppp を, あなたの FreeBSD 2.0.5 (以降) で
  動くようにすることを目的としています. 

  実は私は PPP の権威ではありません. ですから, このドキュメントが
  協力の成果となってくれるよう望んでいます. 
  わたしは ppp を動かすことができるようになりましたので, 他の人もそれを
  動かすことができるように, 私がやったことの詳細を伝えたいと思います. 
  しかし, 私はいくつかの細かい点について 100% 理解しているわけではありません. 
  そのため, このドキュメントを書くことにより他の人に情報を伝えるとともに, 
  私も何かを学びたいと思っています. 
-->

  <p> ユーザ PPP は FreeBSD 2.0.5-RELEASE において, 
  既存のカーネル実装版の PPP に加えて導入されました. 
  それでは, この新しい PPP が追加された理由となる ppp との違いは何でしょう ?
  マニュアルから引用すると: 

<quote>
       これはユーザプロセス PPP ソフトウェアパッケージです. 通常 PPP は
       (例えば pppd でそうなっているように) カーネルの一部として
       実装されています. そのためデバッグや動作の変更が幾分困難です. 
       しかしこの実装では,  PPP はトンネルデバイスドライバ (tun) の
       補助により, ユーザプロセスとして実装されています. 
</quote>

  これは本質として, 常に PPP デーモンを実行しておかないでも, 
  必要な時に ppp プログラムを実行できるということを意味します. 
  このプログラムはカーネルとのデータ送受のために一般のトンネルデバイスを
  使うことができるため, PPP インターフェースをカーネルに組み込んでおく
  必要がありません. 

  以降では, ユーザ ppp と他の PPP クライアント / サーバソフトウェアとを
  区別する必要がないので, ユーザ ppp を単に ppp とだけ呼びます. 
  特に断らない限り, このセクションのすべてのコマンドは root 権限で
  実行されるべきです. 

  このセクションでアスタリスクマーク (*) のついている部分は不完全です. 
  コメントや提案は歓迎しますので, &a.nik; まで送ってください. 
  私が最初にユーザ ppp を実験していた時に, 価値ある情報の宝庫となってくれた
  Rob Snow &lt;rsnow@txdirect.net&gt に感謝します. 

  訳者注: このユーザ ppp は iij-ppp0.94(beta2?) に由来しています. 
           作者の大野さんは日本の方ですので, iij-ppp には詳細な日本語
           ドキュメントが附属しています. オリジナルアーカイブ
           (iij-ppp0.94beta2.tar.gz) を入手して, そちらを参照されることを
           強くおすすめします. 

<sect1><heading> スタートの前に </heading>

<p> このドキュメントでは, あなたが大体以下のような状況にあると仮定しています:

    PPP 接続の使えるインターネットサービスプロバイダ (ISP) のアカウントを
    持っている. さらに, 接続済みのモデム (または他のデバイス) があり, 
    プロバイダとの接続が可能なように正しく設定されている. 

  以下の情報を手に入れておく必要があるでしょう:

<itemize>
    <item> プロバイダのゲートウェイの IP アドレス
    
    <item> プロバイダのネットマスク設定

    <item> 一つ以上のネームサーバの IP アドレス

    <item> もしプロバイダが固定の IP アドレスとホスト名を割り当ててくれるなら, 
      同様にそれも必要でしょう. そうでなければ, どの IP アドレス範囲から
      割り当てがおこなわれるかを知っておく必要があるでしょう. 
</itemize>

  もしこれらの情報のうち不明なものがあれば, 
  プロバイダに連絡して確認しておいてください. 

  同様に, カーネルを再コンパイルするためのファイルが必要になるかもしれません. 
  これらを手に入れる方法の詳細については <ref id="kernelconfig" name="FreeBSD
  カーネルのコンフィグレーション"> を参照してください. 

  加えて, インターネットへの接続は常時おこなわれているものではなく, 
  そのためネームサーバ (<tt>named(8)</tt>) を立ち上げていないと仮定しています. 

<sect1><heading>ppp 対応カーネルの構築 </heading>

<p> 説明でも述べているように, ``ppp'' はカーネルの ``tun'' デバイスを使います. 
  そのため, このデバイスがカーネルに組み込まれていることの確認が不可欠です. 

  これを確認するためには, カーネルコンパイルディレクトリ
  (おそらく /sys/i386/conf) に移動して, カーネルコンフィグレーション
  ファイルを調べます. 以下の行がどこかに含まれている必要があります. 
<tscreen><verb>
pseudo-device     tun           1
</verb></tscreen>
  元々の GENERIC カーネルは標準でこれを含んでいますので, カスタムカーネルを
  インストールしていなければ, 何も変更する必要はありません. 
  あなたのカーネルコンフィグレーションファイルに
  この行が含まれていなければ, この行を追加して
  カーネルの再コンパイルとインストールをおこなう必要があります. 
  この新しいカーネルを使ってブートしてください. 
  カーネルコンフィグレーションの詳細については, 
  <ref id="kernelconfig" name="FreeBSD カーネルのコンフィグレーション">
  を参照してください. 

<sect1><heading>tun デバイスのチェック </heading>

<p> 私は一つの ``tun'' デバイス (tun0) による ppp の経験しかありません. 
  より多くのデバイスを使う場合 (すなわち, カーネルコンフィグレーション
  ファイルで疑似デバイスの行に `1' 以外の数値が指定されている場合), 
  以下のすべての ``tun0'' に対する参照を, あなたが使うデバイスの番号に
  あわせて変更してください. 

  tun0 デバイスが正しく設定されていることを確認する最も簡単な方法は, 
  それを作り直すことです. そのためには, 以下のコマンドを実行します:
<tscreen><verb>
# cd /dev
# ./MAKEDEV tun0
</verb></tscreen>

<sect1><heading>PPP の設定 </heading>

<p> これが問題の核心です. 

  まぎらわしいことに, ユーザ ppp と pppd (カーネルレベルの PPP 実装) は
  ともに, 設定ファイルが /etc/ppp に置かれていると仮定しているようです. 
  しかし, 提供されているサンプル設定ファイルはユーザ ppp 用のものですので, 
  参照のため手元に置いておきます. 
  これをおこなう最も簡単な方法は, 以下の通りです: 
<tscreen><verb>
# cd /etc
# mv ppp ppp.orig
# mkdir ppp
</verb></tscreen>
  ppp を設定するためには, 必要に応じて一〜三つのファイルを
  編集する必要があります. 書き込む内容はプロバイダが静的に IP アドレスを
  割り当てる (すなわち, 一つの IP アドレスが与えられて, 常にそれを使う) か, 
  または動的に IP アドレスを割り当てる (すなわち, PPP セッション毎に
  IP アドレスが異なる可能性がある) かにある程度依存します. 

  しかし, 静的な IP アドレスを使うか動的な IP アドレスを使うかにかかわらず, 
  最初にやらなければならないことがいくつかあります. 

<sect2><heading>resolver(5) の設定 </heading>

<p>リゾルバ (resolver) はネットワーキングシステムの一部分で, IP アドレスと
     ホスト名の変換をおこないます. これは, IP アドレスとホスト名を対応づける
     マップを二つの場所のうちの一つから探すように設定できます. 

     一つめの場所は <tt>/etc/hosts</tt> (<tt>man 5 hosts</tt>) と呼ばれる
     ファイルです. 
     二つめの場所は, 分散データベースである, インターネットドメイン
     ネームサービスです. これに関する議論はこのドキュメントの範囲を
     越えています. 

     リゾルバはマッピングをおこなうシステムコールの集合です. 
     どこからマッピング情報を得ればよいかはあなたが指示しなければなりません. 
     これは <tt>/etc/host.conf</tt> ファイルを編集することでおこないます. 
     混乱する可能性があるので, このファイルを <tt>/etc/hosts.conf</tt> と
     呼んでは <bf> いけません </bf> (余分な ``s'' に注意). 

     このファイルは以下の 2 行を含んでいるはずです. 
<tscreen><verb>
hosts
bind
</verb></tscreen>
     これは, 最初に <tt>/etc/hosts</tt> ファイルを調べ, 
     目的の名前が見つからなければ DNS を引きにいくようリゾルバに指示します. 

     このマシンで ``named'' サービスが走っていないことを確認しておいた方が
     良いでしょう. 
     <tt>/etc/sysconfig</tt> ファイルをチェックして ``namedflags'' の行を探し, 
     以下のようになっていることを確認します. 
<tscreen><verb>
namedflags="NO"
</verb></tscreen>

<sect2><heading>/etc/hosts(5) ファイルの作成 </heading>

<p> このファイルはローカルネットワーク上に存在するマシンの IP アドレスと
     ホスト名を含んでいるはずです. 最低でも ppp を動作させるマシンのエントリを
     含んでいなければなりません. あなたのマシンのホスト名が foo.bar.com で, 
     IP アドレスが 10.0.0.1 であると仮定すると, <tt>/etc/hosts</tt> は
     以下の行を含んでいなければなりません:
<tscreen><verb>
127.0.0.1    localhost
10.0.0.1     foo.bar.com               foo
</verb></tscreen>
     最初の行は別名 ``localhost'' を現在のマシンの同義語として定義しています. 
     固有の IP アドレスによらず, この行の IP アドレスは常に 127.0.0.1 で
     なければなりません. 二つめの行はホスト名 ``foo.bar.com'' 
     (そして別名 ``foo'') を IP アドレス 10.0.0.1 にマップします. 

     もしプロバイダが固定の IP アドレスを割り当ててくれるなら, 
     それを 10.0.0.1 のかわりに使ってください. 

     <!-- XXX <em>(* IP アドレスの割り当てが動的におこなわれる場合は
     どうするべきか ?)</em> -->

<sect2><heading> /etc/resolv.conf ファイルの作成 </heading>

<p><tt>/etc/resolv.conf</tt> はネームサーバをそのマシンで走らせていない場合に
     必要となる特別な情報を含んでいます. これは実際のネームサーバの位置を
     リゾルバルーチンに指示したり, その他いくつかの情報を指定したりします. 

     少なくとも <tt>/etc/resolv.conf</tt> は問い合わせ可能なネームサーバを
     示す 1 行を含んでいる必要があります. 
     これは (ホスト名ではなく) IP アドレスで書かれていなければなりません. 
     私の <tt>/etc/resolv.conf</tt> は以下の行を含んでいます: 
<tscreen><verb>
nameserver 158.152.1.193
nameserver 158.152.1.65
</verb></tscreen>
     これはプロバイダ Demon Internet の二つのネームサーバです. 
     あなたのプロバイダのネームサーバ行をすべて書いてください. 

<sect1><heading>PPP と静的 IP アドレス </heading>

<p> これはおそらく設定が最も楽でしょう. 必要なのは <tt>/etc/ppp</tt> 
    ディレクトリにファイルを三つ作成することだけです. 

    一つめのファイルは <tt>ppp.conf</tt> です. 以下の例と似たような
    ものになるでしょう. ``:'' で終る行は 1 カラム目から始まり, その他の行は
    この例の通りにインデントされるべきだということに注意してください. 

    <tt>/etc/ppp/ppp.conf</tt>
<tscreen><verb>
1     default:
2       set device /dev/cuaa0
3       set speed 9600
4       disable lqr
5       deny lqr
6       set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK
\\dATDT\\T TIMEOUT 40 CONNECT"
7      provider:
8        set phone 01234567890
9        set login "TIMEOUT 10 gin:-BREAK-gin: foo word: bar col: ppp"
10       set timeout 120
11       set ifaddr x.x.x.x y.y.y.y
</verb></tscreen>
    行番号はファイルには含めないでください. これは説明のためのものです. 

<descrip>
<tag/Line 1:/ デフォルトエントリを指定します. このエントリ中のコマンドは
              ppp が起動された時に自動的に実行されます. 

<tag/Line 2:/ モデムが接続されているデバイスを指定します. 
              COM1: は <tt>/dev/cuaa0</tt> で, 
              COM2: は <tt>/dev/cuaa1</tt> です. 

<tag/Line 3:/ 接続速度 (DTE 速度) を設定します. 

<tag/* Lines 4 and 5:/ 私はこれらの行がどんな影響を持つかを正確には知りません. 

  訳者注: LQR 要求および受付を禁止します. 
          これを有効にすると, 定期的に LQR パケットを送って
          相手側が正常に動作しているかどうかを確認します. 
          LQR が使えない場合は LCP ECHO を使って確認をおこないます. 
          LQR の詳細については RFC1333 を参照してください. 

<tag/Line 6:/ ダイアルスクリプトです. ユーザ ppp は <tt>chat(8)</tt> 言語を
              使用します. この言語の仕様についての情報はマニュアルを
              参照してください. 

<tag/Line 7:/ 接続するプロバイダの名前を ``provider'' として指定します. 

<tag/Line 8:/ プロバイダの電話番号を設定します. 電話番号にはスペースを
              含めないでください. 

<tag/Line 9:/ ログインスクリプトを設定します. 
              この例は, 以下のようなログインセッションを持つ
              プロバイダのためのものです. 
<tscreen><verb>
J. Random Provider
login: foo
password: bar
protocol: ppp
</verb></tscreen>
              このスクリプトを必要に応じて書き換える必要があるでしょう. 
              これは <tt>chat(8)</tt> 言語で書かれています. 

<tag/Line 10:/ デフォルトのタイムアウトを (秒数で) 設定します. 
              この例では, 120 秒間通信がおこなわれなければ, 自動的に接続が
              切られます. 

<tag/Line 11:/ インターフェースアドレスを設定します. 文字列 x.x.x.x は
              プロバイダに割り当てられた IP アドレスで置き換えてください. 
              文字列 y.y.y.y はプロバイダによりゲートウェイとして指示された
              IP アドレスで置き換えてください. 
</descrip>

    次に <tt>/etc/ppp/ppp.linkup</tt> ファイルを編集しなければなりません: 
<tscreen><verb>
x.x.x.x:
  add 0 0 HISADDR
</verb></tscreen>
    先ほどと同じように x.x.x.x をあなたの IP アドレスで置き換えます. 
    このファイルは, あなたのマシンからプロバイダ (HISADDR マクロは
    プロバイダのアドレスで自動的に置き換えられます) へのルートを
    デフォルトルートとして自動的に追加するのに使われます. 

    最後に, <tt>/etc/ppp/ppp.secret</tt> ファイルを作成します. 
    同じ ppp システムを使う他のユーザの不正使用を防ぐためパスワードを
    設定します. どれだけの人がこの ppp システムを触るかによって, 
    これを設定したいと思うかもしれません. 

<sect1><heading>PPP と動的 IP 設定 </heading>

<!-- XXX -->
 <p> プロバイダから静的な IP アドレスの割り当てを受けていない場合, 
   ローカル IP アドレスとして 0 を指定することで <tt>ppp</tt> が
   リモートホストとの交渉によりローカルアドレスを決定するように設定できます. 
<tscreen><verb>
set ifaddr 0 0
</verb></tscreen>
    詳細については <tt>ppp(8)</tt> のマニュアルを参照してください. 

<sect1><heading> システムの最終設定 </heading>

<p> これで PPP の設定は終りました. しかし PPP の動作準備が完了するのには
    もう少し必要なことがあります. 
    それはすべて <tt>/etc/sysconfig</tt> ファイルの編集に含まれています. 

    このファイルを上から順に設定していきます. まず ``hostname='' の行が
    設定されていることを確認します. 例えば, 
<tscreen><verb>
hostname=foo.bar.com
</verb></tscreen>
    次に network_interfaces 変数を探し, tun0 デバイスがリストに追加されて
    いることを確認します. 私の設定では以下のようになっています. 
<tscreen><verb>
network_interfaces="lo0 tun0 ep0"
</verb></tscreen>
    他に私はイーサネットカード (ep0) も持っているので, 同様に設定しています. 

    次に tun0 デバイスのための ifconfig 行を追加します. 
    それは以下のようなものになるでしょう. 
<tscreen><verb>
ifconfig_tun0="inet foo.bar.com y.y.y.y netmask 0xffffffff"
</verb></tscreen>
    先ほどと同じように, ``foo.bar.com'' はあなたのホスト名に, 
    y.y.y.y はプロバイダのゲートウェイの IP アドレスに, 0xffffffff は
    (16 進で) プロバイダから指定されたネットマスクに変更します. 
    ネットマスクとしては以下の二つの値がよく用いられます. 
<tscreen><verb>
255.255.255.255 = 0xffffffff
255.255.255.0   = 0xffffff00
</verb></tscreen>
    routed フラグを以下のように ``-s'' に設定します. 
<tscreen><verb>
routedflags=-s
</verb></tscreen>
    ``sendmail_flags'' 行が ``-q'' オプションを含まないようにしておくことは, 
    おそらく, やっておくだけの価値があるでしょう. 
    さもなければ, ネットワークからアドレスを引こうとして sendmail が
    時々発信をおこなってしまうでしょう. 私の sendmail 行は次の通りです. 
<tscreen><verb>
sendmail_flags="-bd"
</verb></tscreen>
    この結果, 私は PPP リンクを立ち上げた時はいつでも以下のようにタイプして, 
    sendmail に mailqueue を調べ直させなければなりません. 
<tscreen><verb>
# /usr/sbin/sendmail -q
</verb></tscreen>
    これが静的 IP アドレスで PPP を動作させるために必要なすべてのはずです. 
    後はマシンをリブートするだけです. スタートアップの間に tun0 デバイスが
    検出され, 以下のような 2 行が表示されると思います. 
<tscreen><verb>
tun0: flags=51<UP,POINTOPOINT,RUNNING> mtu 1500
inet x.x.x.x --> y.y.y.y netmask 0xffffffff 
</verb></tscreen>
    この時点で, ppp は完全に動作するはずです. 以下のうち好きなほうを
    タイプしてください. 
<tscreen><verb>
# ppp
</verb></tscreen>
    その後 PPP セッションを開始させるために ``dial provider'' をタイプします. 
    または, 外向きのトラフィックが発生した時に ppp が自動的にセッションを
    確立してくれるようにしたければ, 以下をタイプします. 
<tscreen><verb>
# ppp -auto provider
</verb></tscreen>
    この行を <tt>/etc/rc.local</tt> ファイルに追加しておくのも良いでしょう.