Debian

在 Debian 9 中配置額外的故障轉移 IP

  • June 24, 2019

如何在 Debian 9 中正確配置故障轉移 IP?重啟後我嘗試了以下設置

/etc/init.d/networking 重啟

新的 FO IP 可以 ping 通,但伺服器最多停機 30 分鐘。我認為界面設置中缺少一些東西。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface

allow-hotplug eno1

iface eno1 inet static
address Server-IP/26
gateway 89.163.138.65

auto eno2
iface eno2 inet static
address Failover_IP_1 
netmask 255.255.255.255
broadcast Failover_IP_1 

auto eno3
iface eno3 inet static
address Failover_IP_2 
netmask 255.255.255.255
broadcast Failover_IP_2 

因為我現在不能確定,如果可以使用故障轉移 IP 而不影響“主”IP,我將使用網路命名空間進行測試。我可以根據結果改進這個答案:我懷疑 ARP 問題是由“ARP 通量”(即一個介面代表另一個介面回答 ARP 請求時)引起的,因為同一 LAN 上有多個介面。

因此,我將刪除額外的故障轉移 IP 設置,並以 root 身份手動執行它,以在網路命名空間中使用這些 IP,從而將主機與任何網路問題隔離開來:

創建命名空間:

ip netns add failover1
ip netns add failover2

將其他介面移動到命名空間(如果失敗則停止):

ip link set eno2 netns failover1 || echo 'No support. stop here.'
ip link set eno3 netns failover2

配置…

ip -n failover1 link set lo up
ip -n failover2 link set lo up
ip -n failover1 link set eno2 up
ip -n failover2 link set eno3 up

ip -n failover1 address add Failover_IP_1 peer 89.163.138.65 dev eno2
ip -n failover1 route add default via 89.163.138.65
ip -n failover2 address add Failover_IP_2 peer 89.163.138.65 dev eno3
ip -n failover2 route add default via 89.163.138.65

這可以工作,因為提供商已經在網關上執行了設置,以便為同一 LAN 上的這些額外 IP 提供路由。

現在故障轉移地址應該是可ping的,對伺服器沒有任何副作用(但是在擁有這些IP的網路名稱空間上沒有設置服務或防火牆)。

您可以從它們執行命令(但根據設置,如果 DNS 伺服器在主機上執行,則沒有服務可能意味著沒有 DNS):

ip netns exec failover1 traceroute -n 8.8.8.8

刪除命名空間(這會將介面帶回主機,只要這些命名空間中沒有任何東西執行):

ip netns delete failover1
ip netns delete failover2

那麼它是否像現在描述的那樣工作?

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