Сделать команды ip route add и ip rule add постоянными при запуске

Сделать команды ip route add и ip rule add постоянными при запуске

Мне нужно сделать следующие две строки постоянными, чтобы они были доступны при перезагрузке сервера, теперь, когда я доказал, что маршрут и правила работают так, как и ожидалось AlmaLinux 8(AlmaLinux по сути то же самое, что и CentOS).

ip route add default via x.x.x.x dev eno5 src x.x.x.x table 1
ip rule add from x.x.x.x table 1

Все, что я видел, показывает, что я должен иметь возможность создать файл /etc/sysconfig/network-scripts/route-eno5и добавить строку, default via x.x.x.x dev eno5 src x.x.x.x table 1но когда я сохраняю его и перезагружаюсь, эти правила не применяются./etc/sysconfig/network-scripts/route-eno5from x.x.x.x table 1

Это не поддерживается в AlmaLinux 8 и реализовано по-другому или я что-то делаю не так?

решение1

RHEL 8 и более поздние версии, а также все производные дистрибутивы, такие как CentOS и AlmaLinux, больше не используют устаревший /etc/sysconfig/network-scriptsкаталог. Правильное решение — изменить конфигурацию NetworkManager.

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

В стандартной установке CentOS 8(stream) моя конфигурация NetworkManager выглядит следующим образом:

[root@localhost ~]# nmcli c show
NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0

Если я хочу добавить маршрут политики eth0, я бы сделал что-то вроде этого:

nmcli c mod 'System eth0' \
  ipv4.addresses 10.0.0.10/24 \
  ipv4.routes '0.0.0.0/0 10.0.0.1 table=1' \
  ipv4.route-rules 'priority 100 from 10.0.0.0/24 table 1'

В этом примере я добавляю статический IP-адрес, который отличается от того, который назначается динамически с помощью DHCP; в вашей ситуации это может быть необязательно, в зависимости от того, как выглядит ваша локальная конфигурация.

После перезапуска интерфейса:

nmcli c down 'System eth0'; nmcli c up 'System eth0'

Теперь у меня есть:

[root@localhost ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:c1:f0:62 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.10/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet 192.168.122.164/24 brd 192.168.122.255 scope global dynamic noprefixroute eth0
       valid_lft 3505sec preferred_lft 3505sec
    inet6 fe80::5054:ff:fec1:f062/64 scope link
       valid_lft forever preferred_lft forever

[root@localhost ~]# ip rule show
0:      from all lookup local
100:    from 10.0.0.0/24 lookup 1
32766:  from all lookup main
32767:  from all lookup default

[root@localhost ~]# ip route show table 1
default via 10.0.0.1 dev eth0 proto static metric 100
10.0.0.1 dev eth0 proto static scope link metric 100

решение2

Вы можете использовать «Текстовый пользовательский интерфейс NetworkManager» (инструмент nmtui)

# yum install NetworkManager-tui

# nmtui

Идти кИзменить соединение, выберите соединение... Добавить маршруты вМаршрутизацияраздел.

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