Анотація:
У мене (я вважаю, що маршрутизація) є проблеми при додаванні вторинного провайдера до моєї існуючої установки мережі: вхідний трафік через Router1не відповідає, але локальний трафік і вхід через Router0це працює нормально.
Як я можу зберегти деталі, які в даний час працюють добре, роблячи вхідний трафік через Router1роботу?
Розробка:
Я накреслив схему нижче з головними принципами ситуації (на практиці в кожній локальній мережі є більше пристроїв, але вони не мають значення).
Це ситуація:
- У мене є дві внутрішні мережі:
LAN0є192.168.x.0/24іLAN1є192.168.y.0/24. Обидва працюють добре для внутрішнього трафіку (наприклад, http за допомогою cURL ). 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 нижче генерується на тексті UML через безкоштовний онлайн- механізм PlantUML . Якщо ви хочете побачити оригінальний текст 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.