DNS が普及した現在では /etc/hosts は存在しなくても動きますが、DNS のトラブル時やシステム起動時に DNS にアクセスできない段階での名前解決、あるいは敢えて DNS を導入するまでもない小規模な LAN などのために残されています。無用なトラブルを避けるためにも、localhost と固定 IP を持っているホストなら、自ホストなどの情報を /etc/hosts に書いておいた方がよいでしょう。
127.0.0.1 localhost
| 192.168.0.1 cosmos.omoikane.co.jp cosmos
| 192.168.0.2 kakitsubata.omoikane.co.jp kakitsubata
| 192.168.0.3 syakuyaku.omoikane.co.jp syakuyaku
|
|
|
|
/etc/resolv.conf は DNS に関連する情報を設定します。DHCP や PPxP などを使っている場合は、システムが適切に /etc/resolv.conf を書き出してくれます。
search omoikane.co.jp, debian.org
| nameserver 192.168.0.1
| nameserver 192.168.0.2
|
|
|
|
search 行には、ドメイン名が省略した場合に検索するドメイン名を "," で区切って指定します。この例では、ホスト名を cosmos と指定すると cosmos.omoikane.co.jp,cosmos.debian.org の順に DNS サーバに問い合わせます。ただし、アクセスできないドメイン名を search に指定すると処理が止まってしまうので要注意です。
nameserver 行には、レゾルバが問い合わせをする DNS サーバの IP アドレスを指定します。複数の DNS サーバを使う場合は、上の例のように複数の nameserver 行を書けば、書いた順に利用されます。
/etc/resolv.conf がない場合は、search に自分のドメイン、nameserver にもループバックで自分 127.0.0.1 を指定したものと見なされます。
ルーティングテーブルの設定は route で行います。
ただし、マシンをルータとして使わなければ、/etc/network/interfaces や /etc/pcmcia/network.opts に基づいて自動的に設定されるデフォルトゲートウェイだけでルーティングの設定は十分です。
よって、ここでは route でルーティングテーブルを確認する方法だけを簡単に説明します。
|
# route
| Kernel IP routing table
| Destination Gateway Genmask …略… Iface
| 192.168.0.0 * 255.255.255.0 …略… eth0
| 0.0.0.0 cosmos.omoikan 0.0.0.0 …略… eth0
|
|
|
この例では、宛先が自分のネットワーク 192.168.0.0/24 ならば eth0 から直接送信し、それ以外は cosmos に eth0 からパケットを送る設定になっています。つまり、cosmos がデフォルトゲートウェイです。
名前解決できないホストへのルーティングがあると、route は表示の途中で止まってしまいます。このような場合は、route -n と指定してください。
次に、IP レベルでの接続を確かめるため、「自分以外の」手近な稼働中のマシンに ping を打ちます。放っておくと止まりませんので、適当なところで[Ctrl]+[C]を押して終了させます。
|
# ping cosmos
| PING cosmos.omoikane.co.jp (192.168.0.1): 56 data bytes
| 64 bytes from 192.168.0.1: icmp_seq=0 ttl=255 time=0.4 ms
| 64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=0.6 ms
| 【[Ctrl]+[C]を押す】
| --- cosmos.omoikane.co.jp ping statistics ---
| 2 packets transmitted, 2 packets received, 0% packet loss
| round-trip min/avg/max = 0.4/0.5/0.6 ms
|
|
|
通常、同一 LAN 内のマシンに ping する場合は 10ms 以内に全てのパケットが帰ってきます。次のように、"Network is unreachable" の場合は、ルーティングが誤っている場合が多いでしょう。
|
# ping cosmos
| PING cosmos.omoikane.co.jp (192.168.0.1): 56 data bytes
| ping: sendto: Network is unreachable
| ping: wrote 192.168.0.1 64 chars, ret=-1
| ping: sendto: Network is unreachable
| ping: wrote 192.168.0.1 64 chars, ret=-1
| 【[Ctrl]+[C]を押す】
| --- 192.168.0.1 ping statistics ---
| 2 packets transmitted, 0 packets received, 100% packet loss
|
|
|
また、何の応答もない場合は IP の設定が間違っている可能性があります。
管理ツールでは「ネットワーク」-「PPPoE設定」で PPPoE の設定をおこなうことができます。
ここでリンク名を選択して各パラメータを設定してください。
管理ツールでは起動時の設定も可能ですが、ここで例えば dsl-provider という名前でリンクを作成した場合、
|
# /etc/init.d/pppoe-dsl-provider start
| # /etc/init.d/pppoe-dsl-provider stop
|
|
|
といった形で手作業で PPPoE リンクを張ったり停止したりすることができます。
PPPoE (PPP over Ethernet) は、PPP パケットをシリアルポートでなく、イーサネットによる PPP リンクです。この PPPoE の設定は事業者によって若干異なりますが、以下では NTT 東/西日本の FLET'S ADSL を例にして説明します。
まず、PPPoE 接続自体の設定は /etc/ppp/peers/dsl-provider に書きます。pppoe パッケージをインストールした時点で既に雛形はできているので、ここでは最低限変更を加えるべき 3 行について説明します。
user junko@omoikane.co.jp
| pty "pppoe -I eth1 -T 80 -m 1414"
| mtu 1454
|
|
|
|
user 行には、プロバイダから指定された <ユーザ>@<ホスト> 形式のアカウント名を指定します。メールアドレスと似ていますが、無関係なので注意してください。
pty 行には、PPPoE クライアントの pppoe を起動するコマンドラインを書きます。変更が必要なのは、-I に続けて書く ADSL モデムに繋がるネットワークインタフェース名だけです。これ以外のパラメータは上の例のままの値にしておいてください。調整が必要な場合は man pppoe を参照してください。
mtu 行には、MTU サイズをバイト単位で指定します。FLET'S ADSL では 1454 が最適とされていますが、他の DSL 事業者では状況が異なることもあります。DSL 事業者が提供する情報などを参考にして、適切な値を設定してください。
続いて、/etc/ppp/pap-secrets の最後に、プロバイダに接続するために必要なパスワードの情報を追加します。
junko@omoikane.co.jp omoikane.co.jp eplihtayz6aArmdy
|
|
|
|
左から、/etc/ppp/peers/dsl-provider で指定したアカウント名、プロバイダのホスト名、パスワードを指定します。なお、この /etc/ppp/pap-secrets は root 以外には読めないようにパーミッションを付けてください。
さて、続いて /etc/ppp/ppp_on_boot.dsl を編集します。書き換える行は次の 1 行だけで、/etc/ppp/peers/dsl-provider の pty 行と同じように、ADSL モデムの繋がったネットワークインタフェース名を指定します。
さらに、/etc/ppp/ppp_on_boot.dsl を指すように /etc/ppp/ppp_on_boot というシンボリックリンクを作ります。
|
# ln -s /etc/ppp/ppp_on_boot.dsl /etc/ppp/ppp_on_boot
|
|
|
お疲れさまでした。下のようにして PPPoE を起動させれば ADSL/PPPoE 接続が始まります。接続できているかどうかは ifconfig で ppp0 というネットワークインタフェースを確認します。
|
# /etc/init.d/ppp start
| # ifconfig ppp0
| ppp0 Link encap:Point-to-Point Protocol
| inet addr:XX.XX.XX.XX P-t-P:XX.XX.XX.XX Mask:255.255.255.255
| UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1454 Metric:1
| RX packets:11024 errors:0 dropped:0 overruns:0 frame:0
| TX packets:10601 errors:0 dropped:0 overruns:0 carrier:0
| collisions:0 txqueuelen:3
| RX bytes:3231161 (3.0 Mb) TX bytes:1835426 (1.7 Mb)
|
|
|
|