Добавление статического маршрута к виртуальному интерфейсу с использованием файлов конфигурации вместо команды ip

Добавление статического маршрута к виртуальному интерфейсу с использованием файлов конфигурации вместо команды ip

Мы статически назначаем наши маршруты с помощью файлов /etc/sysconfig/network-scripts/route-ethx. Это делает управление ими довольно простым, поскольку мы добавляем маршруты во время процесса кикстарта (посредством постскрипта). Они редко меняются, и если их нужно обновить, мы просто выталкиваем изменение и обновляем скрипты сборки, чтобы включить новый маршрут.

Недавно один из клиентов запросил виртуальный интерфейс (eth0:0) с уникальным IP. Он должен подключаться исключительно к одной сети. Первый назначенный IP на eth0 будет обрабатывать весь остальной трафик.

Все, что я видел, говорит о том, как добавить маршрут с помощью ip route add, однако я не могу разобраться, как указать, что все, что идет на определенный IP или сеть, может иметь исходный IP-адрес. Если я использую команду ip, она обновит файлы маршрутов или она будет сохранена в другом месте для сохранения при перезагрузках? Если мне нужно добавить запись в файл маршрута для eth0:0, как должна выглядеть строка?

Итак, вкратце:

Если он идет на 10.0.0.2, используйте IP 10.0.1.3 в качестве источника. Если он идет куда-то еще, используйте IP 10.0.1.2 в качестве источника.

Возможно ли это? Как мне этого добиться?

решение1

Если я правильно понял ваш вопрос, вы можете попробовать что-то вроде следующего:

# ip route add 10.0.0.2 via xxx.xxx.xxx.xxx src 10.0.1.3
# ip route add default via yyy.yyy.yyy.yyy src 10.0.2.2

Есть ли другой метод, который мне следует рассмотреть?

Вы можете попробовать использовать iptables

# iptables -t nat -I PREROUTING -d 10.0.0.2 -j SNAT --to-source 10.0.1.3

решение2

Это прояснил коллега, который недавно сделал то же самое.

Формат одного маршрута, который необходимо ввести в файл route-eth0:0, следующий:

10.0.0.2/32 via 10.0.1.1 dev eth0:0 src 10.0.1.3

Весь остальной трафик через eth0 по умолчанию будет помечен как исходящий с 10.0.1.2. 10.0.1.1 — маршрут по умолчанию, но пакеты будут иметь исходный IP-адрес, который правильно помечен.

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