以下にしばしば尋ねられる質問と答えをまとめてみました。
可能です。TERM というプログラムを調べてください。 TERM を使えば通常のターミナル接続を経由してネットワーク接続が 可能になります。ただし、使用するアプリケーションプログラムも TERM 用に修正する必要がありますが、よく使われているアプリケー ションにはバイナリやソースが用意されています。より詳しくは TERM-HOWTO をご覧ください。
ネームリゾルバの設定を間違っているのでしょう。「/etc/resolv.conf」 についての章を再読してください。少なくともネームサーバー用のエントリは設 定しておく必要があります。
RFC1597 がプライベートネットワーク用にいくつかの IP アドレスを予 約しています。これらのアドレスを使う限り、事故でインターネットに接続し てデータグラムを流してしまってもトラブルは生じないはずです。予約されて いるアドレスは:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
の部分です。
予約されてるアドレスは Class-A,B,C それぞれに存在しているので、ネット ワークのデザインやサイズを限定する必要はありません。インターネットに接 続しない限り、そのネットワーク内部でアドレスが一意に決まっていれば、他 のグループやネットワークが使っているものと同じアドレスを使っても問題に はなりません。
以下のような 3 種類のオプションがあります。
IP-Masquerade
を使う方法。これが一番直接的で、ローカル
のネットワーク上のマシンにも特別のクライエントは不要なため、最も単純な
方法と言えるでしょう。IP-Masquerade を使うと自動的に IP アドレスが変換
されて、ローカルのネットワーク上にあるマシンを直接インターネットに電話
回線で接続しているマシンのように見せかけることが可能です。
IP-Masquerade には(ICMP を通さないなど)いくつかの制限がありま
すが、完全なファイアウォールゲートウェイよりはずっと軽く実現することが
可能です。
Alan Cox のファイルは以下のサイトにミラーされています。
ftp.Uni-Mainz.DE
/pub/Linux/packages/Net2Debugged
あるいは/また:
ftp.infomagic.com
/pub/mirrors/linux/sunacm
現在では、ネットワークコードとカーネルは同期したバージョンナンバーを持っ ているので、
uname -a
か
cat /proc/version
としてください。
getty 経由でログインしてきた場合、/etc/issue
の内容が
表示されます。telnetd によっては /etc/issue.net
を使っ
ていることもあります。もし /etc/issue
を変えても表示されるメッ
セージが変らなければ /etc/issue.net
を変えてみてください。
このメッセージが出るのは、イーサネットケーブルが外れているかイーサネッ トカードの設定パラメーターが間違っている(I/O アドレス、IRQ など)場合で す。起動時のメッセージをチェックしてカードのイーサネットアドレスが正し く認識されているか確認してください。正しく認識されているようなら、他の ハードウェアと IRQ や I/O アドレス、DMA などが衝突していないかチェック してください。例えばサウンドブラスターの工場出荷時の設定では多くのネッ トワークカードと IRQ や i/o ポートが衝突しています。
恐らくイーサネットカードの設定が間違っているのでしょう。
/usr/src/linux/drivers/net/CONFIG
を再チェックしてみてくださ
い。もしこの設定に問題が無ければ多分ケーブルの問題でしょう。ケーブル類
が確実に接続しているかも確認してください。
カーネルよりも古いバージョンの route コマンドを使っているようなので新 しいバージョンの route コマンドにアップグレードしてください。最新のプ ログラムを入手するには「ネットワーク設定用ツール」の章をご覧ください。
このメッセージはあなたのマシンか経由しているマシンから ping しているマシンや接続しようとしているマシンへの経路が見付からない時に表 示されます。試したホスト全てでこのメッセージが出る場合、デフォルト・ルー トの設定が間違っているのでしょう。「経路制御(routing)」の項を再読して ください。
これは恐らく経路制御に関する問題です。「経路制御(routing)」の項 を再読してください。経路制御の部分に問題が無ければ、接続しようとしてい るホストからあなたのマシンへの経路が正しく設定されているかを確認してく ださい。電話回線経由の接続の場合、これが最もよくある原因で、接続先のサー バーマシンで gated や routed といった経路制御用のプ ログラムがちゃんと起動しているか、あるいは `代理(proxy) arp' の設定がなされているか確認してください。これらが正しく設定されていない と、リモートホストへデータグラムを送ることはできるもののあなたのマシン へデータグラムを返送することができません。
IPX-HOWTO を読んでください。この HOWTO には NFS のプログラ ムが無くても Novell のファイルサーバーを Linux マシンから使う方法につい て書いてあります。
いくつかのベンダー(Sun をはじめ)では、 UDP のチェックサム機能を持たな い NFS を持つマシンをリリースしていました。これはイーサネットの性能を 上げるには貢献しますが、その他にとっては致命的です。ほとんどのファイル サーバーでは UDP チェックサム機能が利用可能ですし、Linux も pl13 以降 ではデフォルトでこの機能を使用しています。しかし、サーバーとクライエン トの双方でこの機能が使えないと意味がありません、、、
Linux の NFS サーバーはデフォルトでリードオンリーの属性になりま
す。詳細については `exports' と nfsd のマニュアルを
ご覧ください。Linux 以外のサーバーでは /etc/exports
を修正す
る必要があります。
実際のところ、dip が SLIP サーバーに接続して SLIP 機能を果す
ためには、サーバーの IP アドレスを指定する必要はありません。
remote オプションを指定すれば、dip は自動的に
ifconfig と route コマンドを実行してくれます。もし本
当にサーバーのアドレスが不明で、それを知る方法も無いなら、 Peter
D. Junger <Junger@samsara.law.cwru.edu>
が教えてくれた方法が役
に立ちます。彼によると、dip スクリプトが利用するリモートアド
レスにも自分のアドレスを指定するんだそうです。これはちょっと醜い方法で
すが、実際には SLIP でやりとりするデータグラムにはサーバーのアドレスは不
要なので、ちゃんと動きます。
dip は経路制御表(routing table)を書き変えるなどの作業のために ルートの setuid しておく必要があります。Uri Blumenthal によると、以下 の方法が可能だそうです。
/etc/group
に dip というグループを作り、
dip を使って接続したいユーザーを全て登録する。
# chown root.dip /usr/bin/dip # chmod u=rx,g=x,o= /usr/bin/dip # chmod u+s /usr/bin/dip
電話回線経由で接続してくるユーザーについては /etc/diphosts
ファ
イルで何ができるかを制限することができます。
DIP: tty: set_disc(1): Invalid argument
' というメッセー
ジが出るのですが?多分 SLIP をサポートするようにカーネルをコンパイルしていない
のでしょう。/proc/net/dev
を調べて sl0
や
sl1
というデバイスがあるか確認してみてください。あるいは
dip のバージョンがすごく古い場合もこのエラーが出る可能性があ
ります。その場合は dip をバージョンアップしましょう。
wrong data byte #17...
' と
いうエラーになります。多分、モデムが XON/XOFF フロー制御を使うように設定されているいるのでしょ う。SLIP を使うには 8 ビットクリーンでなければいけませんので、XON/XOFF を使ったフロー制御は使えません。それ以外の点でも、ハードウェアを用いた フロー制御の方が優れているので、そちらを使うように設定してください。
多分、サーバーとあなたのマシンの間でヘッダの圧縮機能を使うかどうかを正 しく設定できてないのでしょう。両者の間で圧縮機能を使うか否かを再度確認 してみてください。両者で同じ設定になっていなければなりません。
dip を使って接続したなら `dip -k' とすれば切断します。ダメな ら、動いている dip のプロセスを殺してください。dip が死ねば、回線は切断します。プロセスを正しく殺すには、以下の手順に従い ます。dip のプロセス番号を <pid> とすると、 `kill <pid>', `kill -hup <pid>' それでもだめな ら `kill -9 <pid>' とします。この方法は、他の unix のプロ セスを殺すために使えるので覚えておけばいいでしょう。
古いバージョンのネットワーク用のソフトでは、圧縮されたパケット数を overrun したパケット数と誤認します。この種のエラーは新しいカーネルとネッ トワーク用のソフトを使っている場合は起きないはずです。もしそれでもこの エラーが発生する場合、マシンがデータを受けとる速度についていけないので しょう。もしシリアルカードが 16550AFN UART チップを使っていない場合、 使っているものにアップグレードすれば解決するかも知れません。16450 や 8250 チップでは一文字を受けとる度に割り込みが発生するので CPU にはかな りの負荷になります。16550AFN は 16 バイト分の FIFO があるので FIFO が 一杯になりかけた時か、新しいデータを待っている時しか割り込みが発生せず、 同じ量のデータを受信する場合にも発生する割り込みの数はずっと少くなり、 シリアルポートに割く CPU パワーもずっと少なくてすみます。複数のシリア ルポートを使っている場合は 16550AFN UART チップのカードにバージョンアッ プすることが必須でしょう。
はい、可能です。例えば 3 台のマシンを相互に接続したいような場合、 一台のマシンに二つの SLIP インタフェースを用意して接続するでしょう。二 つめのインタフェースも一つ目と同様に設定します。二つ目のインタフェース には最初のものとは異なる IP アドレスが必要なことに注意してください。き ちんと使うためには経路制御(routing)に関する知識が必要ですが、ちゃんと 動くはずです。
カーネルに組みこまれた SLIP はデフォルトで最大 4 つまでの SLIP デバイ
スが定義されています。この定義は
/usr/src/linux/drivers/net/slip.h
にあるので、もし 16 まで増
したければ #define SL_NRUNIT
を 4 から 16 にします。加えて
/usr/src/linux/drivers/net/Space.c
にも sl4
,
sl5
といったデバイスを追加しておく必要があります。既存のデバ
イスの定義をコピーして修正するのが簡単でしょう。修正後はカーネルを再コ
ンパイルすることを忘れないように。
PPP についての質問は PPP-HOWTO をご覧ください。そこには Al Longyear が集めた PPP に関する質問と答の一 覧が用意されています。