这是非常简单的设置:
LB01: 10.200.85.1LB02: 10.200.85.2Virtual IPs: 10.200.85.100 - 10.200.85.200
每台机器还在虚拟IP上运行Apache(后来的Nginx)绑定,以便终止SSL客户端证书并代理到后端Web服务器.我需要这么多VIP的原因是无法在httpS上使用VirtualHost.
这是我的keepalived.conf:
vrrp_script chk_apache2 { script "killall -0 apache2" interval 2 weight 2}vrrp_instance VI_1 { interface eth0 state MASTER virtual_router_ID 51 priority 101 virtual_ipaddress { 10.200.85.100 . . all the way to . 10.200.85.200}
在BACKUP机器上有一个相同的配置,它工作正常,但只能达到第20个IP.
我找到了HOWTO讨论这个问题.基本上,他们建议只有一个VIP并“通过”这一个IP路由所有流量,并且“一切都会好”.这是一个好方法吗?我正在机器前面运行pfSense防火墙.
从以上链接引用:
ip route add $VNET/N via $VIPorroute add $VNET netmask w.x.y.z gw $VIP
提前致谢.
编辑:
@DavID Schwartz表示添加路由是有意义的,所以我尝试添加静态路由到pfSense防火墙,但这并没有像我预期的那样工作.
pfSense路线:
Interface: LANDestination network: 10.200.85.200/32 (virtual IP)Gateway: 10.200.85.100 (floating virtual IP)Description: Route to VIP .100
我还确保在我的主机上启用了数据包转发:
$cat /etc/sysctl.confnet.ipv4.ip_forward=1net.ipv4.ip_nonlocal_bind=1
我做错了吗?我还从keepalived.conf中删除了所有VIP,因此它只能通过10.200.85.100失败.
解决方法 最简单的解决方案是在不改变当前架构的情况下使用virtual_ipaddress_excluded.例如vrrp_instance VI_1 { interface eth0 state MASTER virtual_router_ID 51 priority 101 virtual_ipaddress { 10.200.85.100 } virtual_ipaddress_excluded { 10.200.85.101 . all the way to 10.200.85.200 }}
virtual_ipaddress_excluded包含keepalived将在服务器上启动和关闭的IP地址列表,但它们不包含在VRRP数据包本身中,因此它们不计入20 IP地址限制.
在我的配置中,我喜欢专门为virtual_ipaddress分配一个IP.即包含在VRRP数据包中并将其他所有内容放入virtual_ipaddress_excluded中的数据包.这是一个好主意,因为您不希望仅仅因为客户离开而必须更改主IP.
总结以上是内存溢出为你收集整理的linux – Keepalived超过20个虚拟地址全部内容,希望文章能够帮你解决linux – Keepalived超过20个虚拟地址所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)