У меня 3 интерфейса в машине с Ubuntu. eth0 / eth1 / eth2.
- eth0 - интерфейс управления с ip (10.102.x.x)
- eth1 - частный интерфейс с ip 192.168.1.x
- eth2 - еще один частный интерфейс с ip 192.168.2.x
Я хочу добраться до 25.25.25.x (это поле в какой-то другой сети).
Вот топология: -
Ubuntu machine <----------------> Router <------------> End Machine
192.168.1.x 192.168.1.x 25.25.25.x 25.25.25.x
Я хочу достичь 25.25.25.x, используя интерфейсы eth1 и eth2. Так что для этого я пытаюсь сделать исходные таблицы маршрутизации на основе IP.
Вот применяемая конфигурация:
ifconfig eth1 up
ifconfig eth1 192.168.1.x netmask 255.255.255.0
ip rule add from 192.168.1.x table 1
ip route add 192.168.1.0/24 dev eth1 scope link table 1
ip route add default via 192.168.1.x dev eth1 table 1
Однако это не удачно, так как ping 25.25.25.x -I eth1 не работает. Однако прямой маршрут работает:
ifconfig eth1 up
ifconfig eth1 192.168.1.x netmask 255.255.255.0
route add -net 25.25.25.0/24 gw 192.168.1.x
В нерабочем случае клиент linux выполняет трансляцию для 25.25.25.x ip, чего не должно быть.
Вот выходные данные ip route и ip route show table 1: -
root@ubuntu:~# ip rule show
0: from all lookup local
32765: from 192.168.1.x lookup 1
32766: from all lookup main
32767: from all lookup default
root@ubuntu:~# ip route show table 1
default via 192.168.1.x dev eth1
192.168.1.0/24 dev eth1 scope link
Может кто-нибудь ответить, почему первый случай не работает?