Представьте себе следующую установку.
У меня есть машина A, которая экспортирует общий сетевой ресурс и доступна, скажем, под 1.1.1.1.
Вторая машина B с IP, скажем, 2.2.2.2, монтирует этот общий ресурс, все в порядке.
Сейчас пытаюсь настроить какую-то сине-зеленую разработку.
Машина B запускается с IP 2.2.2.2. Когда я назначаю какой-то новый виртуальный IP-адрес (например, ElasticIP от AWS, но в моем случае плавающий IP-адрес из Hetzner Cloud), я создаю новую запись POSTROUTING в iptables с помощью
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source $FIP
что правильно приводит к
10 20 1415 SNAT all -- * eth0 0.0.0.0/0 0.0.0.0/0 to:x.x.x.x
Это означает, что машина B теперь обменивается данными с новым IP-адресом.
Вот и боль:
Я больше не могу монтировать и / или пинговать машину A с IP 1.1.1.1 с машины B. На машину A можно пинговать откуда угодно, кроме машины B с новым IP-адресом.
Как придешь? Любые идеи?