Linux 路由添加命令示例
在 Linux 和类 Unix 系统中,网关不过是连接两个网络的设备。通常它被称为路由器或网关。在大多数情况下,您的 ISP 的调制解调器充当默认路由器或网关。您可以使用以下任何一种工具来添加、显示、删除 Linux 内核路由表:
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 是的 |
要求 | Linux 终端 |
类别 | 网络实用程序 |
先决条件 | ip 和 route 命令 |
操作系统兼容性 | Alma • Alpine • Arch • Debian • Fedora • Mint • openSUSE • Pop!_OS • RHEL • Rocky • Stream • SUSE • Ubuntu • WSL |
预计阅读时间 | 4 分钟 |
- route命令:显示或操作Linux上的IP路由表。
- ip 命令:显示或操作 Linux 上的路由、设备、策略路由和隧道。
显示当前路由表
打开终端应用程序或使用 ssh 命令登录服务器(或使用远程控制台)。接下来,输入以下路由命令以显示路由表并按 [Enter] 键:
# route
或
# route -n
图01:使用route命令显示路由表
# ip route show
或
# ip route list
图 02:ip 命令实际运行
Linux 路由添加命令示例
我将向您展示 ip 和 route 命令示例。大多数现代 Linux 发行版都推荐并使用ip 命令来设置或显示 Linux 上的默认网关 IP 地址。让我们看一些例子。
routeLinux 使用命令添加默认路由
通过 eth0 网络接口连接的 192.168.1.254 网关路由所有流量:
# route add default gw 192.168.1.254 eth0
ipLinux 使用命令添加默认网关(路由)
通过 eth0 网络接口连接的 192.168.1.254 网关路由所有流量:
# ip route add 192.168.1.0/24 dev eth0
验证Linux内核路由表中新添加的路由ip地址
要验证新的路由表,请输入:
# ip route list
或
# route -n
验证新路由是否有效
到目前为止,一切都很好。对吧?但是,您如何验证新的路由表是否正常工作?让我们使用ping 命令来验证与路由器或外部网络的连接:
您也应该能够 ping 公共 IP 地址。例如:
并且使用dig 命令或host 命令来解析域名,前提是/etc/resolv.conf 配置了正确的 DNS 服务器名称:
$ ping your-router-ip-here
$ ping your-ISPs-Gateway-ip-here
$ ping 192.168.1.254
$ ping www.example.com
$ ping 1.1.1.1
$ ping 8.8.8.8
$ host www.example.com
$ host google.com
$ dig www.example.com
如何使路由更改在重启后仍然有效?
为了使路由条目在 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 发行版。但是,在基于 systemd 的 Linux 发行版上,请参阅如何使用 systemd 启用 /etc/rc.local教程以获取更多信息。
编辑/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
总结
您学习了如何在 Linux 上添加路由。请参阅
- 在 Debian 或 Red Hat Enterprise Linux 中配置静态路由
- ip 和 route 命令都有很多选项。因此,请使用 man 命令或 help 命令查看以下手册页:
$ man 8 route
$ man 8 ip
$ man 8 ping
$ man 8 netstat
$ man 8 ss