У меня есть 2 NIC на сервере, один предназначен для внутренней связи с IP 10.10.10.X, а другой - 172.XXX IP для внешней связи.
У меня есть такая таблица маршрутов
[root@hadoopslave1 ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.10.0 * 255.255.255.0 U 0 0 0 em1
172.X.X.0 * 255.255.255.0 U 0 0 0 em3
link-local * 255.255.0.0 U 1002 0 0 em1
link-local * 255.255.0.0 U 1004 0 0 em3
default 10.10.10.1 0.0.0.0 UG 0 0 0 em1
здесь маршрут по умолчанию проходит через шлюз 10.10.10.1. Я удалил маршрут по умолчанию и добавил новый маршрут для шлюза 172.XX1, но при перезагрузке он восстанавливается.
Какие изменения необходимо внести, чтобы убедиться, что эти изменения сохранятся даже после перезагрузки.
. скрипты
Шлюз по умолчанию определяется сетевыми скриптами, которые сначала анализируют файл /etc/sysconfig/network, а затем файлы сетевого интерфейса ifcfg для интерфейсов, которые "поднялись". Файлы ifcfg обрабатываются в числовом порядке возрастания, а последняя считанная директива GATEWAY используется для составления маршрута по умолчанию в таблице маршрутизации.
Для CentOS 7 директивы DEFROUTE можно искать и в этих файлах, см. также https://wiki.centos.org/FAQ/CentOS7
Я могу решить проблему, которая возникла из-за записи DEFROUTE=yes в конфигурации сетевой карты, em1 и em3.
В em1, которая предназначена для внутреннего взаимодействия, я изменил ее на no и перезапустил сетевые сервисы.
. Вам нужно прописать маршрут в /etc/sysconfig/network-scripts/route-em3
и прописать маршрут следующим образом (очевидно, что IP класс должен соответствовать вашему):
192. 168.10.0/24 по 192.168.12.1 dev eth1
Затем вы можете просто перезапустить сетевую службу и посмотреть, что маршрут будет добавлен. Это также сделает его устойчивым после перезагрузки.