У нас есть прокси-контейнер LXC, работающий на сервере Proxmox с несколькими IP-адресами (и mac-адресами) без проблем.Хостинг-компания (OVH) указывает на добавление каждого IP-адреса со своим виртуальным Mac, указывающим на шлюз по умолчанию хост-машины.Как уже говорилось, некоторое время это работало нормально, пока мы не выполнили обновление.
В Debian 9 по какой-то неизвестной причине (вероятно, связанной с изменениями именования конфигурации сети) та же самая настройка работает только для первого IPно не последующие.Я читал, что похожие проблемы случаются с CentOS, поскольку он не позволяет различным интерфейсам указывать на один и тот же шлюз.
Proxmox решил эту проблему (до Deb8по крайней мере) добавив правила публикации в / etc / network / interfaces следующим образом:
# --- BEGIN PVE ---
post-up ip route add xx.XX.XX.254 dev eth2
post-up ip route add default via XX.XX.XX.254 dev eth2
pre-down ip route del default via xx.XX.XX.254 dev eth2
pre-down ip route del xx.XX.XX.254 dev eth2
# END PVE ---
Теперь это похоже на работу только на первом интерфейсе, но не работает на остальных.
Поскольку мы не нашли причину изменения поведения с Deb8 на Deb9, мы можем думать о решениях только в виде:
- Объявление всех вторичных IP-адресов без шлюза и поиск способа созданияправило IP ROUTE, которое работает подобно:
ip route add default via xx.XX.XX.254 dev eth2
, но не имеет ясного объяснения, почему его не так сложно реализовать - Объявите только первый IP / MAC-адрес в контейнере и используйте новый синтаксис для добавления дополнительных IP-адресов.к тому же интерфейсу
ip address add 94.xx.xx.xx/32 dev eth2 label eth2:extraIP1
, но этот подход потребует использования единого виртуального MAC-адреса для ВСЕХ ips, что с нашей точки зрения устраняет причину возникновениянам IPs
Любая помощь будет принята с благодарностью или, в качестве альтернативы, некоторые рекомендации о том, где исправлять предлагаемое изменение ... для того, чтобы PVE не перезаписывал наши изменения при перезагрузке или изменениях определения и в идеале, только если ethXпошла вверх (не может сделать это в самом определении интерфейсов, поскольку PVE настаивает на перезаписи этого файла.
- / if-up.d /
- / interfaces.d /
- interfaces.tail (предположительно используется PVE в конце интерфейсов)