- - PR -
network通信障害
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-10 04:53
いつも楽しく観覧させて頂いております。
今回は当方で発生しているネットワークの障害について お伺いさせてもらいます、よろしくお願いします。 まず、当方で考えられる原因として以下を想定しましたが、 現在未だに正常には戻っておりません。 ・iptablesの設定ミス ・ルーティング設定ミス ・その他(思い浮かびません(汗)) まず、こちらのネットワーク構成として、非常にシンプルなのですが 以下のようになっております。 @メールサーバ|------->Hub#Aに接続 ADNSサーバー|-------->Hub#Aに接続 BPC|----------------->Hub#Aに接続 CHub#A|-------------->プロバイダーサブネットワークに接続 ※現在@ーBは、プロキシ等は介さずに、 グローバルIPが振られており、Cのハブを通して、 直接インターネットに繋がっています。(この構成は後に変更予定ですが・・) また、@、BはAのDNSを使用して名前解決しています。 現在確認が取れている事として ・AはインターネットにPingが通る ・Aは@、BにPingが通る ・Bは@、AにPingが通る ・BはインターネットにPingが通る ・BはAを使用して名前解決(digコマンド)が出来る ・@はA、Bにpingが通る ・@はAを使用して名前解決(dig/nslookup)が出来る --問題点-- ・@は外部にpingが通らない ・@は外部よりどのポートに対しても通信不可能になっている 以上をまとめますと、ハブを介した隣あった機器同士では、 すべて正常に通信が行われているにも関わらず、 インターネットの外部から見ると、@はまったく見えず、 また、@からインターネットも見えていない状態である。 インターネットの外側より、各ポート(port:80,21,53,24,100 等)をスキャンした場合 まったく通信不能とかえって来ます。 iptablesとしては、以下のようになっております iptables -P INPUT ACCEPT iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -F iptables -P INPUT DROP iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p udp --dport 137 -j ACCEPT iptables -A INPUT -p tcp --dport 137 -j ACCEPT iptables -A INPUT -p udp --dport 138 -j ACCEPT iptables -A INPUT -p tcp --dport 138 -j ACCEPT iptables -A INPUT -p udp --dport 139 -j ACCEPT iptables -A INPUT -p tcp --dport 139 -j ACCEPT iptables -A INPUT -p tcp --dport 445 -j ACCEPT iptables -A INPUT -p udp --dport 445 -j ACCEPT iptables -A INPUT -p udp --dport 123 -j ACCEPT iptables -A INPUT -p tcp --dport 123 -j ACCEPT iptables -A INPUT -p udp --dport 139 -j ACCEPT iptables -A INPUT -p tcp --dport 139 -j ACCEPT iptables的には、通信を許可になっておりますし、 またiptablesをまったくOffにした場合でも通信状況が変わりません。 iprouteとしては以下のようになっております [root]# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default (#1)221.xxx.xxx.177 255.255.255.248 UG 40 0 0 eth1 (#2)221.xxx.xxx.176* 255.255.255.248 U 40 0 0 eth1 192.168.253.0 * 255.255.255.0 U 40 0 0 eth0 127.0.0.0 * 255.0.0.0 U 40 0 0 lo [root]# (#1):プロバイダGWアドレス (#2):ネットワークアドレス @によりnslookupを使用すると [root]# nslookup http://www.google.com Server: 221xXXXxXXX.178ap221.ftth.ucom.ne.jp Address: 221.XXX.XXX.178 Non-authoritative answer: Name: http://www.l.google.com Addresses: 66.102.7.147, 66.102.7.99, 66.102.7.104 Aliases: http://www.google.com [root]# と正常に名前解決が返ってきますが @によりtracerouteコマンドを外部に向けて使用すると [root]# traceroute http://www.google.com traceroute: Warning: http://www.google.com has multiple addresses; using 66.102.7.104 traceroute: findsaddr: Can't find interface [root]# traceroute 66.102.7.104 traceroute: findsaddr: Can't find interface [root]# となりCan't find interfaceというエラーが出てきます。 同様にpingを行っても以下のようなエラーが返ってきます。 [root]# ping http://www.google.com PING http://www.l.google.com (66.102.7.147): 56 data bytes ping: sendto: Network is unreachable ping: wrote http://www.l.google.com 64 chars, ret=-1 ping: sendto: Network is unreachable ping: wrote http://www.l.google.com 64 chars, ret=-1 ping: sendto: Network is unreachable しかし、A、Bまたは、プロバイダ側のGWアドレスには正常にpingが通ります。 現在この奇妙な問題で、ネットワークを使用する事が出来なくなってしまっています。 考えられる限りの事はやったつもりですが、未だ解決に至りません。 どなたか、アドバイス頂ける方がいらっしゃいましたら、よろしくお願い致します。 また、必要な情報がありましたら、ご掲示致しますのでお伝えください。 よろしくお願いいたします。 ------- [root@rainbows root]# ifconfig -a eth1 Link encap:Ethernet HWaddr 00:80:xx:xx:xx:3E inet addr:221.xxx.xxx.180 Bcast:221.xxx.xxx.xxx Mask:255.255.255.248 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:622294 errors:0 dropped:0 overruns:0 frame:0 TX packets:2631 errors:0 dropped:0 overruns:0 carrier:0 collisions:3 txqueuelen:100 Interrupt:28 Base address:0x6000 ------ 動作環境:turbolinux base linux [root]# env PWD=/home/root HOSTNAME=host PS1=[\u@\h \W]\$ USER=root MACHTYPE=powerpc-unknown-linux-gnu MAIL=/var/mail/root SSH_CLIENT=221.xxx.xxx.180 33133 22 LOGNAME=root SHLVL=1 SHELL=/bin/bash HOSTTYPE=powerpc OSTYPE=linux-gnu HOME=/home/root TERM=xterm PATH=/usr/bin:/bin:/usr/sbin:/sbin:/sbin:/usr/sbin:/usr/local/ssl/bin:/usr/local/bin SSH_TTY=/dev/ttyp0 _=/usr/bin/env # PS:長くなってしまいました; [ メッセージ編集済み 編集者: RUHAKO 編集日時 2005-09-10 11:43 ] | ||||
|
投稿日時: 2005-09-10 09:47
hubの障害は考えられませんでしょうか?
・hubの電源を入れ直す。 ・hubのポートを変えてみる。 などは試されましたでしょうか? | ||||
|
投稿日時: 2005-09-10 10:00
trapemiya様
レスありがとうございます。 ケーブルを交換+Hubの違うポートに指しなおしてみましたが、 現状変化は見られないようです・・。 | ||||
|
投稿日時: 2005-09-10 10:01
おはようございます。
状況を拝見するに、確かに ?? となりそうですね。 ちょっと気になる点を幾つか。 1. netstat -r の出力に、eth0, eth1 が現れるようですが、インタフェースが 2つあるのでしょうか? だとすると、その状態は? 2. お互いの機器のルーティングテーブル ( netstat -r や ip route list ) の比較はどうですか? 3. HUBの接続ポートや、機器の IPアドレスを交換してみて、それでも同様の症状になりますか? ( 名前解決の影響を排除するため、ドメイン名は使用せずに疎通を確認する ) 4. LANのネゴシエーションはどうでしょうか? ( mii-tools の出力結果をそれぞれ比べる ) ※ 10/100 や Half/Full Duplex の状況次第で、色々障害が出うるようなので… 5. ping を打つときの tcpdump の出力はどうですか? ( 全インタフェース分 tcpdump -vvvi [IF名] を走らせておく ) → unreachable を判断しているのが、自機なのか、上位ルータなのかを切り分ける。 …ちょっととりとめがないですが。 以上、ご参考まで。 | ||||
|
投稿日時: 2005-09-10 11:45
angelさま
アドバイスありがとうございます。 本日これより仕事が入ってしまっていますので、 本日夜に再び確認してみますので、後ほど作業の結果をご報告させていただきます。 | ||||
|
投稿日時: 2005-09-10 16:27
こんにちわ.
iptables -P がふたつ書かれていますが,誤記ですか? できれば iptables -L の結果を転記されたほうがよろしいかと. | ||||
|
投稿日時: 2005-09-11 01:37
Angelさま
以下に内容をまとめて見ました。 箇条書きのようになってしまい失礼いたします。 1. netstat -r の出力に、eth0, eth1 が現れるようですが、インタフェースが 2つあるのでしょうか? だとすると、その状態は? 現在外部との通信用に使ってるグローバルインターフェイスはeth1になり、別にローカル用に192.168アドレスを振ってあるインターフェイスがeth0になります。このeth0は現在使用しておらず、将来的には使用する予定のインターフェイスです。しかしながら通信確認を行ったままになっており、インターフェイスの状態はUPになってると思います。 以下にそれぞれの情報を張り付けいたします。 << ifconfig -a >> <障害サーバ@ Linux> eth0 Link encap:Ethernet HWaddr 00:80:6D:51:05:3D inet addr:192.168.253.254 Bcast:192.168.253.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:83 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:9 Base address:0xffe0 eth1 Link encap:Ethernet HWaddr 00:80:6D:51:05:3E inet addr:221.xxx.xxx.180 Bcast:221.xxx.xxx.183 Mask:255.255.255.248 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:249425 errors:0 dropped:0 overruns:0 frame:0 TX packets:197 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:28 Base address:0x6000 ※ また、eth0の状態をdownにしても、通信障害は改善されませんでした。 2. お互いの機器のルーティングテーブル ( netstat -r や ip route list ) の比較はどうですか? 以下がそれぞれの情報ですが、基本的に設定はまったく別に行ってあります。 << netstat -r >> <障害サーバ@ Linux> [root]# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 221.xxx.xxx.176 * 255.255.255.248 U 40 0 0 eth1 127.0.0.0 * 255.0.0.0 U 40 0 0 lo [root]# <DNSサーバA Solaris> Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 221x@@@x@@@x176.ap221.ftth.xxx.ne.jp apple U 1 50 elxl0 BASE-ADDRESS.MCAST.NET apple U 1 0 elxl0 default 221x@@@x@@@x177.ap221.ftth.xxx.ne.jp UG 1 1020 localhost localhost UH 16 105 lo0 Routing Table: IPv6 Destination/Mask Gateway Flags Ref Use If --------------------------- --------------------------- ----- --- ------ ----- << ip route list >> < 障害サーバ@ Linux > [root]# ip route list 221.xxx.xxx.176/29 dev eth1 proto kernel scope link src 221.xxx.xxx.180 127.0.0.0/8 dev lo scope link [root]# < DNSサーバA Solaris> 3. HUBの接続ポートや、機器の IPアドレスを交換してみて、それでも同様の症状になりますか? ( 名前解決の影響を排除するため、ドメイン名は使用せずに疎通を確認する ) HUBのPort、ケーブルまたIPアドレス変更後、httpアドレス、IPアドレスにて、インターネットにpingを行いましたが、 改善は見られませんでした。 4. LANのネゴシエーションはどうでしょうか? ( mii-tools の出力結果をそれぞれ比べる ) ※ 10/100 や Half/Full Duplex の状況次第で、色々障害が出うるようなので… 全通りで設定してみましたが、やはり変化はありませんでした。 mii-toolsというのを使あ用した事がないのですが、コマンドではこちらの機種に入っていないようでした。 ちょっと調べてみます。 5. ping を打つときの tcpdump の出力はどうですか? ( 全インタフェース分 tcpdump -vvvi [IF名] を走らせておく ) → unreachable を判断しているのが、自機なのか、上位ルータなのかを切り分ける。 tcpdumpを出力して見ました。結果から申し上げますと、 traceroute時に出力されていた、"can't find interface"というエラーそのままの結果になりました。 具体的に言うと、Hubの隣同士へpingを打つ場合は、tcpdumpになにかしら対象アドレスに対してのdumpが出てましたが、 Hubの外(正確には、プロバイダのGWサーバーの外)にpingを打つと、dumpには何も出力されません。 この症状は、ルーター等が、ルーティングテーブルを参照出来ない時、defaultの出口を見つける事が出来ない のと似ていると思うのですが・・・、いかがでしょうか。。 もう一度、ルーティング周りを確認してみます。 [ メッセージ編集済み 編集者: RUHAKO 編集日時 2005-09-11 01:39 ] | ||||
|
投稿日時: 2005-09-11 01:45
Kaz様
当方まだ技術レベルが低い為、誤設定の可能性があります; 一応、iptabelsの出力を張り付けさせて頂きます。 [root]# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere tcp dpt:ftp ACCEPT tcp -- anywhere anywhere tcp dpt:pop3 ACCEPT tcp -- anywhere anywhere tcp dpt:smtp ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ACCEPT all -- anywhere anywhere state RELATED,EST ABLISHED ACCEPT udp -- anywhere anywhere udp dpt:netbios-n s ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-n s ACCEPT udp -- anywhere anywhere udp dpt:netbios-d gm ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-d gm ACCEPT udp -- anywhere anywhere udp dpt:netbios-s sn ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-s sn ACCEPT tcp -- anywhere anywhere tcp dpt:445 ACCEPT udp -- anywhere anywhere udp dpt:445 ACCEPT udp -- anywhere anywhere udp dpt:ntp ACCEPT tcp -- anywhere anywhere tcp dpt:ntp ACCEPT udp -- anywhere anywhere udp dpt:netbios-s sn ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-s sn Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root]# FW周りの設定ももう一度見直しが必要だと思いますので、 確認してみます。 |