Linuxネットワークのトラブルシューティング
Linux LPIC編。(第5章 ネットワーク)
ネットワーク通信に不具合が発生した場合に利用されるであろうコマンドと対処を順に。
基本的な内容だがLinux OSに限定されない汎用的な知識でもあるので、これを機会に
まとめておく。
[ping]
ネットワーク内のホストやルータに対して接続確認をしてみる。
名前解決に原因があるのか探るため、IPアドレスとホスト名両方で実行する。
ホスト名での実行で失敗した場合は、DNSの稼働状況を調査、/etc/resolv.confの設定
確認、を。
試験範囲外
DNSにおける名前解決の通信にはUDPを使用することにも、一応注意。
まれにルータなどでUDPを通さない設定を行っている場合があり、resolv.conf
の設定が正しくても名前解決のリクエストが届いてない、というケースもあり
うる。ルータやDNSサーバ自身のパケットフィルタリングなどの確認も必要。
[route]
LAN内のホストに接続できてもインターネットに接続出来ない場合、デフォルトゲート
ウェイの指定が誤っている、ルータに問題が発生している、などが考えられる。
routeコマンドでルーティングテーブルを確認してみる(netstat -rでもよい)。
出力結果のDestinationにdefaultの表示がなかったら、インターネットには接続できない。
route add default gw IPアドレス を実行してデフォルトゲートウェイを追加する。
[traceroute / tracepath]
それでもインターネットに接続できない場合、traceroute か tracepathで経路を確認する。
[ifconfig]
元よりネットワークにつながっていることが確認できない場合、ネットワークインター
フェースに問題が発生している可能性がある。ifconfigやnetstatで調べてみる。
ifconfigの結果 “lo” しか表示されない場合、ネットワークインターフェースが無効になっている。
ifup / ifconfig eth0 up などで有効にするとともに、ネットワーク設定を調査する。
ネットワークの問題解決に役立つコマンド及び設定ファイル
各種コマンド
ping / traceroute / tracepath / route / netstat / ifconfig / hostname
host / dig / iptables
iptablesはパケットフィルタリングの設定及び確認に利用。それと試験範囲ではないが、
ethtoolコマンドを利用することもあるんじゃないかな。
設定ファイル
/etc/resolv.conf
/etc/sysconfig/network-scripts/* (Red Hat系)
/etc/network/interfaces (Debian)
/etc/hosts.allow , /etc/hosts.deny
以下は、補足及びレベル1の復習。
最後のhosts.allow、hosts.denyはアクセス制御用の設定ファイルで、inetdと連携して動く
TCP Wrapperがチェックする。
ちなみにTCP Wrapperへは、tcpdデーモン、libwrapライブラリが機能を提供している。
hosts.allowの設定はhosts.denyより先に評価され、hosts.allowで許可された場合はhosts.deny
はチェックされない。このため、hosts.denyですべてのアクセスを禁止した上でhosts.allow
に許可対象のみ記述する方法が一般的。なお、どちらにも記述がないホストは許可される。
書式は「サービス名 : 対象ホスト」となる。ドメインの先頭やIPの末尾が「.」になる
ことに注意。
/etc/hosts.allowの記述例
in.telnetd: .example.jp ←example.jpからのtelnetアクセスを許可
ALL: 192.168.2. ←192.168.2.0/24ネットワークからの全てのアクセスを許可
ALL EXCEPT proftpd: 172.16.0. ←172.16.0.0/24ネットワークからはproftpd
へのアクセス以外すべて許可
sshd: LOCAL ←ローカルネットワーク内からのsshdへのアクセスを許可
ALLはすべてのサービスもしくはホストを示す。
hosts.denyですべてのアクセスを禁止するには「ALL:ALL」となる。
アクセス拒否のログを記録するには以下のようにspawnを使ってコマンドを指定する。
ALL:ALL:spawn logger -t hosts.deny Connection denied form %c
さっき「補足」と書いたけど、hosts.allowあたりはレベル2でもしっかり出てくるようだ。
評価の仕組みがややこしいので、注意、だな。
次回は、ネットワークの章その他もろもろをまとめます。
出典
Linux教科書LPICレベル2(翔泳社)
Linux記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index