Назад | Перейти на главную страницу

Настроить несколько шлюзов linux

У меня есть сервер с 2 портами Ethernet, который я хотел бы настроить с несколькими шлюзами.

Я хочу, чтобы порт 1 был шлюзом по умолчанию, и я хочу, чтобы трафик, исходящий из порта 2, выходил на порт 2.

Я следовал многим руководствам о том, как это сделать, но не могу заставить это работать.

Вот сценарий, который я использую в своем файле интерфейсов.

# The primary network interface
allow-hotplug eno2
iface eno2 inet dhcp
    gateway 192.168.3.1
    post-up ip route add 192.168.3.0/24 dev eno2 table ethvpn
    post-up ip route add default via 192.168.3.1 dev eno2 table ethvpn
    post-up ip rule add from 192.168.3.101/102 table ethvpn
    post-up ip rule add to 192.168.3.101/102 table ethvpn

# Secondary network interface
allow-hotplug eno3
iface eno3 inet dhcp
    post-up ip route add 192.168.0.0/24 dev eno3 table ethwan
    post-up ip route add default via 192.168.0.1 dev eno3 table ethwan
    post-up ip rule add from 192.168.0.101/102 table ethwan
    post-up ip rule add to 192.168.0.101/102 table ethwan

Если я введу: ip rule show, мои таблицы (ethwan, ethvpn) не появятся. Если я попытаюсь ввести эту команду вручную: ip rule add из таблицы 192.168.3.101/102 ethwan, я получаю сообщение об ошибке:

 Error: inet prefix is expected rather than "192.168.3.101/102".

Возможно ли это сделать при использовании DHCP с зарезервированным IP? Как я могу заставить это работать?

192.168.0.101/102 не является допустимой подсетью. Число после / - это количество бит в маске подсети. если вы хотите, чтобы правило распространялось на 101 и 102. Сделайте 2 отдельных правила для 192.168.101 / 32 и 192.168.0.102/32