在CentOS系统中,增加路由是网络管理中常见的操作,路由的主要目的是在复杂的网络结构中,选择最佳路径将数据包从源节点传递到目标节点,本文将详细介绍如何在CentOS中添加路由,包括临时路由和永久路由的设置方法,并附上相关的FAQs。
一、使用route命令添加路由
route
命令用于显示并设置Linux内核中的网络路由表,通常用于添加静态路由,以下是一些常用的语法和示例:
语法:
route [选项] 参数
A
:设置地址类型;
C
:打印Linux核心的路由缓存;
v
:详细信息模式;
n
:不执行DNS反向查找,直接显示数字形式的IP地址;
e
:netstat格式显示路由表;
net
:到一个网络的路由表;
host
:到一个主机的路由表。
参数:
add
:增加指定的路由记录;
del
:删除指定的路由记录;
target
:目的网络或目的主机;
gw
:设置默认网关;
mss
:设置TCP的最大区块长度(MSS),单位MB;
window
:指定通过路由表的TCP连接的TCP窗口大小;
dev
:路由记录所表示的网络接口。
命令使用举例:
默认(网关)路由:
route add net 0.0.0.0/0 gw 192.168.10.1
主机路由:
route add host 10.8.0.6 gw 192.168.10.30
拒绝某条路由:
route add host 10.8.0.6 gw 192.168.10.30 reject
网络路由:
route add net 10.8.0.0/24 gw 192.168.10.30
二、使用ip命令添加路由
ip
命令是加强版的网络配置工具,用于代替ifconfig命令,主要功能是用于显示或设置网络设备,以下是一些常用的语法和示例:
查看路由表:
ip route list
添加默认路由:
ip route add default via 192.168.10.30
删除默认路由:
ip route del default via 192.168.10.30
添加网络路由:
ip route add 10.8.0.0/24 via 192.168.10.30 dev eno16777736
三、永久添加路由条目(重启不会失效)
上述方法添加的路由在系统重启后会失效,为了实现永久路由,需要写入到配置文件中,以下是几种方法:
1. 使用 NetworkManager 的命令行工具 nmcli
在 CentOS 8 中,可以使用 NetworkManager 的命令行工具 nmcli 或手动编辑网络配置文件来添加永久路由。
临时路由(重启失效):
nmcli connection add type route ifname enp0s3 ip4 9.234.52.197/32 gw 192.168.2.250
永久路由:
使用 nmcli:
nmcli connection modify "ens19" +ipv4.routes "9.234.52.197/32 192.168.2.250" nmcli connection down "ens19" && nmcli connection up "ens19"
手动编辑配置文件:
找到您希望配置的网络接口的配置文件,这些文件通常位于/etc/sysconfig/networkscripts/
,并以ifcfg<INTERFACE_NAME>
的形式命名,例如ifcfgens33
。
sudo nano /etc/sysconfig/networkscripts/ifcfg<INTERFACE_NAME>
在文件的末尾添加 ROUTE 配置。
ROUTE0="9.234.52.197/32 via 192.168.2.250"
保存并关闭文件,重启网络服务以使更改生效:
sudo systemctl restart NetworkManager
2. 手动编辑网络脚本文件
在 CentOS 7 及更早版本中,可以通过编辑网络脚本文件来实现永久路由。
编辑网络接口配置文件:
vi /etc/sysconfig/networkscripts/ifcfg<INTERFACE_NAME>
在文件中添加以下内容:
GATEWAY=gwip
创建或编辑 route<INTERFACE_NAME> 文件:
echo "10.8.0.6/32 via 192.168.10.30" >> /etc/sysconfig/networkscripts/route<INTERFACE_NAME>
然后重启网络服务:
systemctl restart network
四、FAQs
Q1: 如何查看当前的路由表?
A1: 你可以使用以下命令查看当前的路由表:
ip route show 或者 route n
Q2: 如何添加一条永久的默认路由?
A2: 你可以通过编辑网络脚本文件或使用 NetworkManager 的命令行工具nmcli
来添加永久的默认路由,使用 NetworkManager:
nmcli connection modify "ens19" +ipv4.routes "default via 192.168.10.1" nmcli connection down "ens19" && nmcli connection up "ens19"
或编辑网络脚本文件:
echo "default via 192.168.10.1" >> /etc/sysconfig/networkscripts/route<INTERFACE_NAME> systemctl restart network
Q3: 如何删除一条永久路由?
A3: 你可以通过删除相应的配置文件或注释掉其中的路由条目来删除永久路由,删除route<INTERFACE_NAME>
文件中的相应条目,然后重启网络服务:
vi /etc/sysconfig/networkscripts/route<INTERFACE_NAME> 删除或注释掉相应的路由条目 systemctl restart network
在 CentOS 中添加路由可以通过多种方式实现,包括使用route
命令和ip
命令添加临时路由,以及通过编辑配置文件或使用 NetworkManager 的命令行工具nmcli
添加永久路由,了解这些方法和技巧可以帮助你更好地管理和配置 CentOS 系统的网络环境。