VPN 修复部分国外 IP 访问
•
VPN 出国隧道对面的机器,有一些 iptables 配置错误,但一直没被发现,round robin 到那台机器时就会出现无法连接的问题。现已修复,并部署了监控脚本,由于之前的疏忽大意给大家带来的麻烦,深表歉意。
Update (2013-12-09): 由于 PREROUTING 里的 conntrack 有时不会给 TCP SYN 包打上 mark(的确是 “有时”,我也不清楚是什么原因),根据策略路由这些包会走 10.11.0.1,POSTROUTING 里的 SNAT 也就记下了这个 entry。这个连接后续的包会打上 mark,根据策略路由可能走 10.{9,10,11}.0.1 之一,如果走的是 10.{9,10}.0.1,SNAT 仍然会根据 SYN 包时确定的 NAT entry 修改源地址为 10.11.0.10,就出现了源地址与网卡不符的情况。事实上 SYN 包走网关 A,后续包走网关 B 就已经有问题了,即使没有 NAT 也不能正常工作。因此暂时关掉了 robin robin,所有包都走 10.11.0.1。