Debian
在 Debian 9 中配置額外的故障轉移 IP
如何在 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
那麼它是否像現在描述的那樣工作?