Astratto:
Ho dei problemi (presumo il routing) quando aggiungo un ISP secondario alla mia configurazione di rete esistente: il traffico in entrata Router1non riceve risposta, ma il traffico locale e quello in entrata Router0funzionano correttamente.
Come posso mantenere funzionanti le parti che attualmente funzionano bene, facendo funzionare il traffico in entrata Router1?
Elaborazione:
Di seguito ho tracciato uno schema con gli elementi essenziali essenziali della situazione (in pratica ci sono più dispositivi su ciascuna LAN, ma non contano).
Questa è la situazione:
- Ho due reti interne:
LAN0è192.168.x.0/24edLAN1è192.168.y.0/24. Entrambi funzionano bene per il traffico interno (ad esempio http utilizzando cURL ). LAN0è sempre stato collegato attraversoRouter0eISP0alInternet.LAN1sempre avutoRouter1, ma ora è collegatoISP1alInternet.- Le macchine solo attive
LAN0e con un percorso predefinitoRouter0funzionano correttamente per il traffico in uscita e in entrata. - Le macchine solo attive
LAN1e con un percorso predefinitoRouter1funzionano correttamente per il traffico in uscita e in entrata. - Il traffico interno è attivo
LAN0eLAN1ha sempre funzionato bene. - Il traffico in entrata per
Router1forWindowsBarriva correttamente: posso collegarmi tramite RDP daWindowsC. - Il traffico in entrata per
Router1forLinuxBarriva (secondo tcpdump ), ma non risponde come uncurl http://e.f.g.hfroneLinuxCmostra con un tcpdump negliLinuxBspettacoli:
Mostra solo i pacchetti che - in base al formato di output di tcpdump - hanno un flag SYN impostato:
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
Questa è la LinuxBtabella dei percorsi:
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
Dal momento che il collegamento su RDP da WindowsCa WindowsBfunziona benissimo, riprendo che questo è davvero un problema di routing. Questa è la WindowsBtabella dei percorsi:
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
Quindi, come posso ottenere il routing LinuxBper essere così:
- mantenere percorso di default su
LinuxBper192.168.x.1così il traffico in uscita mantiene utilizzandoRouter0/ISP0 - continua a rispondere alle richieste in arrivo provenienti da
LAN0onLAN0 - continua a rispondere alle richieste in arrivo provenienti da
LAN1onLAN1 - continuare a rispondere alle richieste in arrivo tramite
Router0(a.b.c.d/192.168.x.1) tramite192.168.x.1 - iniziare a rispondere alle richieste in arrivo tramite
Router1(e.f.g.h/192.168.y.1) tramite192.168.y.1 - bonus: avere il
Router1failover o il bilanciamento del carico conRouter0
poscritto:
L' immagine PNG seguente è generata sul testo UML attraverso il motore PlantUML online gratuito . Se vuoi vedere il testo UML originale, incolla il link immagine PNG in questo modulo PlantUML , quindi premi Submit.
Yastsembra fuori per fare il routing complesso e routesembra essere deprecato a favore di ip. Vedi opensuse.14.x6.nabble.com/yast2-advanced-routing-td3083578.html e suse.com/documentation/sles11/book_sle_admin/data/…
yast.