αԋɱ*_*cαη 6 linux networking iptables centos networkmanager
我正在使用 Centos 7 服务器,我想在服务器重新启动时保存 ip 规则和路由。
ip rule add from x.x.x.x table 128
ip route add table 128 to y.y.y.y/y dev eth0
ip route add table 128 default via z.z.z.z
Run Code Online (Sandbox Code Playgroud)
一旦我重新启动服务器,提到的规则和路由就会丢失,这意味着每次服务器重新启动时我都需要运行 3 个命令。
每当服务器重新启动时,我都需要使 ip 规则和路由保持不变。
看看/etc/rc.d/rc.local
。该文件指出
请注意,您必须运行
chmod +x /etc/rc.d/rc.local
以确保此脚本将在引导期间执行。
所以:
chmod +x /etc/rc.d/rc.local
Run Code Online (Sandbox Code Playgroud)
然后将您的命令放在最后一行上方
touch /var/lock/subsys/local
Run Code Online (Sandbox Code Playgroud)
有更好的方法使用相关的配置文件。可以使用相应的文件名指定规则和路由。下面给出了所有相关的配置文件。(设备名称可能不同。)
/etc/iproute2/rt_tables
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network-scripts/route-eth0
/etc/sysconfig/network-scripts/route-eth1
/etc/sysconfig/network-scripts/rule-eth0
/etc/sysconfig/network-scripts/rule-eth1
Run Code Online (Sandbox Code Playgroud)
要创建命名路由表,请使用/etc/iproute2/rt_tables
. 我补充说128 mynet
。
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
128 mynet
Run Code Online (Sandbox Code Playgroud)
EL 7.x/etc/sysconfig/network
文件。默认路由是GATEWAY
.
NETWORKING=yes
HOSTNAME=hostname.sld.tld
GATEWAY=10.10.10.1
Run Code Online (Sandbox Code Playgroud)
EL 7.x/etc/sysconfig/network-scripts/ifcfg-eth0
文件,不带HWADDR
“UUID”。这会在eth0
不使用NetworkManager 的情况下配置静态 IP 地址。
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
Run Code Online (Sandbox Code Playgroud)
EL 7.x/etc/sysconfig/network-scripts/ifcfg-eth1
文件,没有HWADDR
和UUID
. 这会在eth1
不使用NetworkManager 的情况下配置静态 IP 地址。
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=192.168.100.140
NETMASK=255.255.255.0
NETWORK=192.168.100.0
BROADCAST=192.168.100.255
Run Code Online (Sandbox Code Playgroud)
EL 7.x/etc/sysconfig/network-scripts/route-eth1
文件。默认路由已在 中指定/etc/sysconfig/network
。
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=192.168.100.140
NETMASK=255.255.255.0
NETWORK=192.168.100.0
BROADCAST=192.168.100.255
Run Code Online (Sandbox Code Playgroud)
EL 7.x/etc/sysconfig/network-scripts/rule-eth1
文件:
192.168.100.0/24 dev eth1 table mynet
default via 192.168.100.1 dev eth1 table mynet
Run Code Online (Sandbox Code Playgroud)
上述方法适用于 RHEL 6 和 RHEL 7 以及衍生产品,但对于 RHEL 8 和衍生产品,必须先安装network-scripts
才能使用上述方法。
from 192.168.100.0/24 lookup mynet
Run Code Online (Sandbox Code Playgroud)
安装会产生一个警告,该警告network-scripts
将在 RHEL 的下一个主要版本之一中删除,并且 NetworkManager 也提供ifup
/ifdown
脚本。
归档时间: |
|
查看次数: |
25717 次 |
最近记录: |