На машинах Debian я хотел бы настроить VIP между двумя узлами для общедоступного IP-адреса, но я бы не хотел использовать три IP-адреса для взаимодействия ucarp между двумя узлами.
Могу ли я настроить его так, чтобы ucarp общался с использованием другого физического интерфейса, чем тот, который содержит VIP?
Во-первых, это только слегка проверено ... :-)
Старый и, казалось бы, почти забытый трюк - это возможность настроить несколько адресов на разные подсети, но на одном физическом интерфейсе. Итак, если eth0 является вашим общедоступным интерфейсом, настройте мастер, скажем, с адресом 172.16.0.1/30, а для вашего отказоустойчивого блока - 172.16.0.2/30. Эти пакеты должны пересылаться через локальный коммутатор (таким образом гарантируя, что сообщения vrrp работают друг с другом), но не будут пересылаться вашим интернет-провайдером [1]. Установите виртуальный адрес (eth0: ucarp) на свой публичный IP. Обратите внимание, что маска подсети для виртуального IP-адреса не будет / 32.
Я предполагаю, что вы хотите «избежать использования трех IP-адресов», потому что вы не хотите использовать три общедоступных IP-адреса, а не по какой-либо другой причине.
[1] Если ваш интернет-провайдер не настроен неправильно и пересылает многоадресные пакеты с частных IP-адресов. Ой!