linux命令路由
linux命令路由详细介绍
在 Linux 系统中,与路由相关的命令主要用于管理路由表、配置静态路由或查看网络路由信息。以下是常用的路由命令及操作示例:
一、查看路由表
route -n(传统工具,旧版系统常用)- 以数字形式显示当前路由表(避免 DNS 解析,显示更快速)。
bash
routeKernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
.0.0 .1.1 .0.0 UG eth0
.1.0 .0.0 .255.0 U eth0
- 字段说明:
Destination:目标网络 / IPGateway:网关(0.0.0.0表示直接连接)Iface:网络接口(如eth0、wlan0)。
ip route show或ip r(现代工具,推荐使用)- 更强大的路由查看工具,支持更多高级功能。
bash
route showdefault via .1.1 dev eth0 proto static metric
.1.0/24 dev eth0 proto kernel scope src .1.100
二、临时添加路由(重启后失效)
1.
添加默认网关(默认路由)
route命令:bashroute default gw 网关IP dev 接口ip命令:bashroute default via 网关IP dev 接口
2.
添加子网路由(指定目标网络)
route命令:bashroute 目标网络 netmask 子网掩码 gw 网关IP dev 接口route .0.0 netmask .0.0 gw .1.2 dev eth0
ip命令:bashroute 目标网络/掩码 via 网关IP dev 接口route .0.0/8 via .1.2 dev eth0
3.
添加主机路由(指定单个 IP)
ip命令:bashroute 目标IP via 网关IP dev 接口route .2.100 via .1.3 dev eth0
三、删除路由
route命令:bashroute del 目标网络 netmask 子网掩码 gw 网关IPip命令:bashroute del 目标网络/掩码 via 网关IP
四、永久配置路由(重启后生效)
临时添加的路由在重启后会丢失,若需永久生效,需修改系统配置文件。
1.
CentOS/RHEL 系(如 Fedora、Rocky Linux)
- 方法 1:修改网络接口配置文件(推荐)
在接口配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0)中添加:
ini或单独添加静态路由文件(如
/etc/sysconfig/network-scripts/route-eth0):
ini10.0.0.0/8 via 192.168.1.2 dev eth0 # 子网路由192.168.2.100 via 192.168.1.3 # 主机路由
修改后重启网络服务:
bashsystemctl restart network - 方法 2:使用
nmcli命令(NetworkManager)
bashnmcli connection modify 连接名 ipv4.routesnmcli connection up 连接名
2.
Ubuntu/Debian 系
- 使用
netplan配置(推荐,适用于 20.04+)
修改/etc/netplan/*.yaml文件(如00-installer-config.yaml):
yamlnetworkd
192.168.1.100/24
192.168.1.1
10.0.0.0/8
192.168.1.2
应用配置:
bashnetplan apply - 传统方法:修改
/etc/network/interfaces(适用于旧版系统)
iniauto eth0iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.2
五、其他相关命令
netstat -rn:显示路由表(功能类似route -n)。ss -rn:显示简化的路由信息(属于ss工具集)。tracepath或traceroute:追踪数据包路由路径,排查网络连通性问题。nftables/iptables:虽然主要用于防火墙,但也可配合设置策略路由(Policy Routing)。
注意事项
- 权限:添加 / 删除路由需管理员权限(
sudo或root用户)。 - 接口名称:确保网络接口名称正确(如
eth0、enp0s3、wlan0等,可通过ip link查看)。 - 现代推荐:优先使用
ip命令(如ip route),功能更强大且支持 IPv6(ip -6 route)。
如果需要进一步解决具体问题(如多网关配置、策略路由),可提供更多场景信息,我会补充细节!