Настройка дополнительных IP-адресов аварийного переключения в Debian 9

usar módulo de subproceso

import subprocess
command = 'sudo apt update'
subprocess.check_call(command.split())
1
22.06.2019, 07:40
1 ответ

Потому что сейчас я не могу знать наверняка,Я бы протестировал использование сетевых пространств имен, если можно использовать отказоустойчивые IP-адреса без воздействия на «основной» IP-адрес. Я могу улучшить этот ответ в зависимости от результатов. :Я подозреваю, что проблемы с ARP вызваны «потоком ARP» (, то есть когда один интерфейс отвечает на запрос ARP от имени другого )из-за нескольких интерфейсов в одной и той же локальной сети.

Так что я бы удалил дополнительные настройки аварийного 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

Это может работать, потому что провайдер уже запустил настройки на шлюзе, чтобы иметь маршруты для этих дополнительных IP-адресов в той же локальной сети.

Теперь отказоустойчивые адреса должны быть доступны для проверки связи без каких-либо побочных эффектов на сервере. (Но ни службы, ни брандмауэры не установлены в сетевых пространствах имен, владеющих этими IP-адресами ).

Из них можно запускать команды (, но в зависимости от настроек отсутствие службы может означать отсутствие DNS, если DNS-сервер работал на хосте):

ip netns exec failover1 traceroute -n 8.8.8.8

Удалить пространства имен (, которые вернут интерфейсы к хосту, если в этих пространствах имен ничего не осталось):

ip netns delete failover1
ip netns delete failover2

На данный момент все работает так, как описано?

0
28.01.2020, 00:08

Теги

Похожие вопросы