vlan和lvs

一般说来一个服务器如果同时有公网ip和私网ip,那么网卡上都是配置一下不同的vlan tag使得网卡能用属于不同vlan内的地址。
因为LVS在用DR模式只是需要Director和RS能通过1个子网通信。所以当我的机器同时都有公网IP和私网IP的时候,配RS时就写的私网的IP。结果发现是跑不通的,后来想了一下是因为这个包在走内网地址转发的时候vlan tag信息丢了,造成包到RS后是处理不了的。

在使用TUN模式的时候是么有这样的问题的,但TUN模式有个很头大的问题是在于不支持MTU协商。如果client段发的请求报文超过1440(1440+ipip头20字节+20字节tcp头+20字节ip头)那么这个请求是不能处理的。因为client端完全在是不能动的,这个时候就只有靠iptables来解决了。


 iptables -A OUTPUT -s VIP -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN,ACK -j TCPMSS --set-mss 1440

上面的这条就可以让RS在和client端三次握手的时候向对方表明自己的MSS是1440,避免client段发送的报文大于1440.

此条目发表在lvs分类目录。将固定链接加入收藏夹。