Opened 11 years ago

Last modified 11 years ago

#3 new defect

違うNIC宛のパケットが全て特定のNICにのみ届く場合がある

Reported by: mitty Owned by: mitty
Priority: minor Component: network
Keywords: Cc:

Description (last modified by mitty)

  • 全てのNICが同じネットワークセグメントに接続されているノードAに対して、ethNから入ってきたパケットはetnNから返す設定(wiki:TipAndDoc/network/iproute )にしていたとしても、特定のNICにのみパケットが飛んでしまう場合がある
    • NICごとにListenしているサービスが違うときに困る
    • そもそも通信できなくなってしまう場合もある
    • WAN側がdhcpでマルチホーム(同じネットワークセグメントに複数本で違うIP)などの際に困る
    • ARPの問題?違うIPに対して同じMACが返されているのだろうか。

Change History (4)

comment:1 Changed 11 years ago by mitty

  • 一度この状態になるとなかなか直らなかったりする
  • iptables -t nat -j REDIRECTを使っている際に起こりやすい?(未検証)

comment:2 Changed 11 years ago by mitty

  • ノードAにおいてデフォルトGWをip routeで切り替えて、それぞれのNICからGW外へ一度でも通信をすると、ノードA外からノードAのそれぞれのNICへの通信も正常に行えるようになる。
    • GWノードあるいは途中のSwitchingHUB等でのMACアドレスのLearningの問題?

comment:3 Changed 11 years ago by mitty

  • Description modified (diff)

comment:4 Changed 11 years ago by mitty

  • 複数NIC環境でiptables -t nat -j REDIRECTを用いている場合(ex: wiki:TipAndDoc/network/iptables#a13 )、デフォルトGWで無いNICのListenポートに対する外部からのアクセスがデフォルトGWのNICへ届いてしまうことがある。
    • eth1: 8000/tcp -> 443/tcp (redirect)、eth2: 8000/tcp -> 80/tcp (redirect)と設定していたとすると、外部からeth2:8000/tcpにアクセスしたとき、デフォルトGWであるeth1のREDIRECT先である443/tcpのサービスに接続されることがある。
  • 外部から、eth2:80/tcpにREDIRECTを介さず接続すると、その後はeth2:8000/tcpに対しても80/tcpへ正常にREDIRECTされるようになる。
  • しばらく通信を行わないと、元に戻る(443/tcpにREDIRECTされるようになってしまう)
Note: See TracTickets for help on using tickets.