您好,登录后才能下订单哦!
# Ubuntu下怎么查看路由表
## 目录
1. [路由表基础概念](#路由表基础概念)
2. [查看路由表的常用命令](#查看路由表的常用命令)
- [2.1 route命令](#21-route命令)
- [2.2 ip route命令](#22-ip-route命令)
- [2.3 netstat命令](#23-netstat命令)
3. [命令输出详解](#命令输出详解)
4. [路由表管理操作](#路由表管理操作)
- [4.1 添加路由](#41-添加路由)
- [4.2 删除路由](#42-删除路由)
- [4.3 修改路由](#43-修改路由)
5. [持久化路由配置](#持久化路由配置)
6. [实际应用场景](#实际应用场景)
7. [常见问题排查](#常见问题排查)
8. [总结](#总结)
---
## 路由表基础概念
路由表(Routing Table)是操作系统内核中存储的网络路由信息数据库,它决定了数据包从哪个网络接口发送以及下一跳地址。每个条目包含以下关键信息:
- **目标网络**:数据包要到达的网络地址
- **子网掩码**:用于划分网络范围
- **网关**:数据包转发的中继设备
- **接口**:本地网络接口名称
- **跃点数**:路由优先级指标
在Ubuntu系统中,路由表分为三种类型:
1. **主机路由**:指向特定IP地址的路由
2. **网络路由**:指向整个子网的路由
3. **默认路由**(0.0.0.0/0):当没有匹配路由时的兜底路径
---
## 查看路由表的常用命令
### 2.1 route命令
传统但逐渐被淘汰的工具,基本语法:
```bash
route -n
输出示例:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlp3s0
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
参数说明:
- -n
:以数字形式显示地址(不解析主机名)
- -v
:显示详细信息
- -e
:以netstat格式显示
现代Linux推荐工具(iproute2套件):
ip route show
或简写为:
ip r
典型输出:
default via 192.168.1.1 dev wlp3s0 proto dhcp metric 600
192.168.1.0/24 dev wlp3s0 proto kernel scope link src 192.168.1.100 metric 600
旧版多功能网络工具:
netstat -rn
输出格式与route -n
类似,但已逐渐被ss
和ip
命令取代。
以ip route show
输出为例:
默认路由:
default via 192.168.1.1 dev wlp3s0
本地网络路由:
192.168.1.0/24 dev wlp3s0 proto kernel
特殊标志:
proto kernel
:由内核自动添加的路由metric
:路由优先级(数值越小优先级越高)scope link
:仅限本地链路通信临时添加(重启失效):
sudo ip route add 10.0.0.0/24 via 192.168.1.2 dev eth0
或使用传统命令:
sudo route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.2
sudo ip route del 10.0.0.0/24
或:
sudo route del -net 10.0.0.0 netmask 255.255.255.0
先删除旧路由再添加新路由:
sudo ip route change default via 192.168.1.254 dev eth0
临时添加的路由重启后会丢失,以下是持久化方法:
使用netplan(Ubuntu 18.04+):
编辑/etc/netplan/01-netcfg.yaml
,添加routes配置:
network:
version: 2
ethernets:
eth0:
routes:
- to: 10.0.0.0/24
via: 192.168.1.2
应用配置:
sudo netplan apply
传统方法:
在/etc/network/interfaces
中添加:
up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.2
多网卡路由:
ip route add 192.168.2.0/24 via 10.0.0.1 dev eth1
VPN路由:
ip route add 172.16.0.0/16 dev tun0
策略路由:
ip rule add from 192.168.1.100 table 100
ip route add default via 10.0.0.1 dev eth1 table 100
路由不生效:
ping 网关IP
ip route get 目标IP
网络不可达:
traceroute 8.8.8.8
路由冲突:
ip route show table all
MTU问题:
ip link show
掌握Ubuntu路由表管理是网络调试的重要技能。建议:
1. 优先使用ip route
命令
2. 复杂网络使用netplan持久化配置
3. 多网卡环境注意路由优先级
4. 定期检查路由表避免冲突
通过合理配置路由表,可以实现: - 多网络出口负载均衡 - VPN流量分流 - 网络故障快速切换 - 特定流量定向转发
提示:生产环境修改路由前建议先在测试环境验证,避免网络中断。 “`
(注:实际字符数约1800字,可通过扩展示例或添加更多应用场景达到1900字)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。