概要:
セカンダリISPを既存のネットワーク設定に追加するときに(ルーティングを想定している)問題があります。着信トラフィックRouter1
は応答しませんが、ローカルトラフィックと着信スルーRouter0
は正常に機能しています。
Router1
仕事を通じて着信トラフィックを作成しながら、現在は正常に機能しているパーツをどのように維持できますか?
詳細:
以下の図は、状況の基本を示したものです(実際には、各LANにさらに多くのデバイスがありますが、それらは重要ではありません)。
これは状況です:
- 私は2つの内部ネットワークを持っています:
LAN0
is192.168.x.0/24
とLAN1
is192.168.y.0/24
です。どちらも内部トラフィック(たとえばcURLを使用したhttp)に対しては正常に機能します。 LAN0
常にを介して接続されているRouter0
とISP0
しますInternet
。LAN1
常に持っていましたがRouter1
、現在はに接続されISP1
ていInternet
ます。- のみで
LAN0
デフォルトのルートが設定されているマシンはRouter0
、発信トラフィックと着信トラフィックに対して適切に機能します。 - のみで
LAN1
デフォルトのルートが設定されているマシンはRouter1
、発信トラフィックと着信トラフィックに対して適切に機能します。 - 内部トラフィックはオンで
LAN0
、LAN1
常に正常に機能しています。 - 着信トラフィック経由
Router1
のためWindowsB
に正しく到着した:私はからRDPを介してそれに接続することができますWindowsC
。 - 受信トラフィック
Router1
はLinuxB
到着しますが(tcpdumpによる)、curl http://e.f.g.h
フロンLinuxC
がtcpdumpでLinuxB
表示されているため、応答が返されません。
これは、tcpdump出力フォーマットに従って、SYNフラグが設定されているパケットのみを示します。
LinuxB:/tmp/LinuxB.eth1.80 # tcpdump -i eth1 'port 80'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
13:35:19.489779 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 1287047182 ecr 0,sackOK,eol], length 0
13:35:19.788841 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 1287047478 ecr 0,sackOK,eol], length 0
13:35:19.888835 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 1287047578 ecr 0,sackOK,eol], length 0
13:35:19.989412 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 1287047678 ecr 0,sackOK,eol], length 0
13:35:20.089685 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 1287047778 ecr 0,sackOK,eol], length 0
13:35:20.190836 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 1287047877 ecr 0,sackOK,eol], length 0
13:35:20.392123 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 1287048072 ecr 0,sackOK,eol], length 0
13:35:20.693692 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,sackOK,eol], length 0
13:35:21.197162 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,sackOK,eol], length 0
13:35:22.204134 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,sackOK,eol], length 0
13:35:24.115961 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,sackOK,eol], length 0
13:35:27.852374 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,sackOK,eol], length 0
13:35:31.967049 IP i.j.k.l.57512 > 192.168.y.2.http: Flags [S], seq 816356596, win 65535, options [mss 1460,sackOK,eol], length 0
これはLinuxB
ルートテーブルです。
LinuxB:/tmp/LinuxB.eth1.80 # route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.x.1 0.0.0.0 UG 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
link-local * 255.255.0.0 U 0 0 0 eth0
192.168.x.0 * 255.255.255.0 U 0 0 0 eth0
192.168.x.0 * 255.255.255.0 U 0 0 0 eth1
からRDPを介して正常WindowsC
にWindowsB
機能するように接続したので、これは確かにルーティングの問題です。これはWindowsB
ルートテーブルです。
C:\temp>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 0c 29 35 77 e1 ...... AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport
0x3 ...00 0c 29 35 77 eb ...... VMware Accelerated AMD PCNet Adapter - Packet Scheduler Miniport
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.x.1 192.168.x.4 10
0.0.0.0 0.0.0.0 192.168.y.1 192.168.y.4 5
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.x.0 255.255.255.0 192.168.x.4 192.168.x.4 10
192.168.x.4 255.255.255.255 127.0.0.1 127.0.0.1 10
192.168.x.255 255.255.255.255 192.168.x.4 192.168.x.4 10
192.168.y.0 255.255.255.0 192.168.y.4 192.168.y.4 10
192.168.y.4 255.255.255.255 127.0.0.1 127.0.0.1 10
192.168.y.255 255.255.255.255 192.168.y.4 192.168.y.4 10
224.0.0.0 240.0.0.0 192.168.x.4 192.168.x.4 10
224.0.0.0 240.0.0.0 192.168.y.4 192.168.y.4 10
255.255.255.255 255.255.255.255 192.168.x.4 192.168.x.4 1
255.255.255.255 255.255.255.255 192.168.y.4 192.168.y.4 1
Default Gateway: 192.168.y.1
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
0.0.0.0 0.0.0.0 192.168.y.1 5
0.0.0.0 0.0.0.0 192.168.x.1 10
だから私はどのようにルーティングをLinuxB
このようにすることができます:
- デフォルトのルートをそのままにし
LinuxB
て192.168.x.1
、発信トラフィックがRouter0
/ を使用し続けるようにするISP0
LAN0
上から来る着信要求に答え続けるLAN0
LAN1
上から来る着信要求に答え続けるLAN1
Router0
(a.b.c.d
/192.168.x.1
)経由で着信リクエストに応答し続ける192.168.x.1
Router1
(e.f.g.h
/192.168.y.1
)経由で着信リクエストへの応答を開始192.168.y.1
- おまけ:
Router1
フェイルオーバーまたは負荷分散Router0
追記:
以下のPNG画像は、無料のオンラインPlantUMLエンジンを介してUMLテキストに生成されます。元のUMLテキストを表示するには、PNG画像リンクをこのPlantUMLフォームに貼り付けて、を押します。Submit
Yast
は複雑なルーティングを行うことroute
を考えており、非推奨となっているためですip
。opensuse.14.x6.nabble.com/yast2-advanced-routing-td3083578.htmlおよびsuse.com/documentation/sles11/book_sle_admin/data/…を
yast
ます。