Intereting Posts
Возможные проблемы с дисководом SSD SATA3 Приложение Linux, которое контролирует журнал и добавляет правила в iptables Безопасное использование неизвестных приложений Зачем менеджерам пакетов нужны файлы блокировки? Разница между компоновкой на стороне сервера и клиентской стороной в Xorg? рекурсивный поиск имени папки и присвоение его переменной Как изменить облицовку XFCE, чтобы максимизировать верхний край? Не удается установить LVMm: возобновить ioctl при неудачном Замените регулярное выражение на строку, содержащую совпадение Могут ли каталоги и файлы наследовать те же разрешения, что и родительский каталог? Yum: Как просматривать переменные типа $ releasever, $ basearch & $ YUM0? LVM: как клонировать тонкий объем Как подключить и выполнить передачу данных на мобильный с встроенной платы linux с помощью bluez? Изменение звукового устройства по умолчанию в Pulseaudio Могу ли я определить количество подкаталогов в каталоге с помощью `ls -l`?

Два шлюза по умолчанию на Debian Jessie

Обратите внимание, что это дубликат, но решение, данное ранее, не работает для меня! Все объяснено ниже.

Я получил две сети с Интернетом … хотел бы, чтобы они оба работали … если запрос в сеть №1, сеть №2 должна ответить на этот запрос через его шлюз … то же самое с сетью №2 – он должен отвечать на запросы через его шлюз.

ifconfig

 eth0 Link encap:Ethernet HWaddr b8:27:eb:82:ca:0c inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::57ac:b6e:33c1:8bbb/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:797 errors:0 dropped:0 overruns:0 frame:0 TX packets:797 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:219915 (214.7 KiB) TX bytes:117516 (114.7 KiB) wlan0 Link encap:Ethernet HWaddr b8:27:eb:d7:9f:59 inet addr:192.168.2.200 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::6463:5ba:3b28:6d39/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1532 errors:0 dropped:1215 overruns:0 frame:0 TX packets:201 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:364160 (355.6 KiB) TX bytes:29417 (28.7 KiB) 

ip route show table main

 default via 192.168.1.1 dev eth0 metric 202 default via 192.168.2.1 dev wlan0 metric 303 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.200 metric 202 192.168.2.0/24 dev wlan0 proto kernel scope link src 192.168.2.200 metric 303 

Я получил частично рабочее решение:

 ip route add default via 192.168.1.1 dev eth0 table 100 ip route add default via 192.168.2.1 dev wlan0 table 200 ip rule add from all lookup main suppress_prefixlength 0 ip rule add from 192.168.1.0/24 lookup 100 ip rule add from 192.168.2.0/24 lookup 200 

Это делает, например, Apache (после перенаправления портов на маршрутизаторах) отвечать на запросы из обеих сетей, но … только извне. Локальное подключение через 192.168.1.200 или 192.168.2.200 перестает работать … Я имею в виду … Я больше не могу подключиться к Apache из локальной сети.

Может ли кто-нибудь помочь мне в этом?

Я пробовал также ЭТО решение, но это не сработало … Я не могу подключиться через публичный IP-адрес LINKs2 к серверу Apache … возможно, я что-то делаю неправильно? iftop портов, похоже, работает, так как я вижу свой запрос через iftop . Никогда не получайте ответа, tho '.

rt_tables

 200 LINK1 201 LINK2 

route.sh

 ip route add 192.168.1.0/24 dev eth0 src 192.168.1.200 table LINK1 ip route add 192.168.2.0/24 dev wlan0 src 192.168.2.200 table LINK2 ip route add default via 192.168.1.1 table LINK1 ip route add default via 192.168.2.1 table LINK2 ip rule add from 192.168.1.1 table LINK1 ip rule add from 192.168.2.1 table LINK2 

После этого:

 sigma@sigma:~/temp $ ip route show table LINK1 default via 192.168.1.1 dev eth0 192.168.1.0/24 dev eth0 scope link src 192.168.1.200 sigma@sigma:~/temp $ ip route show table LINK2 default via 192.168.2.1 dev wlan0 192.168.2.0/24 dev wlan0 scope link src 192.168.2.200 sigma@sigma:~/temp $ ip route show table main default via 192.168.1.1 dev eth0 metric 202 default via 192.168.2.1 dev wlan0 metric 303 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.200 metric 202 192.168.2.0/24 dev wlan0 proto kernel scope link src 192.168.2.200 metric 303 sigma@sigma:~/temp $ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.1.1 0.0.0.0 UG 202 0 0 eth0 default fiber.home 0.0.0.0 UG 303 0 0 wlan0 192.168.1.0 * 255.255.255.0 U 202 0 0 eth0 192.168.2.0 * 255.255.255.0 U 303 0 0 wlan0 sigma@sigma:~/temp $ ip route show table all default via 192.168.1.1 dev eth0 table LINK1 192.168.1.0/24 dev eth0 table LINK1 scope link src 192.168.1.200 default via 192.168.2.1 dev wlan0 table LINK2 192.168.2.0/24 dev wlan0 table LINK2 scope link src 192.168.2.200 default via 192.168.1.1 dev eth0 metric 202 default via 192.168.2.1 dev wlan0 metric 303 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.200 metric 202 192.168.2.0/24 dev wlan0 proto kernel scope link src 192.168.2.200 metric 303 broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1 local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1 local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1 broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1 broadcast 192.168.1.0 dev eth0 table local proto kernel scope link src 192.168.1.200 local 192.168.1.200 dev eth0 table local proto kernel scope host src 192.168.1.200 broadcast 192.168.1.255 dev eth0 table local proto kernel scope link src 192.168.1.200 broadcast 192.168.2.0 dev wlan0 table local proto kernel scope link src 192.168.2.200 local 192.168.2.200 dev wlan0 table local proto kernel scope host src 192.168.2.200 broadcast 192.168.2.255 dev wlan0 table local proto kernel scope link src 192.168.2.200 local ::1 dev lo proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 fe80::/64 dev wlan0 proto kernel metric 256 unreachable default dev lo table unspec proto kernel metric 4294967295 error -101 local ::1 dev lo table local proto none metric 0 local fe80::57ac:b6e:33c1:8bbb dev lo table local proto none metric 0 local fe80::e94f:8405:bbc7:20f5 dev lo table local proto none metric 0 ff00::/8 dev eth0 table local metric 256 ff00::/8 dev wlan0 table local metric 256 unreachable default dev lo table unspec proto kernel metric 4294967295 error -101 

Предполагая, что я правильно понимаю проблему: у вас есть два «интернет-соединения» через два локальных интерфейса, и вы хотите, чтобы ответы проходили по тому же пути, к которому они были получены.

Я могу думать о двух чистых решениях:

1) Проведите маршрутизацию политики на основе IP-адреса источника. Если IP-адрес источника является одним из eth0, он должен использовать один шлюз, иначе другой. Это похоже на то, что вы сделали. С головы:

 ip route add default via GW1 table gw1 ip route add default via GW2 table gw2 ip rule from IP1 table gw1 ip rule from IP2 table gw2 

2) Отметьте входящие пакеты с iptables, отслеживание соединений и цель CONNMARK. Восстановите эту отметку на каждом исходящем пакете и выполните маршрутизацию политики на основе метки. Опять же, с моей головы:

 iptables -A INPUT -i wlan0 -t mangle -j MARK --set-mark 1 iptables -A INPUT -i eth0 -t mangle -j MARK --set-mark 2 iptables -A INPUT -j CONNMARK --save-mark iptables -A OUTPUT -j CONNMARK --restore-mark ip route add default via GW1 table gw1 ip route add default via GW2 table gw2 ip rule fwmark 1 table gw1 ip rule fwmark 2 table gw2 

Вышеизложенное может потребоваться какое-то вождение, но это общая идея.