Linux

綁定到虛擬介面的路由,Debian,以及如何確定細節,事後

  • July 27, 2012

我最近開始了一份新工作,並且繼承了一個存在很多問題的現有基礎架構。

其中一個問題是,以前的管理員在命令行上向某些伺服器添加了靜態路由,綁定到虛擬介面,而沒有將它們送出到伺服器配置。我偶然發現了這一點,瀏覽了根歷史記錄。

我面臨的問題是歷史是有限的。我只有幾個命令行條目——但不是全部。但是,我熟悉的診斷工具都不會顯示綁定到哪些虛擬介面路由。

具體來說,(為了系統隱私而使用 IP 地址),當然:

root@web-a:/home/paul# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
14.17.24.24     10.124.74.65    255.255.255.255 UGH   0      0        0 eth0
14.17.24.23     10.124.74.65    255.255.255.255 UGH   0      0        0 eth0
18.29.146.135   10.124.74.65    255.255.255.255 UGH   0      0        0 eth0
58.21.196.19    10.124.74.65    255.255.255.255 UGH   0      0        0 eth0
10.124.74.64    0.0.0.0         255.255.255.192 U     0      0        0 eth0
0.0.0.0         10.124.74.65    0.0.0.0         UG    0      0        0 eth0

root@mweb-a:/home/paul# ip route show
14.17.24.24   via 10.124.74.65 dev eth0  src 10.124.74.73
14.17.24.23   via 10.124.74.65 dev eth0  src 10.124.74.73
18.29.146.135 via 10.124.74.65 dev eth0  src 10.124.74.73
58.21.196.19  via 10.124.74.65 dev eth0  src 10.124.74.73
10.124.74.64/26 dev eth0  proto kernel  scope link  src 10.124.74.69
default via 10.124.74.65 dev eth0

root@web-a:/home/paul# history|grep "route add"
66  2012-07-26 14:46:27 - route add -net 14.17.24.23  netmask 255.255.255.255 gw 10.124.74.65 eth0:2
67  2012-07-26 14:46:27 - route add -net 14.17.24.24  netmask 255.255.255.255 gw 10.124.74.65 eth0:2

希望這清楚地通過了。‘route -n’, ‘ip route show’,都不顯示路由綁定到的實際虛擬介面。所以我有兩條路由,我不知道它們應該去哪個虛擬介面(伺服器上有五個虛擬 IP)。

現在,一個重要的警告是我在路由方面很爛。我了解基礎知識-僅此而已。我已經做了很長一段時間的 unix/系統管理員,但是路由總是讓我望而卻步,而且我從來不需要做任何比正確探測一些介面更高級的事情。

我的意思是,我什至不知道路由綁定到特定的虛擬介面是否*重要。*從輸出來看,我懷疑因為一切都通過同一個網關出去,(並且所有虛擬介面都在同一個 10.124.74 網路上),所以它們不需要綁定到單獨的 virt 介面 - 我’ d 認為它們可以只綁定到物理介面。

但是,我不願意按照“應該沒問題”的原則進行操作。

非常感謝您提供清晰的幫助。

虛擬介面(即eth0:0)是為了在ifconfig. 它們實際上並不存在——它們只是告訴ifconfig您要修改哪個 IP 地址的方式。核心和 iproute2 工具(即ip)不知道這些虛擬介面,這就是為什麼一切都只提到真實介面的原因。該route命令可能已使用虛擬介面來確定要使用的源地址,但否則會直接刪除它。

您應該使用該ip工具,該工具支持介面上的多個地址,如果您需要為路由設置特定的源地址,請使用src參數 to 。ip route

引用自:https://serverfault.com/questions/411966