Potřebuji přidat trasu, která se po restartu nesmaže. Četl jsem tyto dva způsoby, jak to udělat:
Přidat
ip route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
do souboru/etc/network/interfaces
nebo
Vytvořte soubor /etc/network/if-up.d/route s:
#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
a udělejte jej spustitelným :
chmod +x /etc/network/if-up.d/route
tak jsem zmaten. Jaký je nejlepší způsob, jak to udělat?
Přijatá odpověď:
Zmínil jste /etc/network/interfaces
, takže je to systém Debian…
Vytvořte pojmenovanou směrovací tabulku. Jako příklad jsem použil níže uvedený název „mgmt“.
echo '200 mgmt' >> /etc/iproute2/rt_tables
Výše uvedené jádro podporuje mnoho směrovacích tabulek a odkazuje na ně jedinečnými celými čísly číslovanými 0-255. Pro tabulku je také definován název mgmt.
Níže je pohled na výchozí /etc/iproute2/rt_tables
následuje, což ukazuje, že některá čísla jsou rezervována. Volba v této odpovědi 200 je libovolná; lze použít libovolné číslo, které se ještě nepoužívá, 1-252.
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
Níže soubor rozhraní Debian 7/8 definuje eth0
a eth1
. eth1
je síť 172. eth0
mohl použít i DHCP. 172.16.100.10
je IP adresa, která se má přiřadit eth1
. 172.16.100.1
je IP adresa routeru.
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
Restartujte nebo restartujte síť.
Aktualizace – podrobnější informace o EL
V komentáři jsem si všiml, že jste „uvažovali i o RHEL.“
V Enterprise Linuxu („EL“ – RHEL/CentOS/et al.) vytvořte pojmenovanou směrovací tabulku, jak je uvedeno výše.
EL /etc/sysconfig/network
soubor:
NETWORKING=yes
HOSTNAME=host.sld.tld
GATEWAY=10.10.10.1
EL /etc/sysconfig/network-scripts/ifcfg-eth0
pomocí statické konfigurace (bez NetworkManageru a bez určení „HWADDR“ a „UUID“ pro příklad níže).
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
(bez NetworkManageru a bez uvedení „HWADDR“ a „UUID“ v příkladu níže).
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
soubor:
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
soubor:
from 172.16.100.0/24 lookup mgmt
Aktualizace pro RHEL8
Tato metoda popsaná výše funguje s RHEL 6 a RHEL 7 i s jejich deriváty, ale pro RHEL 8 a odvozeniny je třeba nejprve nainstalovat network-scripts
použít metodu popsanou výše.
dnf install network-scripts
Instalace vytvoří varování, že network-scripts
bude odstraněn v jednom z příštích hlavních vydání RHEL a NetworkManager poskytuje ifup
/ifdown
také skripty.