Routing

路由表和預設路由

  • December 29, 2011

我的路由表中有兩條規則。預設路由,即到網關,第二個路由將網段中的所有內容轉發到 * 或沒有網關。這第二條規則是必要的,以便預設情況下本地數據包不會首先發送到路由器,還是 nic 足夠聰明,可以檢查自己的設置並查看發送的數據包是否在其網段中,而不是將其發送到網關?

通常,您會在大多數 *nix 風格的路由表中看到(至少)兩條規則。

您將擁有到本地網路的路由(對於本範例,10.11.12.0/24):

10.11.12.0       0.0.0.0         255.255.255.0   U         0 0          0 eth0

還有一個標識您的預設路線。

0.0.0.0          10.11.12.1      0.0.0.0         UG        0 0          0 eth0

所以,這有效地告訴你的核心是:

將任何數據包10.11.12.0/24直接發送到 eth0,而不是專門將它們發送到預設路由器(標誌:U = 路由已啟動)

將任何數據包發送到本地網路以外的任何地址(0.0.0.0 匹配任何內容)到網關(10.11.12.1)(標誌:U = 路由已啟動,G = 網關)。

如果您有更多的介面,或者您是多宿主的,或者您配置了特定的網路或主機路由,您可能會看到更多的路由,但這是您經常看到的最低限度。

通過配置和啟動介面,核心將自動創建該本地網路路由。

您無需手動添加該路線。

引用自:https://unix.stackexchange.com/questions/27850