私はGoogleでたくさん検索しましたが、centOS 7でいくつかの永続パスを作成する方法についての作業方法が見つかりませんでした。
[root@asd network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.23.40.1 0.0.0.0 UG 1024 0 0 enp10s0f1
172.23.40.0 0.0.0.0 255.255.255.0 U 0 0 0 enp10s0f1
enp10s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::226:55ff:fed1:9123 prefixlen 64 scopeid 0x20<link>
ether 00:26:55:d1:91:23 txqueuelen 1000 (Ethernet)
RX packets 1096 bytes 291485 (284.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 2040 (1.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 34 memory 0xfbfe0000-fc000000
enp10s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.23.40.77 netmask 255.255.255.0 broadcast 172.23.40.255
inet6 fe80::226:55ff:fed1:9122 prefixlen 64 scopeid 0x20<link>
ether 00:26:55:d1:91:22 txqueuelen 1000 (Ethernet)
RX packets 2865 bytes 457736 (447.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1995 bytes 345793 (337.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 24 memory 0xfbee0000-fbf00000
Googleで検索したすべての場所で、ファイルの下のフォルダに設定するように言いましたroute-eth0
。しかし、私のファイルはこれと同じではなく、「ifcfg-enp10s0f0」です。ここにこのファイルがあります/etc/sysconfig/network-scripts
。 ::
-rw-r--r--. 1 root root 321 Sep 15 13:34 ifcfg-enp10s0f1
-rw-r--r--. 1 root root 440 Sep 15 14:44 ifcfg-enp10s0f0
[root@asd network-scripts]#
と同じルートを追加してみましたroute-enp10s0f0
。ファイルにパスを追加しましたが、/etc/sysconfig/network
何も機能しませんでした。これを行うたびに、service network restart
すべてが消えます!
私は以下を追加しましたifcfg-enp10s0f0
:
GATEWAY0=0.0.0.0
NETMASK0=255.255.255.0
ADDRESS0=192.168.0.0
GATEWAY1=0.0.0.0
NETMASK1=255.255.0.0
ADDRESS1=169.254.0.0
私は何が間違っていましたか?
答え1
Google で見つけた情報は正確です。ルーティング(ifname)ファイルを生成する必要があります。
内容は「ip」コマンドと似ている必要がありますが、最後の部分だけが似ている必要があります。このように:
192.168.1.0/24 via 192.168.2.1
詳細は以下で確認できます。RHEL 7ネットワーキングガイド。
答え2
継続的なIPルーティングとルールが機能するには、次のことを行う必要があると思います。
まず、
/etc/iproute2/rt_tables
行を編集して追加して、パスの新しいパステーブルを作成します。 「mytable」はより適切なものに変更できます。他のテーブルに比べて優先度は100です。100 mytable
次に、ファイルを作成してインターフェイス(例:eth1)に必要なルールとパスを指定します(選択したルールとパスは例ですので、設定に合わせて変更してください)。
存在する/etc/sysconfig/network-scripts/rule-eth1
:
fr10.10.244/32 table myta
to 10.10.10.244/32 table mytable
存在する/etc/sysconfig/network-scripts/route-eth1
:
dlt via 10.10.10.1 dev eth1 tableable
最後に、ルーティングファイルとルールファイルを読み取れるようにNetworkManager拡張をインストールして有効にします。
$ sudo yum installworkger-config-routing-rules` $ sudo systemctl start NetworkManager-dispatcher.service`
その後、再起動してすべてが正常であることを確認します。
答え3
つまりroute-eth0
、考えroute-enp10s0f0
たりroute-enp10s0f1
。
デフォルトでは、ファイルのルーティングルールはroute-<interface-name>
起動時に適用され、削除時に削除されます。<interface-name>
<interface-name>