再起動後に削除されないルートを追加する必要があります。私はそれを行う次の2つの方法を読みます。
追加
up route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
ファイル/etc/network/interfaces
または
ファイル/ etc/network/if-up.d/routeを次のように作成します:
#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
そしてそれを実行可能にします:
chmod +x /etc/network/if-up.d/route
だから私は混乱しています。それを行う最良の方法は何ですか?
/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
は、eth1
に割り当てるIPアドレスです。 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/et al)では、上記の名前付きルーティングテーブルを作成します。
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
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