ldirectord балансировка внутреннего трафика не работает
Вот мой файл ldirectord.cf
checktimeout=10 checkinterval=2 autoreload= нет logfile="local0" бездействующий = да
виртуальный =192.168.1.4:7777 реальный =192.168.1.52:7777 планировщик шлюза = протокол wlc = tcp checktype = on
Я не могу подключиться с другого внутреннего ip (192.168.1.81) и фактически установить соединение
Розетка на 192.168.1.52 работает
Какие-либо предложения?
РЕДАКТИРОВАТЬ:
Я попытался использовать Masq, а не могу заставить его работать.
1 ответ
Это не проблема ldirectord как таковая, а скорее проблема NAT, для которой ldirectord (или, скорее, ipvs, который является базовым механизмом, который настраивает ldirectord), является просто текущей жертвой.
Происходит то, что адрес получателя исходного пакета изменяется, а адрес источника - нет. Это означает, что когда ответ отправляется обратно, он отправляется прямо на адрес, который сделал запрос, с адресом источника машины "бэкэнда", которая получила запрос.
Это звучит хорошо, но проблема в том, что запросчик не ожидает ответа от бэкэнд-машины, он ожидает ответа от виртуального IP-адреса, поэтому, когда он получает пакет от бэкэнд-машины, он отбрасывает его, потому что не думаю, что это актуально.