Можно ли отправить трафик 127.0.0.1 на eth0, сохранив этот IP в интерфейсе loopback? (Linux)

Можно ли отправить трафик 127.0.0.1 на eth0, сохранив этот IP в интерфейсе loopback? (Linux)

Вопрос довольно прост, как и в названии, но почти все, кому я его задаю, пытаются убедить меня, что я сумасшедший или глупый. Я объясню здесь, зачем мне это нужно, и я приветствую другие решения для выполнения этой задачи, но я все равно буду очень благодарен, если вы дадите мне ответ (особенно если это не "нет" :)) на вопрос.

Итак, у меня есть пул машин в одной сети (скажем, 10.0.0.1/24), их IP-адреса — 10.0.0.1, 10.0.0.2, ..., 10.0.0.10

У них также есть публичный IP-адрес в Интернете (скажем, 8.8.8.8), настроенный на их интерфейсе обратной связи (т.е. lo:dsr) [подождите, не называйте меня пока сумасшедшим]

На этом пуле у меня есть балансировщик нагрузки Direct Server Return. Если вы не знаете, как это работает, посмотрите это:http://www.weirdnet.nl/images/natvsdsr.png

Пока все хорошо, все работает идеально.

Теперь возникает проблема. Эти машины не запускают ни одной службы. Они запускают 3 разные службы на портах 8080, 8081 и 8082, и они общаются между собой (через сеть).

Поэтому, когда служба 8080 на машине A пытается связаться со службой 8081 (через IP-адрес балансировщика нагрузки 8.8.8.8), Linux «достаточно умен», чтобы заметить, что машине A принадлежит IP-адрес 8.8.8.8, и вместо этого отправить этот пакет на интерфейс обратной связи.

Обычно это не проблема, но поскольку это высокодоступная система, возникнут проблемы, если по какой-либо причине (например, из-за доставки) служба B будет остановлена ​​на машине A.

Связанный контент