如何在Linux中永久添加静态路由
静态路由是手动输入路由到路由表到达特定目的地的过程。
基本上,两个命令在Linux中使用添加路由。
第一个命令是旧的传统路由添加,第二个命令是IP路由命令。
我们早些时候我们学会了如何在本教程中录制添加在Linux中,这里将介绍如何在Linux发行版(如CentOS和Ubuntu)中添加永久静态路由。
添加临时静态路由
要临时在Linux机器上添加静态路由,可以使用任何路由或者IP命令。
我们可以按如下方式列出当前路由表。
$route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.206.1 0.0.0.0 UG 100 0 0 eno1 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 192.168.206.0 0.0.0.0 255.255.255.0 U 100 0 0 eno1
路线-n命令
如果你想通过网关192.168.206.1的路由添加到网络198.161.1.0,我们可以执行以下命令。
$sudo route add -net 198.161.1.0 netmask 255.255.255.0 gw 192.168.206.1 eno1
或者,我们可以使用IP命令如下:
$sudo ip route add 198.161.1.0/24 via 198.168.206.1 dev eno1
添加永久静态路由
在上述部分中,我们看到如何在Linux中添加路由。
但系统将忘记下一次重启的路线。
所以我们必须将路由添加到配置文件以使其持久。
在RHEL或者CentOS上,我们需要在"/etc/sysconfig/network脚本"中修改接口文件。
例如,其中我们必须添加网络接口ens192路线。
因此,我们需要修改的文件将是'/etc/sysconfig/network-scripts/loute-ess192'。
此文件中的静态路由的基本语法是:
<target-address> via <gateway-address> dev <interface>
其中:
目标地址
目的地网络地址。
Gateway-Address
路由器地址以到达目标地址。
DEV
表示要到达目的地的哪个界面,接口命名方案是eno [1-n],ENS [1-N]和OR ETH [0-N]。
因此,要在"Route-Ens192"文件中添加上面的路由,请添加以下行。
'10 .9.8.0/24通过10.9.8.100 dev ens192'
然后,我们需要重新启动网络服务。
$sudo service network restart
最后,验证使用以下命令在路由表中可见新路由。
$route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.9.8.100 0.0.0.0 UG 100 0 0 ens192 10.0.0.0 0.0.0.0 255.0.0.0 U 100 0 0 ens192 10.9.8.0 10.9.8.100 255.255.255.0 UG 100 0 0 ens192
在Ubuntu Linux上,如果要为系统添加永久静态路由,则必须将路由条目添加到"/etc/network/interfaces"。
使用我们喜欢的编辑器(Nano,Vim,...)打开网络接口文件并将以下行插入其中。
"Up Route Add-Net 10.9.7.0/24 GW 10.9.8.100 Dev Ens160'。
例如:
source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto ens160 iface ens160 inet static address 10.9.8.41 netmask 255.255.255.0 gateway 10.9.8.100 up route add -net 10.9.7.0/24 gw 10.9.8.100 dev ens160
为了使更改生效,我们需要通过运行重新启动网络服务:
$sudo /etc/init.d/networking restart
验证路由是否已正确配置:
$route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.9.8.100 0.0.0.0 UG 0 0 0 ens160 10.9.7.0 10.9.8.100 255.255.255.0 UG 0 0 0 ens160 10.9.8.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160 10.233.70.0 10.9.8.45 255.255.255.0 UG 0 0 0 tunl0 10.233.90.0 0.0.0.0 255.255.255.0 U 0 0 0 *
从Ubuntu的LTS 18.04及更高版本的操作系统使用它位于"的/etc/netplan"目录网络配置netplan YAML文件。
例如:
$ls /etc/netplan 01-network-manager-all.yaml
为了添加持久的静态路由,我们必须将以下行添加到Netplan配置文件'/etc/netplan/01-network-manager-all.yaml'
routes: - to: 192.168.205.0/24 via: 192.168.206.1
例如:
# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager ethernets: eno1: dhcp4: true routes: - to: 192.168.205.0/24 via: 192.168.206.1
通过运行应用更改:
$sudo netplan apply
我们可以通过运行命令route -n或ip route来验证路由配置。