这是我的 ldirectord.cf 文件
检查超时 = 10 检查间隔 = 2 自动重新加载 = 否日志文件 =“local0”静止 = 是
虚拟 = 192.168.1.4:7777 真实 = 192.168.1.52:7777 gate 调度程序 = wlc 协议 = tcp checktype = on
我无法从另一个内部 IP(192.168.1.81)连接并实际建立连接
192.168.1.52 上的套接字正在工作
有什么建议么?
编辑:
我也尝试过使用 masq,但无法使其工作。
答案1
这本身并不是 ldirectord 的问题,而是 NAT 问题,ldirectord(或者更确切地说,ipvs,即 ldirectord 配置的底层机制)仅仅是当前的受害者。
实际情况是,初始数据包的目标地址发生了变化,但源地址没有变化。这意味着当回复被发回时,它会直接发回发出请求的地址,源地址是接收请求的“后端”机器。
这声音很好,但问题是请求者并不期望从后端机器得到响应,而是期望从虚拟 IP 得到响应,因此当它从后端机器获得数据包时,它会丢弃它,因为它认为该数据包不相关。