SLATTACH(8)

名称
slattach - シリアルラインをネットワークインタフェースに割り当てる

書式
slattach [-a] [-c] [-e exit-command] [-f] [-h] [-l] [-n] [-z] [-L] [-r redial-command] [-s baudrate] [-u unit-command] [-K keepalive] [-O outfill] [-S unit] ttyname

解説
slattach ユーティリティは、 シリアルポートをネットワークインタフェースに割り当て自分と相手の アドレスを定義するために使用されます。

使用可能なオプションは以下のとおりです:

-a  VJ ヘッダ圧縮を自動許可します。 リンクの相手が VJ ヘッダ圧縮可能な時これを使用し、そうでなければ 標準ヘッダを使用します。

-c  VJ ヘッダ圧縮を指定します。 リンクの両端が VJ ヘッダ圧縮を使用できなければ ならないことに注意してください。

-e exit-command
    slattach が終了する前にシェルで ‘sh -c exit-command’ のように呼び出されるコマンドを指定します。

-f  slattach をバックグラウンドで動かすための daemon() の呼び出しを行いません。

-h  cts/rts によるシリアルのフロー制御を有効にします。 無指定時には、フロー制御はサポートされません。

-l  slip ポートのモデム制御 (CLOCAL) を無効にしキャリア検出を無視します。 無指定時には、キャリアが落ちた時に redial-command を呼び出しますが、 redial-command が指定されていなければ slattach は終了します。

-n  ICMP パケットを捨てます。 slip インタフェースは ICMP レスポンスによるシリアルラインの遅延を防止するよう ICMP パケットを無視します。

-r redial-command
    シリアルラインのキャリアが失われた時にシェルで ‘sh -c redial-command’ のように呼び出されるコマンドを指定します。 redial-command として空白を指定 (すなわち -r "") することで、専用線で外部コマンドを実行せずに再接続を試みます。

-s baudrate
    接続速度を指定します。このオプションが指定されない場合には、 9600 bps になります。

-u unit-command
    シリアルラインが slip に切り替わった時、 “sh -c unit-command old new” が実行されます。 old と new はそれぞれ slip の最後にオープンされた時のユニット番号と現在のコネクションの ユニット番号です。 このユニット番号は 2 つ以上の slip ラインを使用すればリダイヤル後に 変更することが出来ます。 slattach の接続が初めて確立されたとき、 “sh -c unit-command -1 new” が実行されます。 slattach の接続が切れたとき、 “sh -c unit-command old -1” が実行されます。 slattach ユーティリティは、ユニット番号が変更され “-u unit-command” が指定されないとき終了します。

-z  開始時にキャリアにかかわり無く redial-command のリダイヤルを行います。

-L  uucp方式のデバイスロックを行います。 他の uucp ロックを行うプログラムから slattach を開始する場合以外は、このオプションが必要です。 デフォルトではそのようなプログラムの使用を考え uucp ロックをしません。

-K keepalive
    SLIP "keep alive" タイムアウト時間を秒単位で設定します。 FRAME_END がこの時間内に受信できない時、再接続が行われます。 省略時はタイムアウトは設定されません。

-O outfill
    SLIP "out fill" タイムアウト時間を秒単位で設定します。 これにより、相手側の "keep alive" タイムアウトに必要な FRAME_END をこの時間内に送信します。 省略時はタイムアウトは設定されません。

-S unit
    SLIP ユニット番号を直接指定します。 2 つのインタフェースが同じユニット番号にならないかチェックをしないので、 注意が必要です。 省略時は動的にユニット番号を割り当てます。

ttyname
    ttyデバイスの名前を指定します。 ttyname は ‘ttyXX’ か ‘/dev/ttyXX’ の形式で記述します。

本コマンドを用いてシリアルポートをネットワークインタフェースに 割り当てることが出来るのはスーパユーザに限られます。

ネットワークインタフェースの割り当てを解除する場合は、 slattach プロセスを ‘kill -INT’ を使って kill した後に “ifconfig interface-name down” を実行してください。 Interface-name は netstat(1) で見ることが出来ます。

slattach をキャリアを失った時にリダイヤルするように設定するには、 -r redial-command オプションを使って slip サーバに再接続するスクリプトかコマンドを指定します。 スクリプトはサーバにリダイヤルしログインするようなものです。

slipユニット番号が変わった時にネットワークインタフェースを再構成するには、 -u unit-command オプションを使用して ‘sh -c unit-command old new’ のように呼び出す、スクリプトかコマンドを指定します。 old と new は再接続前後の slip ユニット番号です。 同時に 2 つ以上のラインが切断されているときユニット番号が 変わる可能性があります。 最初の再接続に成功した slip が一番小さいユニット番号を得られます。

slattach を kill するには、tty をクローズしてから終了するように ‘kill -INT’ (SIGINT)を使用します。

強制的にリダイヤルするには、 ‘kill -HUP’ を使用し slattach がキャリアを失ったように思わせて ‘sh -c redial-command’ でサーバに再接続させます。

slattach をモデム経由でなく直結で使用する場合、slip ラインのキャリアを無視するために -l オプション付きで実行します。

使用例
    slattach ttyd8
    slattach -s 4800 /dev/ttyd1
    slattach -c -s 38400 /dev/cuaa1
    slattach -r 'kermit -y dial.script >kermit.log 2>&1'

診断
エラーメッセージは /var/log/messages にあります (slattach はデーモンです)。 指定したネットワークインタフェースが終了しない、 要求されたアドレスがみつからない、権限のないユーザが ネットワークインタフェースの設定を変更しようとした、というメッセージは ここに記録されます。 slattach ユーティリティは端末の制御の設定の失敗や、 シグナルハンドラの登録の失敗も記録します。 コネクション開始時とリダイヤル時に tty 名と回線速度が記録され、 終了時に tty 名が記録されます。

関連ファイル
/var/run/slattach.<tty>.pid
    この tty は tty 名 に置き換えられます。 このファイルには slattach のプロセス番号が含まれ、 slattach にシグナルを送るスクリプトで確かめることができます。
/usr/share/examples/slattach/*

関連項目
netstat(1), startslip(1), netintro(4), ifconfig(8), rc(8), sliplogin(8)

歴史
slattach ユーティリティは 4.3BSD ではじめて登場しました。