# 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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。