我正在GCE和Centos 7上运行虚拟机。我已经为计算机配置了两个网络接口。这样做时,要求用户输入以下命令来配置eth1(除eth0之外的所有接口都需要这种方法)。在我的机器上,eth1的网关是10.140.0.1。
sudo ifconfig eth1 10.140.0.2 netmask 255.255.255.255 broadcast 10.140.0.2 mtu 1430
sudo echo "1 rt1" | sudo tee -a /etc/iproute2/rt_tables # (sudo su - first if permission denied)
sudo ip route add 10.140.0.1 src 10.140.0.2 dev eth1
sudo ip route add default via 10.140.0.1 dev eth1 table rt1
sudo ip rule add from 10.140.0.2/20 table rt1
sudo ip rule add to 10.140.0.2/20 table rt1
我已经成功地使用了上面的方法,但是配置不是持久的。我知道可以这样做,但是我首先需要完全了解上述内容的实际作用(将我的问题分解成较小的部分)。
sudo ifconfig eth1 10.140.0.2 netmask 255.255.255.255 broadcast 10.140.0.2 mtu 1430
此命令似乎告诉10.140.0.2的eth1在同一内部IP上广播。还将MTU设置为1430,这很奇怪,因为其他接口设置为1460。真的需要此命令吗?
sudo echo "1 rt1" | sudo tee -a /etc/iproute2/rt_tables # (sudo su - first if permission denied)
据我了解,此命令将“ 1 rt1”附加到文件rt_tables中。如果运行一次,是否需要在每次网络启动时运行?好像只需要运行一次。
sudo ip route add 10.140.0.1 src 10.140.0.2 dev eth1
sudo ip route add default via 10.140.0.1 dev eth1 table rt1
sudo ip rule add from 10.140.0.2/20 table rt1
sudo ip rule add to 10.140.0.2/20 table rt1
我知道这些命令会将非持久性规则和路由添加到网络配置。一旦我知道了上述答案,我将回到使之持久化的方法。
答案 0 :(得分:0)
请参阅我在帖子中提到的关于Google group thread的问题:
IP routes和IP rules必须是永久路由,以避免在VM重新启动或网络服务重新启动后丢失路由。根据使路由持久化所需的操作系统配置文件的不同,可以不同。这是CentOS 7的stackexchange thread,其中提到文件:“ / etc / sysconfig / network-scripts / route-ethX”和“ / etc / sysconfig / network / scripts / rule-ethX”以保持IP路由和坚持规则。这是持久性静态路由的CentOS documentation。