目前Linux中已經逐漸使用ip route命令替代route命令。但是route命令仍然十分有用

操作命令

  • route add -net 192.168.3.0 netmask 255.255.255.0 dev eth0
  • 添加一條指向網絡192.168.3.x的路由,發送接口為eth0
  • route add -host 192.168.3.16 dev eth0
  • 添加一個主機路由,也就是說目的地址為192.168.3.16的數據包從轉發到eth0
  • rotue add default gw 192.168.3.1 dev eth0
  • 添加一個默認網關,發送接口為eth0
  • route del -host 192.168.1.8 gw 192.168.166.1 dev wlan0
  • 增加一個目的地址為192.168.1.8的默認網關,使用wlan0發送數據
  • route del -net 192.168.3.0 netmask 255.255.255.0 dev eth0
  • 刪除192.168.3.0的路由
  • route del default gw 192.168.3.1 eth0
  • 刪除默認路由

route命令輸出

  • Destination:目標網絡或目標主機
  • Gateway:網關地址或 '*' (如未設置)
  • Genmask:目標網絡的子網掩碼;'255.255.255.255'為主機,'0.0.0.0'為缺省路由
  • Flags:路由標志Metric:通向目標的距離(通常以跳來計算)
    • U (route is up) :路由正常
    • H (target is a host) :主機路由
    • G (use gateway) :使用網關的間接路由
    • R (reinstate route for dynamic routing) :為動態選路恢復路由
    • D (dynamically installed by daemon or redirect) :該路由由選路進程或重定向動態創建
    • M (modified from routing daemon or rederict) :該路由已由選路進程或重定向修改
    • ! (reject route) :阻塞路由
  • Ref:使用此路由的活動進程個數(Linux內核並不使用)
  • Use:查找此路由的次數。根據-F 和 -C的使用,此數值是路由緩存的損失數或采樣數
  • Iface:使用此路由發送分組的接口(網卡名字)

route 和 ip route的區別

  • ip route以其最簡單的形式可用於顯示輸出主路由表。該命令的輸出與route的輸出明顯不同。
  • 可以通過ip route show table local命令查看本地路由表,而route命令無法查看。
  • ip route add與route add一樣,可以用於添加路由,但是ip route add 提供了更多route命令無法實現的選項