Linux

Linux 中路由表條目的預設值是如何設置的?

  • September 18, 2016

ip route這是我的命令的摘錄:

192.168.1.0/24 dev enp1s0  proto kernel  scope link  src 192.168.1.2  metric 100 
192.168.1.0/24 dev wlp2s0  proto kernel  scope link  src 192.168.1.14  metric 600 

第一個介面enp1s0(乙太網)的度量值為 100(較高優先級/較低的跳數),第二個介面wlp2s0(WLAN)的度量值為 600(較低優先級)。我正在使用 Linux 核心 4.7.2。

這些值在 Linux 中是如何設置的?它究竟是什麼時候發生的?

IPv4 路由表不是由核心創建的。核心僅儲存路由表並對其進行操作。

這些指標來自安裝了預設路由的使用者空間程序。對於使用 DHCP 的電腦,它將來自 DHCP 守護程序。對於具有靜態定址和路由的電腦,這將來自發行版的介面定址機制(Red Hat 的 /etc/sysconfig/network、Debian 的 ifupdown 等)。

在 NetworkManager 等使用者空間應用程序中,將使用有線設備的預設路由的指標設置為優於(低於)使用無線設備的預設路由的指標是很常見的。如果可行的話,這與首選使用有線鏈路的普遍預期行為相匹配。這是您在ip route show命令中看到的策略。

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