Linux的ip route add network命令说明

时间:2020-01-09 10:41:04  来源:igfitidea点击:

如何在Linux操作系统上使用ip routenetworking命令添加静态路由?
您能解释一下如何使用ip命令吗?

说明:ip命令用于在Linux操作系统上为网络接口分配地址和/或配置网络接口参数。
该命令替换了现代Linux发行版上的旧的好,现在不推荐使用的ifconfig命令。
静态路由只不过是一种指定不能通过默认网关的流量的方法。
可以使用ip命令将静态路由添加到无法通过默认网关访问的其他网络。
例如,VPN网关或VLNAN可能需要使用ip命令。

ip route add network命令示例

语法非常简单:

ip route add {NETWORK/MASK} via {GATEWAYIP}
ip route add {NETWORK/MASK} dev {DEVICE}
ip route add default {NETWORK/MASK} dev {DEVICE}
ip route add default {NETWORK/MASK} via {GATEWAYIP}

在Linux上添加静态路由

您必须在su命令或sudo命令的帮助下以root用户身份登录:

$ su 

或者

$ sudo -i

一旦成为root用户,请使用ip命令设置一条临时路由:

# ip route add 172.10.1.0/24 via 10.0.0.100 dev eth0

验证一下:

# ip r

这是我为VPN网关设置路由的另一个示例:

# ip link set dev tun0 up mtu 1500
# ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
# ip route add 139.59.2.125/32 via 192.168.1.254
# ip route add 0.0.0.0/1 via 10.8.0.1
# ip route add 128.0.0.0/1 via 10.8.0.1

再次使用ip命令查看路由:

# ip r

警告:请勿通过ssh会话停止网络服务。

如何在Linux上使用ip命令添加永久静态路由

使用文本编辑器(例如nano命令或vim命令)在CentOS/RHEL/Fedora Linux上为接口eth0编辑配置文件,例如/etc/sysconfig/network-scripts/route-eth0:

# vim /etc/sysconfig/network-scripts/route-eth0

追加以下文本:

172.10.1.0/24 via 10.0.0.100 dev eth0

在vim文本编辑器中保存并退出(关闭)文件。
最后,在CentOS/RHEL/Fedora Linux上重新启动网络服务,以使它们生效:

# systemctl restart network.service

在CentOS/RHEL/Fedora Linux上重新启动网络服务

借助ping命令或ip命令测试新的路由:

# ping 172.10.1.10
# ip r

关于Debian/Ubuntu上的ip命令和持久性静态路由的说明

编辑您的/etc/network/interfaces文件以说eth0:

# vi /etc/network/interfaces

如下更新:

auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.254
## static ip config START ##
up /sbin/ip route add 172.10.1.0/24 via 10.8.0.1 dev eth0
down /sbin/ip route delete 172.10.1.0/24 via 10.8.0.1 dev eth0
## static ip config END ##

使用Debian或Ubuntu Linux时重新启动网络服务

# systemctl restart networking