抽象:
将辅助ISP添加到我现有的网络设置中时,我遇到了问题(我认为是路由):Router1
不能回答传入流量,但是本地流量和传入Router0
可以正常工作。
在通过Router1
工作流进来流量的同时,如何保持当前运行良好的部件正常工作?
详细说明:
我已在下面草绘了一个示意图,其中包含了这种情况的基本要点(实际上,每个LAN上都有更多的设备,但这并不重要)。
这种情况:
- 我有两个内部网络:
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
。