
すでにご説明したように, /usr/sbin/sliplogin のコンフィグレー
ションのために, 3種類のファイルが/etc/sliphome ディレクトリに
あります (sliplogin についての実際のマニュアルページとしては
sliplogin(8) を参照のこと) . ファイル slip.hosts は 
SLIPユーザおよびその IPアドレスを決めます. 通常, ファイル 
slip.login は, SLIPインタフェースを設定することだけに使
用します. slip.logout はオプションのファイルで,
slip.login で設定した内容を, シリアル接続が終了した時点で解除
するときに使用します. 
/etc/sliphome/slip.hosts には, 少なくとも 4 つの項目をホワイ
トスペース (スペースやタブ) で区切って指定します. 
ホスト名をローカルおよびリモートのアドレスとして記述できます (IPアドレ
スの決定は, /etc/host.conf の指定内容に応じて,
/etc/hosts か DNSのいずれかによって決定される) . また, ネット
ワークマスクも /etc/networks ファイルに記述された名前を参照す
ることで, 指定することもできると思います. これまでの例としてあげたシス
テムでの /etc/sliphome/slip.hosts は次のようになります. 
----- begin /etc/sliphome/slip.hosts -----
#
# login local-addr      remote-addr     mask            opt1    opt2 
#                                               (normal,compress,noicmp)
#
Shelmerg  dc-slip       sl-helmerg      0xfffffc00      autocomp
----- end /etc/sliphome/slip.hosts ------
それぞれの行の最後には, 次に示すオプションを一つ以上指定できます.
normal - ヘッダを圧縮しないcompress - ヘッダを圧縮するautocomp - リモートの設定に応じて, ヘッダを圧縮するnoicmp - ICMPパケットを禁止する (pingパケットは送出されず, バンド幅を占有しない)なお, FreeBSDバージョン2の初期リリースの sliplogin は, 旧 
FreeBSD 1.xでは有効であった上記のオプションを無視していましたので,
normal, compress, autocomp, そして noicmp などのオ
プションは FreeBSD 2.2でサポートされるまでは効果がありませんでした (た
だしこれらのフラグを使うためには slip.login スクリプトへ記述する
必要がある) . 
SLIPリンクでのローカルとリモート向けのアドレスの選び方は, TCP/IPサブネッ トを専用に割り当てるか, または「プロキシ ARP」を SLIPサーバへ用いるかによっ て違います (プロキシ ARPという用語のここでの使い方は本来のものではない が, 説明のためにこの用語を使う) . もし, どちらの方式を選ぶべきか判らな かったり, IPアドレスの割り当て方が不明のときには, 上述の 前提 の節で紹介した TCP/IP関連書籍を参考になさるか, またはあなたの IPネットワークを管理している方に相談なさるとよいでしょう.
独立したサブネットを SLIPクライアントへ適用するときには, すでに割り当
てられている IPネットワーク番号の範囲からサブネット番号を割り当て, 同
時にそのサブネットの範囲内で有効な IPアドレスを SLIPクライアントの IP
番号として割り当てる必要があります. さらに, この SLIPサブネットから
SLIPサーバを経由して最も近い IPルータへの経路を静的に設定するか, また
は gated を FreeBSDによる SLIPサーバへインストールして, 適当
なルーティングプロトコルを使って, SLIPサーバ経由のサブネットへの経路情
報をルータ群へ通知できるように設定するか, のいずれかをおこなう必要がありま
す. 
「プロキシ ARP」方式を採用するときには, SLIPクライアント向けの IPアドレス
として, SLIPサーバのサブネットの範囲から選んで割り当てるとともに,
arp(8) コマンドを使うために /etc/sliphome/slip.login 
と/etc/sliphome/slip.logout のスクリプトを修正して, SLIPサー
バにおける ARPテーブル内のプロキシ ARPエントリへ反映させる必要がありま
す. 
ファイル /etc/sliphome/slip.login の一般的な内容は次にように
なります. 
----- begin /etc/sliphome/slip.login -----
#!/bin/sh -
#
#	@(#)slip.login  5.1 (Berkeley) 7/1/90
#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
----- end /etc/sliphome/slip.login -----
この slip.login ファイルの役目は単に, SLIPインタフェースにつ
いてのローカルとリモートのアドレス, およびそのネットワークマスクを 
ifconfig コマンドで設定することです. 
もしプロキシ ARP方式を採用する (SLIPクライアントへ独立したサブネットを
使わない) ときには, ファイル /etc/sliphome/slip.login は次の
ような内容になります. 
----- begin /etc/sliphome/slip.login for "proxy ARP" -----
#!/bin/sh -
#
#	@(#)slip.login  5.1 (Berkeley) 7/1/90
#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6 
# Answer ARP requests for the SLIP client with our Ethernet addr
/usr/sbin/arp -s $5 00:11:22:33:44:55 pub
----- end /etc/sliphome/slip.login for "proxy ARP" -----
この slip.login で追加された行 
arp -s $5 00:11:22:33:44:55 pub は,
SLIPサーバにおける ARPテーブルへ新たなエントリを作ります. SLIPサーバ
は, この ARPエントリが作られると, SLIPクライアントの IPアドレスと話し
たい他の IPノードが要求してきたときにはいつも, SLIPサーバ
の Ethernet MACアドレスを返すようになります. 
上記の例を実際に流用なさるときには, 例にある Ethernet MACアドレス 
(00:11:22:33:44:55) を, あなたのシステムの実際のEthernetカー
ドの MACアドレスと置き換えなければ「プロキシ ARP」はうまく動作しません! 
SLIPサーバの Ethernet MACアドレスを調べるには netstat -i コマ
ンドを利用してください. 実行結果の第2行は次のようなものになるはずです.
ed0   1500  <Link>0.2.c1.28.5f.4a         191923     0   129457     0   116
                  ^^^^^^^^^^^^^^
この例での Ethernet MACアドレスは 00:02:c1:28:5f:4a であると
読みます. なお arp(8) における MACアドレスの指定に際しては, 
コマンド netstat -i が付けた Ethernet MACアドレスのピリオド記
号をコロン記号と置き換え, かつ単一桁の 16 進数にはゼロを先頭に加える必
要があります. この指定についての正確な情報は arp(8) を参照く
ださい. 
ご注意いただきたいのは, /etc/sliphome/slip.login と
/etc/sliphome/slip.logout を作成したならば, ファイル属性の実
行ビット (すなわち 
chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout) を
設定しなければならないということです. さもなければ sliplogin が
うまく実行されません. 
ファイル /etc/sliphome/slip.logout は必ずしも必要なものではあ
りません (ただし「プロキシ ARP」を利用する場合を除く) . もしこのファイルを
作成するときには, 次に示す標準的な slip.logout スクリプト例を
参考にしてください.
----- begin /etc/sliphome/slip.logout -----
#!/bin/sh -
#
#	slip.logout
#
# logout file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
----- end /etc/sliphome/slip.logout -----
「プロキシ ARP」を利用する場合, この /etc/sliphome/slip.logout を
使って, 特定の SLIPクライアント向けの ARPエントリを削除したくなるよう
なときがあります. 
----- begin /etc/sliphome/slip.logout for "proxy ARP" -----
#!/bin/sh -
#
#       @(#)slip.logout
#
# logout file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
# Quit answering ARP requests for the SLIP client
/usr/sbin/arp -d $5
----- end /etc/sliphome/slip.logout for "proxy ARP" -----
コマンド arp -d $5 は, SLIPクライアントがログインした
際に, 「プロキシ ARP」を使った slip.login によって追加され
た ARPエントリを削除します.
これによって, 繰り返して利用することができるわけです. 必ず,
/etc/sliphome/slip.logout を作成した後に, 実行ビットを設定し
てください ( chmod 755 /etc/sliphome/slip.logout ) . 
 www@freebsd.org
  www@freebsd.org