対象とするUbuntuのバージョン
- 全て
本文書では、Ubuntuでのネットワーク設定が正しくできているかを確認する際に有用な、いくつかのプログラムと、その簡単な使用例を紹介します。(他に有用なツールがあれば加筆にご協力下さい)
ハードウェアが認識できないなどのトラブルは本文書では扱いません。また、Proxyサーバを介する必要がある環境についても、本文書では扱いません。
Alert
以下では、--->8--->8--->8--- (snip) --->8--->8--->8---、は出力を省略し一部だけ表示することを表します。 $で始まる行はコマンドを表します。端末を開いてコマンドを入力して下さい。
ネットワークインターフェースの認識状況について
- ifconfig
- ifconfigコマンドにより、ネットワークインターフェースの情報を確認できます。端末で、
$ ifconfig
を実行して下さい。 下記にいくつかの実行例を示します。--->8--->8--->8--- (snip) --->8--->8--->8--- eth0 Link encap:イーサネット ハードウェアアドレス 00:11:22:33:44:55 inetアドレス:192.168.0.215 ブロードキャスト:192.168.0.255 マスク:255.255.255.0 inet6アドレス: ffee::dcc:bbaa:9988:7766/64 範囲:リンク UP BROADCAST RUNNNING MULTICAST MTU:1500 メトリック:1 RXパケット:669499 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:361071 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:798663310 (798.6 MB) TXバイト:26458791 (26.4 MB) 割り込み:25 ベースアドレス:0xe000 --->8--->8--->8--- (snip) --->8--->8--->8---
この場合、eth0の名前でインターフェースが認識されており、inetアドレス(IPv4アドレス)が192.168.0.215で動作していることがわかります。--->8--->8--->8--- (snip) --->8--->8--->8--- lo Link encap:ローカルループバック inetアドレス:127.0.0.1 マスク:255.0.0.0 inet6アドレス: ::1/128 範囲:ホスト UP LOOPBACK RUNNING MTU:16436 メトリック:1 RXパケット:136 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:136 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:11210 (11.2 KB) TXバイト:11210 (11.2 KB) --->8--->8--->8--- (snip) --->8--->8--->8---
loopbackデバイスです。この項目は必ず表示されているはずです。--->8--->8--->8--- (snip) --->8--->8--->8--- wlan0 Link encap:イーサネット ハードウェアアドレス 00:11:22:33:44:56 inetアドレス:192.168.0.211 ブロードキャスト:192.168.0.255 マスク:255.255.255.0 inet6アドレス: ffff::eee:dddd:cccc:bbbb/64 範囲:リンク UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:18824 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:20740 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:2695101 (2.6 MB) TXバイト:8152855 (8.1 MB) --->8--->8--->8--- (snip) --->8--->8--->8---
この場合、wlan0の名前でインターフェースが認識されており、inetアドレス(IPv4アドレス)が192.168.0.211で動作していることがわかります。ここでデバイスが認識されていないようであれば、ハードウェアの故障、ドライバのバグ、もしくは、ドライバが存在しない、などの理由でインターフェースが認識されていない可能性があります。デバイスは認識されていて、inetアドレスが適切に設定されていない場合は、NetworkManagerなどでネットワーク設定を見直して下さい。
- ifconfigコマンドにより、ネットワークインターフェースの情報を確認できます。端末で、
- iwconfig
- iwconfigコマンドにより、無線ネットワークインターフェースの情報を確認できます。端末で、
$ iwconfig
を実行して下さい。 下記にいくつかの実行例を示します。--->8--->8--->8--- (snip) --->8--->8--->8--- lo no wireless extensions. --->8--->8--->8--- (snip) --->8--->8--->8---
lo(loopbackデバイス)など、無線ではないインターフェースでは、no wireless extensionsと表示されます。wlan0 IEEE 802.11bg ESSID:"HOGE" Mode:Managed Frequency:2.442 GHz Access Point: 00:11:22:33:44:55 Bit Rate=24 Mb/s Tx-Power=17 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on Link Quality=70/70 Signal level=-38 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
無線の接続状況が表示されます。この例ではESSIDが"HOGE"のアクセスポイントに接続しています。無線特有の設定に問題がある場合は、NetworkManagerなどで無線LANの設定を見直して下さい。また、無線のアクセスポイント側の設定も確認して下さい。
- iwconfigコマンドにより、無線ネットワークインターフェースの情報を確認できます。端末で、
名前解決の状況
- dig
- もしdigがインストールされていなければ、下記コードを実行してdnsutilsを導入して下さい。
$ sudo apt-get update $ sudo apt-get install dnsutils
導入後、$ dig target
を実行することで名前解決ができているか確認することができます。下記に例を示します。$ dig forums.ubuntulinux.jp ; <<>> DiG 9.7.3 <<>> forums.ubuntulinux.jp ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7232 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;forums.ubuntulinux.jp. IN A ;; ANSWER SECTION: forums.ubuntulinux.jp. 300 IN A 66.249.8.126 ;; AUTHORITY SECTION: ubuntulinux.jp. 240 IN NS ns1.ubuntulinux.jp. ;; Query time: 302 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sat May 21 15:22:04 2011 ;; MSG SIZE rcvd: 73
- もしdigがインストールされていなければ、下記コードを実行してdnsutilsを導入して下さい。
- nslookup
- もしnslookupがインストールされていなければ、下記コードを実行してdnsutilsを導入して下さい。
$ sudo apt-get update $ sudo apt-get install dnsutils
導入後、$ nslookup target
を実行することで名前解決ができているか確認することができます。下記に例を示します。$ nslookup forums.ubuntulinux.jp Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: forums.ubuntulinux.jp Address: 66.249.8.126
$ nslookup 66.249.8.126 Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: 126.8.249.66.in-addr.arpa name = forums.ubuntulinux.jp. Authoritative answers can be found from:
もし、名前の解決に問題があれば、/etc/resolv.confの内容に問題が無いか確認して下さい。デスクトップ版ではデフォルトではNetworkManagerによる自動生成になっています。併せてNetworkManagerの設定に問題が無いか確認して下さい。
- もしnslookupがインストールされていなければ、下記コードを実行してdnsutilsを導入して下さい。
経路の確認
- pingによる接続確認
ネットワーク的に対象のコンピュータと繋がっているか確認するためのコマンドにpingがあります。端末から、
$ ping -c 4 target
のように入力することで4回のpingをtargetに送信することができます。実行例を下記に示します。$ ping -c 4 forums.ubuntulinux.jp PING forums.ubuntulinux.jp (66.249.8.126) 56(84) bytes of data. 64 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=1 ttl=43 time=198 ms 64 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=2 ttl=43 time=198 ms 64 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=3 ttl=43 time=200 ms 64 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=4 ttl=43 time=198 ms --- forums.ubuntulinux.jp ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 198.301/198.949/200.051/0.806 ms
- pingによるMTUの確認
- 単純なpingでは接続できていても、他のアプリケーションの使用に問題がある場合、MTUが適切な値に設定されているか確認する必要があります。
$ ping -c 4 -M do target -s 1472
のような書式でpingコマンドを実行すると、送信回数4回、パケットサイズ1472バイトで送信されます。オプション詳細は、pingのmanを参照下さい。$ ping -c 4 -M do forums.ubuntulinux.jp -s 1472 PING forums.ubuntulinux.jp (66.249.8.126) 1472(1500) bytes of data. From 192.168.0.210 icmp_seq=1 Frag needed and DF set (mtu = 1454) From yourmachine (192.168.0.215) icmp_seq=2 Frag needed and DF set (mtu = 1454) From yourmachine (192.168.0.215) icmp_seq=2 Frag needed and DF set (mtu = 1454) From yourmachine (192.168.0.215) icmp_seq=2 Frag needed and DF set (mtu = 1454) --- forums.ubuntulinux.jp ping statistics --- 1 packets transmitted, 0 received, +4 errors, 100% packet loss, time 5002ms
- のように表示されたとすると100%パケットロスしており、パケットサイズ1472バイト(MTU=1500)では接続できないことを示しています。
$ ping -c 4 -M do forums.ubuntulinux.jp -s 1426 PING forums.ubuntulinux.jp (66.249.8.126) 1426(1454) bytes of data. 1434 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=1 ttl=43 time=202 ms 1434 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=2 ttl=43 time=201 ms 1434 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=3 ttl=43 time=203 ms 1434 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=4 ttl=43 time=200 ms --- forums.ubuntulinux.jp ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 200.905/202.072/203.288/0.991 ms
のように表示されたとすると、パケットサイズ1426バイト(MTU=1454)で通信ができていることが判ります。 なお、ルータを介しての接続の場合、正常なルータは適切にパケット分割して通信してくれるため、特に気にする必要はありません。
- 単純なpingでは接続できていても、他のアプリケーションの使用に問題がある場合、MTUが適切な値に設定されているか確認する必要があります。
- routeによるゲートウェイの確認
- ゲートウェイが正しく設定されているかを確認するために、routeが役立つでしょう。 実行例を示します。
$ route
とすることで、IP経路テーブルが表示されます。$ route カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース 192.168.0.0 * 255.255.255.0 U 1 0 0 eth0 link-local * 255.255.0.0 U 1000 0 0 eth0 default 192.168.0.210 0.0.0.0 UG 0 0 0 eth0
この例では、デフォルトゲートウェイが、192.168.0.210に設定されていることが判ります。
- ゲートウェイが正しく設定されているかを確認するために、routeが役立つでしょう。 実行例を示します。
- tracerouteによる経路の確認
- 途中の経路になんらかの問題があると疑われる場合は、tracerouteにより経路を確認することが、問題の特定に役立つかも知れません。