在CentOS系统中,管理员或开发者可能会遇到一个常见问题:执行route命令时提示“command not found”,这通常并非系统故障,而是由于CentOS 7及以上版本默认不再预装net-tools包,而route命令属于该包的一部分,本文将详细解释原因、提供解决方案,并介绍替代命令的使用方法。

问题根源:net-tools包的移除
CentOS 7及后续版本为了简化网络工具栈,逐步淘汰了传统的net-tools套件(包含ifconfig、route、arp等命令),转而推荐使用iproute2工具包(包含ip命令)。iproute2功能更强大,支持IPv4和IPv6,且能更好地适应现代网络管理需求,新安装的CentOS系统默认仅包含iproute2,导致route命令不可用。
解决方案:安装net-tools或使用ip命令
安装net-tools包(兼容传统习惯)
如果习惯使用route命令,可通过以下步骤安装:
- 更新软件包列表:
sudo yum update -y
- 安装
net-tools:sudo yum install -y net-tools
安装完成后,即可使用
route命令查看或管理路由表,例如route -n显示路由信息(-n避免DNS解析,加快显示速度)。
使用ip命令(推荐方式)
iproute2的ip命令功能更全面,以下是常用操作:
- 查看路由表:
ip route show
或简写为:
ip r
- 添加临时路由(重启后失效):
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
- 删除路由:
sudo ip route del 192.168.2.0/24
- 添加永久路由(需编辑网络配置文件):
编辑/etc/sysconfig/network-scripts/route-eth0(根据网卡名调整),添加如下内容:168.2.0/24 via 192.168.1.1 dev eth0
重启网络服务使配置生效:

sudo systemctl restart network
注意事项
- 权限问题:执行
route或ip命令时,若涉及路由修改,需使用sudo获取管理员权限。 - 网络服务影响:修改路由配置后,建议重启网络服务(
systemctl restart network)或使用ip route flush cache刷新缓存。 - 版本差异:CentOS 6及更早版本默认包含
net-tools,无需额外安装。
相关问答FAQs
A1:CentOS 7及后续版本采用iproute2替代net-tools,因为iproute2支持更现代的网络功能(如多路由表、隧道管理等),且代码维护更活跃,符合Linux网络工具的发展趋势。net-tools已处于维护模式,不再推荐用于新项目。
A2:若需永久路由,需将配置写入网络配置文件,对于eth0网卡,编辑/etc/sysconfig/network-scripts/route-eth0,按格式添加路由条目(如default via 192.168.1.1 dev eth0),然后重启网络服务(systemctl restart network),对于NetworkManager管理的系统,可通过nm-connection-editor图形工具或nmcli命令配置。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复