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
可以更靈活地進行網絡配置操作,並且是未來網絡管理工具的首選。