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

Добавление статического маршрута к виртуальному интерфейсу с использованием файлов конфигурации, а не команды 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 в качестве источника.

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

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

# 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

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

Формат одного маршрута, который нужно ввести в файл 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-адрес, который правильно помечен.