route 指令在 Ubuntu 中用於查看和修改 IP 路由表,它可以讓你查看網絡數據包的傳輸路徑,並設定如何將數據包發送到特定的網絡接口。
基本用法
- 查看當前的路由表
route
或者使用更詳細的輸出:
route -n
-n選項告訴route指令直接顯示 IP 地址,而不是嘗試解析域名,這樣可以加快顯示速度。
- 添加靜態路由
sudo route add -net <network> netmask <netmask> gw <gateway> dev <interface>
<network>:指定目標網絡。例如,192.168.1.0。<netmask>:指定子網掩碼。例如,255.255.255.0。<gateway>:指定網關(Gateway),這是數據包發送到該網絡時的下一跳路由器的 IP 地址。<interface>:指定網絡接口,例如eth0。 範例:
sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
這將添加一條路由,將發往 192.168.1.0/24 網段的流量通過 192.168.1.1 這個網關發送,並使用 eth0 這個網絡接口。
- 添加默認路由(Default Gateway)
sudo route add default gw <gateway-ip> dev <interface>
<gateway-ip>:默認路由的網關 IP 地址。<interface>:要使用的網絡接口。 範例:
sudo route add default gw 192.168.1.1 dev eth0
這將設置 192.168.1.1 為默認網關,所有無法匹配具體路由的流量將通過這個網關發送。
- 刪除路由
sudo route del -net <network> netmask <netmask> gw <gateway> dev <interface>
- 和添加路由的語法類似,只是將
add換成del。 範例:
sudo route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
- 刪除默認路由
sudo route del default gw <gateway-ip> dev <interface>
範例:
sudo route del default gw 192.168.1.1 dev eth0
使用 ip route 代替 route
在現代的 Ubuntu 系統中,route 指令已被 ip route 指令替代,ip 指令更為強大且更現代化。等價的操作如下:
- 查看路由表
ip route show
- 添加路由
sudo ip route add <network>/<prefix> via <gateway-ip> dev <interface>
例如:
sudo ip route add 192.168.1.0/24 via 192.168.1.1 dev eth0
- 添加默認路由
sudo ip route add default via <gateway-ip> dev <interface>
- 刪除路由
sudo ip route del <network>/<prefix> via <gateway-ip> dev <interface>
- 刪除默認路由
sudo ip route del default via <gateway-ip> dev <interface>
使用 ip route 可以更靈活地進行網絡配置操作,並且是未來網絡管理工具的首選。