Проблема с маршрутизацией на двух шлюзах по умолчанию - PullRequest
0 голосов
/ 04 декабря 2018

Я установил сервер box / small с тремя интерфейсами.Один интерфейс ведет к внутренней сети и владеет маршрутом по умолчанию в таблице маршрутизации rt1.Другой интерфейс подключен к Fritz! Box и ведет в Интернет, а также имеет маршрут по умолчанию в таблице маршрутизации rt2.

Я установил два шлюза по умолчанию (таблица rt1 и rt2), и теперь я хочу пропинговатьчто-то в интернете на определенном интерфейсе (eth0.103), что приводит к Fritz! Box (и интернету) или даже на обоих, но это не работает, хотя traceroute и даже SSH-соединение работают на этом интерфейсе,Я имею в виду, я даже могу связаться / подключиться к этой коробке (eth0.103) снаружи / через Fritz! Box / интернет.Кроме того, в eth0.101 не происходит маршрутизация или пинг.

Fritz! Box имеет адрес 192.168.178.1 и eth0.103 (192.168.178.20) подключен к нему напрямую.

команда

ping -I eth0.103 8.8.8.8
ping -I eth0.101 8.8.8.8

/ etc / iproute2 / rt_tables

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
1 rt1
2 rt2

/ etc / network / interfaces

auto eth0.101
    iface eth0.101 inet static
    address 172.19.2.2
    netmask 255.255.255.0
    post-up ip route add 172.19.2.0/24 dev eth0.101 src 172.19.2.2 table rt1
    post-up ip route add default via 172.19.2.1 dev eth0.101 table rt1
    post-up ip rule add from 172.19.2.2/32 table rt1
    post-up ip rule add to 172.19.2.2/32 table rt1

auto eth0.102
    iface eth0.102 inet manual

auto eth0.103
    iface eth0.103 inet static
    address 192.168.178.20
    netmask 255.255.255.0
    post-up ip route add 192.168.178.0/24 dev eth0.103 src 192.168.178.20 table rt2
    post-up ip route add default via 192.168.178.1 dev eth0.103 table rt2
    post-up ip rule add from 192.168.178.20/32 table rt2
    post-up ip rule add to 192.168.178.20/32 table rt2

auto br0
    iface br0 inet static
    bridge_ports eth0.102 wlan0
    bridge_waitport 0
    address 192.168.1.254
    network 192.168.1.0
    netmask 255.255.255.0

ip route show

172.19.2.0/24 dev eth0.101  proto kernel  scope link  src 172.19.2.2
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.254 
192.168.178.0/24 dev eth0.103  proto kernel  scope link  src 192.168.178.20

ip route show table rt1

default via 172.19.2.1 dev eth0.101 
172.19.2.0/24 dev eth0.101  scope link  src 172.19.2.2 

ip route show table rt2

default via 192.168.178.1 dev eth0.103 
192.168.178.0/24 dev eth0.103  scope link  src 192.168.178.20 

Не могу понять, сделал ли я что-то не так с этими шлюзами или правилами / таблицами маршрутизацииможет быть.Кроме того, я нахожу странным, что я могу подключиться через публичный IP-адрес Fritz! Box к серверу, в то время как пинг с него не работает.Заранее спасибо, ребята.

1 Ответ

0 голосов
/ 11 декабря 2018

Хорошо, с большим количеством поисковика и чтения на сайтах Linux и здесь, в Stack Overflow, я нашел решение.

Таблицы маршрутизации были в порядке, но почему-то не передавали шлюзы по умолчанию в основную таблицу.Поэтому я не мог ничего пинговать или чего-то добиться, но все-таки traceroute работал.Даже статические маршруты работали.

Итак, я добавил эти две важные строки (со значениями метрики) в / etc / network / interfaces, и теперь шлюзы по умолчанию обеих таблиц маршрутизации передаются в основную таблицу маршрутизации.

/ etc / iproute2 / rt_tables

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
101 rt1
102 rt2

/ etc / network / interfaces

auto eth0.101
    iface eth0.101 inet static
    address 172.19.2.2
    netmask 255.255.255.0
    post-up ip route add 172.19.2.0/24 dev eth0.101 src 172.19.2.2 table rt1
    post-up ip route add default via 172.19.2.1 dev eth0.101 table rt1
    post-up ip rule add from 172.19.2.2/32 table rt1
    post-up ip rule add to 172.19.2.2/32 table rt1
    post-up ip route add default via 172.19.2.1 metric 100 dev eth0.101
    post-down ip rule del from 0/0 to 0/0 table rt1
    post-down ip rule del from 0/0 to 0/0 table rt1

auto eth0.102
    iface eth0.102 inet manual

auto eth0.103
    iface eth0.103 inet static
    address 192.168.178.20
    netmask 255.255.255.0
    post-up ip route add 192.168.178.0/24 dev eth0.103 src 192.168.178.20 table rt2
    post-up ip route add default via 192.168.178.1 dev eth0.103 table rt2
    post-up ip rule add from 192.168.178.20/32 table rt2
    post-up ip rule add to 192.168.178.20/32 table rt2
    post-up ip route add default via 192.168.178.1 metric 101 dev eth0.103
    post-down ip rule del from 0/0 to 0/0 table rt2
    post-down ip rule del from 0/0 to 0/0 table rt2

auto wlan0
    iface wlan0 inet manual

auto br0
    iface br0 inet static
    bridge_ports eth0.102 wlan0
    bridge_waitport 0
    address 192.168.1.254
    netmask 255.255.255.0
...