【Network】フォワーディングされている

【現象】
ssh通信 にてサーバにアクセスしようとしたが、なぜかつながらない
切り分けとしてサーバの全インターフェースで “tcpdump” をした時に以下の通信がされていた

PC → SV-eth1 → SV-eth0 → PC
PC → SV-eth0 → SV-eth0 → PC

eth1アクセス 時に戻りのルートが別インターフェースから出ていってる
つまり、サーバでフォワーディングしているよう
eth0 アクセス 時はなぜか、同じインターフェースから戻っている

共通している事は、必ずデフォルトゲートウェイ指定のインターフェースから戻っている

因みにこの時、ssh通信で eth0 にアクセスできるが eth1 にはアクセスできない

【調査対象】

1.フォワーディングされているわけ
2.eth1 に ssh通信 が出来ないわけ

それぞれ順番に対応していく

【環境】

昔のことなのでうろ覚え・・・

PC:不明 OS:WindowsXP
SV:不明 OS:Red Hat Enterprise Linux ver5.x
SW:Catalyst3560 IOS:不明

forword(図)

※L3は各ポートでVLANを切り、VLAN同士でルーティングさせている

【要件/状況】

・デフォルトゲートウェイの設定ははずせない
・L3SW から切り分けは行えない

【設定】

# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.10.0 192.168.1.1 255.0.0.0 UG 0 0 0 eth1
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
~省略~

# vi /proc/sys/net/ipv4/ip_forward
0

【対応】

 1.戻りが eth0(デフォルトゲートウェイ経由) になってしまうので、eth1 にもデフォルトゲートウェイを設定する

  ①route add default gw 192.168.1.1 eth1

  ②# route -n

  Kernel IP routing table
  Destination Gateway Genmask Flags Metric Ref Use Iface
  10.10.10.0 192.168.1.1 255.0.0.0 UG 0 0 0 eth1
  0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
  0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth1
  ~省略~

  → ”tcpdump -i ethx” にて確認
  なぜか以下のように両方のインターフェースからフォワーディングされるようになった
  PC → SV-eth1 → SV-eth0 → PC

  PC → SV-eth0 → SV-eth1 → PC

  尚、ssh通信 は eth0 にも出来なくなった

  ③設定を元に戻す
  route add default gw 192.168.1.1

 2.デフォルトゲートウェイのルートよりスタティックルートで対応させる

 → すでにルートが入っている

 Destination Gateway Genmask Flags Metric Ref Use Iface
 10.10.10.0 192.168.1.1 255.0.0.0 UG 0 0 0 eth1

 3.ルート情報の優先度について確認

 → Metric値 は全て同じなので、上位にあるものが優先される

 Destination Gateway Genmask Flags Metric Ref Use Iface
 10.10.10.0 192.168.1.1 255.0.0.0 UG 0 0 0 eth1 
 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

 4.”ifdown eth0″ にて eth0 を停止する

 → ssh 通信はなぜか成功
 PC → SV-eth1 → SV-eth1 → PC

【結論】

本現象は昔に対応したものなので、詳細な情報は思い出せない
実はこの環境は、客先にあるものなので障害切り分けはほとんどできなかった
自社にて「VMware」を使った検証環境での確認が手一杯だった(しかも、他人の環境)

自社では上記の環境はすべて Linux系 の OS ですべて対応 (PC、SV、L3SW)
そのせいかもしれないが、フォワーディングは改善されなかったが、ssh通信 ができないことはなかった

Ciscoスイッチ は
「ポートに VLAN を割り当てると、例えSRCアドレスでも、その割り当てた VLANが所属するネットワーク以外のパケットは破棄」
しているんじゃないかと・・・

そうじゃないと VLAN の意味をなさないわけだし・・・

結局、この環境以下のような仕様となった
・ssh通信 は eth0 のみ
・フォワーディングについては改善しなかった

この事象、機会があったら、検証環境を作り再現させたい

タイトルとURLをコピーしました