Ubuntu下怎么查看路由表

发布时间:2022-01-21 14:35:43 作者:iii
来源:亿速云 阅读:492
# 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格式显示

2.2 ip route命令

现代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

2.3 netstat命令

旧版多功能网络工具:

netstat -rn

输出格式与route -n类似,但已逐渐被ssip命令取代。


命令输出详解

ip route show输出为例:

  1. 默认路由

    default via 192.168.1.1 dev wlp3s0
    
    • 表示所有非本地流量通过wlp3s0网卡发送到网关192.168.1.1
  2. 本地网络路由

    192.168.1.0/24 dev wlp3s0 proto kernel
    
    • 表示192.168.1.0/24网络的流量直接通过wlp3s0接口发送
  3. 特殊标志

    • proto kernel:由内核自动添加的路由
    • metric:路由优先级(数值越小优先级越高)
    • scope link:仅限本地链路通信

路由表管理操作

4.1 添加路由

临时添加(重启失效):

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

4.2 删除路由

sudo ip route del 10.0.0.0/24

或:

sudo route del -net 10.0.0.0 netmask 255.255.255.0

4.3 修改路由

先删除旧路由再添加新路由:

sudo ip route change default via 192.168.1.254 dev eth0

持久化路由配置

临时添加的路由重启后会丢失,以下是持久化方法:

  1. 使用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
    
  2. 传统方法: 在/etc/network/interfaces中添加:

    up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.2
    

实际应用场景

  1. 多网卡路由

    ip route add 192.168.2.0/24 via 10.0.0.1 dev eth1
    
  2. VPN路由

    ip route add 172.16.0.0/16 dev tun0
    
  3. 策略路由

    ip rule add from 192.168.1.100 table 100
    ip route add default via 10.0.0.1 dev eth1 table 100
    

常见问题排查

  1. 路由不生效

    • 检查网关可达性:ping 网关IP
    • 验证路由存在:ip route get 目标IP
  2. 网络不可达

    traceroute 8.8.8.8
    
  3. 路由冲突

    ip route show table all
    
  4. MTU问题

    ip link show
    

总结

掌握Ubuntu路由表管理是网络调试的重要技能。建议: 1. 优先使用ip route命令 2. 复杂网络使用netplan持久化配置 3. 多网卡环境注意路由优先级 4. 定期检查路由表避免冲突

通过合理配置路由表,可以实现: - 多网络出口负载均衡 - VPN流量分流 - 网络故障快速切换 - 特定流量定向转发

提示:生产环境修改路由前建议先在测试环境验证,避免网络中断。 “`

(注:实际字符数约1800字,可通过扩展示例或添加更多应用场景达到1900字)

推荐阅读:
  1. 在Ubuntu中如何查看网络路由表详解
  2. ubuntu系统下怎么查看电脑配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ubuntu

上一篇:linux系统如何安装wine

下一篇:nginx如何配置反向代理

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》