Как лучше всего добавить постоянный маршрут?

Самый простой способ подсчета записей - wc -l . Если у вас есть переменная с количеством строк CSV, на которую следует ссылаться как «$ count_from_csv» кавычками ).В этом случае вам не нужно использовать eval ; вместо этого вы захотите запустить команду для подсчета целевого количества строк, используя "$ (target_count_command) .

11
08.11.2016, 20:01
2 ответа

Вы упомянули / etc / network / interfaces , так что это система Debian ...

Создайте именованную таблицу маршрутизации. В качестве примера я использовал имя «mgmt» ниже.

echo '200 mgmt' >> /etc/iproute2/rt_tables

Выше ядро ​​поддерживает множество таблиц маршрутизации и обращается к ним с помощью уникальных целых чисел с номерами от 0 до 255. Для таблицы также определено имя mgmt.

Ниже следует взгляд на / etc / iproute2 / rt_tables по умолчанию, показывающий, что некоторые номера зарезервированы. Выбор 200 в этом ответе произвольный; можно использовать любой номер, который еще не используется, 1-252.

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#

Ниже в файле интерфейсов Debian 7/8 определены eth0 и eth1 . eth1 - это сеть 172. eth0 также может использовать DHCP. 172.16.100.10 - это IP-адрес, назначаемый eth1 . 172.16.100.1 - это IP-адрес маршрутизатора.

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The production network interface
auto eth0
allow-hotplug eth0
# iface eth0 inet dhcp 
# Remove the stanzas below if using DHCP.
iface eth0 inet static
  address 10.10.10.140
  netmask 255.255.255.0
  gateway 10.10.10.1

# The management network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
  address 172.16.100.10
  netmask 255.255.255.0
  post-up ip route add 172.16.100.0/24 dev eth1 src 172.16.100.10 table mgmt
  post-up ip route add default via 172.16.100.1 dev eth1 table mgmt
  post-up ip rule add from 172.16.100.10/32 table mgmt
  post-up ip rule add to 172.16.100.10/32 table mgmt

Перезагрузите или перезапустите сеть.

Обновление - Излагая EL

, я заметил в комментарии, что вы «тоже интересовались RHEL». В Enterprise Linux («EL» - RHEL / CentOS / и др.) Создайте названная таблица маршрутизации, как указано выше.

Файл EL / etc / sysconfig / network :

NETWORKING=yes
HOSTNAME=host.sld.tld
GATEWAY=10.10.10.1

Файл EL / etc / sysconfig / network-scripts / ifcfg-eth0 со статической конфигурацией (без NetworkManager без указания «HWADDR» и «UUID» для примера ниже).

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=10.10.10.140
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255

Далее следует файл EL / etc / sysconfig / network-scripts / ifcfg-eth1 (без NetworkManager и без указания «HWADDR» и «UUID» для примера ниже).

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=172.16.100.10
NETMASK=255.255.255.0
NETWORK=172.16.100.0
BROADCAST=172.16.100.255

Файл EL / etc / sysconfig / network-scripts / route-eth1 :

172.16.100.0/24 dev eth1 table mgmt
default via 172.16.100.1 dev eth1 table mgmt

Файл EL / etc / sysconfig / network-scripts / rule-eth1 :

from 172.16.100.0/24 lookup mgmt
20
27.01.2020, 19:58

В дистрибутиве на основе Debian вы можете навсегда добавить статический маршрут следующим образом:

 echo "up route add -net 172.X.X.X/24 gw 172.X.X.X dev ethX" | sudo tee --append /etc/network/interfaces

В дистрибутиве на основе RHEL:

echo "172.X.X.X/24 via 172.X.X.X" | sudo tee --append /etc/sysconfig/network-scripts/route-ethX
-1
27.01.2020, 19:58

Теги

Похожие вопросы