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

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

У меня есть сервер с двумя портами 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 from 192.168.3.101/102 table ethwan, я получаю ошибку:

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

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

решение1

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

Связанный контент