Linux route添加命令示例

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

如何在Linux操作系统上使用route命令添加新网关或者默认网关?
如何在基于Linux的服务器或者台式机系统上使用route命令显示或者设置新路由?
在Linux和类Unix系统中,网关不过是连接两个网络的设备。
通常将其称为路由器或者网关。
在大多数情况下,您的ISP调制解调器充当默认路由器或者网关。
您可以使用以下任何一种工具来添加,显示或者删除Linux内核路由表:

  • route命令:在Linux上显示/操作IP路由表。
  • ip命令:在Linux上显示/操纵路由,设备,策略路由和隧道。

显示您当前的路由表

打开终端或者使用ssh/console登录到服务器。
执行以下命令以显示路由表:

# route

或者

# route -n

输出示例:
使用route命令显示路由表

# ip route show

或者

# ip route list

输出示例:

使用ip命令

Linux route添加命令示例

我将向您展示ip和route命令。
最新的Linux发行版推荐并使用ip命令在Linux上设置或者显示默认网关IP地址。
让我们看一些例子。

Linux使用route命令添加默认路由

通过通过eth0网络接口连接的192.168.1.254网关路由所有流量:

# route add default gw 192.168.1.254 eth0

Linux使用ip命令添加默认网关(路由)

通过通过eth0网络接口连接的192.168.1.254网关路由所有流量:

# ip route add 192.168.1.0/24 dev eth0

验证Linux内核路由表中新添加的路由ip

要验证新的路由表,请执行:

# ip route list

或者

# route -n

验证新路线

使用ping命令来验证与路由器或者外部网络的连接:

# ping your-router-ip-here
# ping your-ISPs-Gateway-ip-here
# ping 192.168.1.254
# ping www.theitroad.local

您也应该能够ping通公共IP地址:

ping 1.1.1.1
ping 8.8.8.8

并使用dig命令或者host命令来解析域名,前提是/etc/resolv.conf配置了正确的DNS服务器名称:

host www.theitroad.local
host google.com
dig www.theitroad.local

如何使路由更改在重新启动后持续存在?

要使路由条目永久存在于Linux内核路由表中,您需要根据Linux发行版修改配置文件。

RHEL/CentOS/Fedora/Scientific Linux持久路由配置

编辑/etc/sysconfig/network并设置默认网关IP地址:

# vi /etc/sysconfig/network

输出示例:

## setup default gateway ##
GATEWAY=192.168.1.254

您可以通过编辑/etc/sysconfig/network-scripts/route-eth0文件,为eth0添加其他静态路由,如下所示:

10.0.0.0/8 via 10.10.29.65

上面的配置通过10.9.38.65路由器为网络10.0.0.0/8设置了静态路由。

Debian/Ubuntu Linux持久性静态路由配置

编辑/etc/network/interfaces文件,执行:

# vi /etc/network/interfaces

在eth0部分中添加以下内容:

up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254
down route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254

保存并关闭文件。

在Linux上添加持久静态路由的通用方法

以下方法适用于几乎所有Linux发行版。

编辑/etc/rc.d/rc.local或者/etc/rc.local,输入

# vi /etc/rc.local

追加以下行:

/sbin/ip route add 192.168.1.0/24 dev eth0

或者

/sbin/ip route add 192.168.1.0/24 dev eth0

在vim文本编辑器中保存并关闭文件。