Linux使用ip命令设置路由
时间:2020-01-09 10:40:25 来源:igfitidea点击:
您能解释ip命令在基于Linux的系统上设置路由吗?
如何使用ip命令配置Linux内核的路由表?
ip命令可在Linux上用于以下
- 显示/操纵路线
- 显示/操作设备
- 路由策略
- 隧道
如何查看或显示Linux路由表
执行以下命令:
$ ip route show
或者
$ ip route list
输出示例:
10.0.31.18 dev ppp0 proto kernel scope link src 10.1.3.103 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.1 192.168.1.0/24 dev ra0 proto kernel scope link src 192.168.1.106 169.254.0.0/16 dev eth0 scope link metric 1000 10.0.0.0/8 dev ppp0 scope link default via 192.168.1.1 dev ra0 metric 100
每个条目不过是路由表(Linux内核路由表)中的一个条目。
例如,以下行表示本地网络的路由。
到同一网络中系统的所有网络数据包都直接通过设备ra0发送:
192.168.1.0/24 dev ra0 proto kernel scope link src 192.168.1.106
我们的默认路由是通过ra0接口设置的,即所有无法根据路由表的先前条目发送的网络数据包都是通过此条目中定义的网关发送的,即192.168.1.1是我们的默认网关。
如何在Linux上设置到本地连接的网络eth0的路由
输入以下命令以直接通过设备eth0:将所有数据包发送到本地网络192.168.1.0,执行:
# ip route add 192.168.1.0/24 dev eth0
或通过192.168.1.254网关为192.168.1.0/24网络路由流量:
# ip route add 192.168.1.0/24 via 192.168.1.254 dev eth0
设置默认路由
无法根据路由表的先前条目发送的所有网络数据包都通过以下默认网关发送:
# ip route add default via 192.168.1.254
从路由表中删除路由
输入以下命令
# ip route delete 192.168.1.0/24 dev eth0
让我们也删除默认路由:
# ip route add default via 192.168.1.254 dev eth0
Linux使用ip命令添加默认路由/静态路由或删除路由。
如何验证路由配置?
使用ping命令或host命令命令来确保您可以访问网关:
ping Your-Gateway-Ip-Here ping Your-DNS-Server-IP-Here ping 192.168.1.254 ping www.theitroad.local host www.theitroad.local
Linux使用ip命令设置路由并将其保存到配置文件
重新启动Linux服务器时,使用ip工具(或route命令)进行的所有路由设置都将丢失。
请参阅我们有关在Debian/Ubuntu或CentOS/Red Hat Enteprise Linux系统中配置静态路由的前一篇文章。
如何在Ubuntu或Debian上添加静态路由
这是使用cat命令显示的eth0的示例
cat /etc/network/interfaces
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.24 gateway 192.168.1.254
在CentOS/RHEL上添加静态路由
为接口eth0创建一个名为/etc/sysconfig/network-scripts/route-eth0的文件,并添加静态路由条目:
10.105.28.0/24 via 10.105.28.1 dev eth0
保存并关闭文件。
重新启动网络服务:
sudo service network restart
或者
sudo systemctl restart network