- PR -

network通信障害

投稿者投稿内容
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 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 ]
trapemiya
大ベテラン
会議室デビュー日: 2005/07/30
投稿数: 102
投稿日時: 2005-09-10 09:47
hubの障害は考えられませんでしょうか?
・hubの電源を入れ直す。
・hubのポートを変えてみる。
などは試されましたでしょうか?
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2005-09-10 10:00
trapemiya様

レスありがとうございます。
ケーブルを交換+Hubの違うポートに指しなおしてみましたが、
現状変化は見られないようです・・。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 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 を判断しているのが、自機なのか、上位ルータなのかを切り分ける。

…ちょっととりとめがないですが。
以上、ご参考まで。
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2005-09-10 11:45
angelさま

アドバイスありがとうございます。
本日これより仕事が入ってしまっていますので、
本日夜に再び確認してみますので、後ほど作業の結果をご報告させていただきます。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-09-10 16:27
こんにちわ.
引用:

RUHAKOさんの書き込み (2005-09-10 04:53) より:

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 -P がふたつ書かれていますが,誤記ですか?
できれば iptables -L の結果を転記されたほうがよろしいかと.
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 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 ]
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 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周りの設定ももう一度見直しが必要だと思いますので、
確認してみます。

スキルアップ/キャリアアップ(JOB@IT)