Resumo:
Tenho (presumo roteamento) problemas ao adicionar um ISP secundário à minha configuração de rede existente: o tráfego de entrada Router1
não é respondido, mas o tráfego local e de entrada Router0
estão funcionando bem.
Como posso manter as peças que atualmente funcionam bem funcionando, enquanto faz o tráfego de entrada através do Router1
trabalho?
Elaboração:
Esbocei um diagrama abaixo com o essencial da situação (na prática, existem mais dispositivos em cada LAN, mas eles não importam).
Esta é a situação:
- Eu tenho duas redes internas:
LAN0
é192.168.x.0/24
eLAN1
é192.168.y.0/24
. Ambos funcionam bem para o tráfego interno (por exemplo, http usando cURL ). LAN0
sempre foi conectado atravésRouter0
eISP0
aoInternet
.LAN1
sempre teveRouter1
, mas agora está conectadoISP1
aoInternet
.- As máquinas apenas ativam
LAN0
e têm uma rota padrão através doRouter0
trabalho bem para o tráfego de saída e entrada. - As máquinas apenas ativam
LAN1
e têm uma rota padrão através doRouter1
trabalho bem para o tráfego de saída e entrada. - Tráfego interno ativado
LAN0
eLAN1
sempre funcionou bem. - O tráfego de entrada
Router1
para oWindowsB
chega corretamente: posso conectar-me a ele pelo RDP a partir deWindowsC
. - O tráfego de entrada através
Router1
deLinuxB
chega (de acordo com tcpdump ), mas não é respondido de volta como umcurl http://e.f.g.h
fronLinuxC
mostra com um tcpdump nosLinuxB
shows:
Ele mostra apenas pacotes que - de acordo com o formato de saída tcpdump - têm um sinalizador SYN definido:
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
Esta é a LinuxB
tabela de rotas:
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
Como a conexão pelo RDP da WindowsC
para WindowsB
funciona bem, retomei que esse é realmente um problema de roteamento. Esta é a WindowsB
tabela de rotas:
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
Então, como posso obter o roteamento LinuxB
para ficar assim:
- mantenha a rota padrão
LinuxB
para192.168.x.1
que o tráfego de saída continue usandoRouter0
/ISP0
- continuar respondendo solicitações de entrada provenientes
LAN0
deLAN0
- continuar respondendo solicitações de entrada provenientes
LAN1
deLAN1
- continue atendendo solicitações recebidas através de
Router0
(a.b.c.d
/192.168.x.1
) via192.168.x.1
- comece a atender solicitações recebidas através de
Router1
(e.f.g.h
/192.168.y.1
) via192.168.y.1
- bônus: possui
Router1
failover ou balanceamento de carga comRouter0
Postscript:
A imagem PNG abaixo é gerada no texto UML através do mecanismo PlantUML online gratuito . Se você quiser ver o texto UML original, cole o link da imagem PNG neste formulário PlantUML e pressione Submit
.
Yast
parece fazer roteamento complexo e route
parece ter sido preterido em favor de ip
. Veja opensuse.14.x6.nabble.com/yast2-advanced-routing-td3083578.html e suse.com/documentation/sles11/book_sle_admin/data/...
yast
.