在Linux系统中,添加路由的命令主要通过 `ip route` 或传统的 `route` 命令实现,以下是具体用法和相关扩展知识:
1. 使用 `ip route` 命令(推荐)
- 添加默认网关
bash
ip route add default via <网关IP> dev <网络接口>
例如:
bash
ip route add default via 192.168.1.1 dev eth0
- 添加特定网段的路由
bash
ip route add <目标网络> via <网关IP> dev <接口>
例如:
bash
ip route add 10.0.0.0/24 via 192.168.1.2 dev eth0
- 持久化路由
临时添加的路由重启后会失效,持久化需将命令写入 `/etc/network/interfaces`(Debian系)或创建 `/etc/sysconfig/network-scripts/route-<接口>` 文件(RHEL系)。
2. 使用传统 `route` 命令
- 添加默认网关
bash
route add default gw <网关IP> <接口>
例如:
bash
route add default gw 192.168.1.1 eth0
- 添加特定网段路由
bash
route add -net <目标网络> netmask <子网掩码> gw <网关IP>
例如:
bash
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.2
3. 高级操作
- 多路径路由(ECMP)
使用 `ip route` 添加多条等成本路径实现负载均衡:
bash
ip route add <网络> nexthop via <网关1> dev <接口1> nexthop via <网关2> dev <接口2>
- 策略路由
结合 `ip rule` 实现基于源IP或其他条件的路由策略:
bash
ip rule add from <源IP> table <自定义表>
ip route add <目标网络> via <网关> table <自定义表>
- 查看路由表
bash
ip route show
route -n
4. 其他工具
- NetworkManager
GUI工具或 `nmcli` 命令可配置路由,适合桌面环境。
- 配置文件
RHEL系在 `/etc/sysconfig/network-scripts/` 下配置,Debian系在 `/etc/network/interfaces` 中添加 `up ip route...` 指令。
注意事项:
临时路由重启后失效,生产环境需结合持久化配置。
使用 `ip route` 更现代且功能更全,`route` 命令逐渐淘汰。
复杂网络需结合防火墙(如 `iptables`/`nftables`)和策略路由管理流量。