好的,所以我有一个安装了 HAProxy 的服务器盒,我需要它将流量转发到两个 MySQL 服务器。它们都位于完全不同的数据中心。当我从配置中删除它时它会起作用:
source 0.0.0.0 usesrc clientip
但是,启用后我无法从 MySQL 服务器获得响应。
我在 HAProxy 服务器上有这些 IPTables 规则:
iptables -t mangle -N DIVERT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 111
iptables -t mangle -A DIVERT -j ACCEPT
ip rule add dev eth0 fwmark 111 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
并且无法建立连接。但是,当我添加此内容时:
iptables -A POSTROUTING -t nat -j MASQUERADE
它可以工作,但没有发送客户端 IP,只是发送代理 IP。
MySQL 服务器配置为将 …