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 new -1’ が実行されます。 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), uustat(1,) netintro(4), ifconfig(8), rc(8), sliplogin(8)

歴史
slattach は 4.3BSD ではじめて登場しました。