Linux

選擇預設網路介面

  • June 25, 2011

我有一個有 2 個介面的伺服器。eth0 比 eth1 快 100 倍。儘管出於某種原因,每次重新啟動時,都會隨機選擇預設界面。更煩人的是,它們都使用相同的網關,因此選擇預設網關將不起作用。linux如何選擇預設界面,如何選擇預設界面?

這是我route -n的幫助解釋情況。

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
173.246.100.0   0.0.0.0         255.255.252.0   U     0      0        0 eth1
173.246.100.0   0.0.0.0         255.255.252.0   U     0      0        0 eth0
0.0.0.0         173.246.103.254 0.0.0.0         UG    0      0        0 eth1
0.0.0.0         173.246.103.254 0.0.0.0         UG    100    0        0 eth0

PS。這是一個 VPS,所以我的提供商也可能在某個地方有問題。第二個介面的原因是為dns設置了另一個IP,因為它只做DNS,非常慢。

編輯:這是一個 Ubuntu 10.04 伺服器

用於ifmetric更改兩個介面的度量值。將 eth1 增加到 eth0 以上將導致 eth0 用於所有連接。徹底解決問題。

您應該禁用第二個慢速介面,然後將輔助 IP 添加到主 IP。為此,請使用以下命令編輯您的介面文件:

sudo vi /etc/network/interfaces

一旦您訪問了網路文件,您可能會看到如下內容:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
   address 173.246.100.1
   network 173.246.100.0
   netmask 255.255.252.0
   broadcast 173.246.100.255
   gateway 173.246.103.254

auto eth1
iface eth0 inet static
   address 173.246.100.2
   network 173.246.100.0
   netmask 255.255.252.0
   broadcast 173.246.100.255
   gateway 173.246.103.254

重新配置它看起來像這樣:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
   address 173.246.100.1
   network 173.246.100.0
   netmask 255.255.252.0
   broadcast 173.246.100.255
   gateway 173.246.103.254

iface eth0:1 inet static
   address 173.246.100.2
   network 173.246.100.0
   netmask 255.255.252.0

這會將兩個 IP 分配給第一個 NIC。完成此操作後,保存文件並執行:

/etc/init.d/networking restart

並且更改將被送出。

<– 編輯–>

根據我的經驗,如果它在同一個虛擬交換機上,那應該沒關係,儘管託管環境可能會進一步鎖定它。不過,這可能值得一試,如果它不起作用,您可以要求您的託管公司將虛擬界面更改為更強大的東西。

<– 編輯–>

此外,如果您的主 IP 目前沒有為 DNS 提供服務,那麼為什麼不將其也用於 DNS 呢?您可以在一個 IP 上託管多個不同的服務,因為它們使用不同的埠。

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