目前我有两台服务器运行Debian 7 HA主动/被动设置使用Pacemaker和Corosync如下:
node1->IP->xx.xx.xx.1 node2->IP->xx.xx.xx.2 VIP(Floating IP) ->xx.xx.xx.3
它configuration了心跳以进行故障切换设置。 以上所有知识产权都是面向公众的。
当其他节点发生故障时,系统全部按照高可用性运行。当其中一个系统处于活动状态时,将有两个IP分配给一个服务器。
所以这是我的问题 –
如何仅允许(监听)特定IP(VIP)上的stream量来为eg-DB服务器服务,而不是来自外部其他公共地址(xx.1)的stream量。
如果你有什么担心安全等问题的设置,请评论..
谢谢
我是否必须为不同的IP(VIP和静态公共IP)添加任何单独的iptable规则?
这取决于你现有的iptables规则是怎样的。 如果你明确允许访问特定的IP地址,那么是的,你需要给VIP添加规则。 如果你只是接受连接到特定的端口,那么没有。
如何仅允许(监听)特定IP(VIP)上的stream量来为eg-DB服务器服务,而不是来自外部其他公共地址(xx.1)的stream量。
这取决于用于特定服务的软件。 例如, MySql可以被告知绑定到一个特定的IP地址,以便连接到任何其他IP地址将不会成功。 您还可以使用iptables来阻止除VIP上的高可用服务端口之外的所有内容。
我个人对iptables是总是明确地允许我知道的那些连接是必要的,并且阻止其他一切。
如果您想阻止VIP上的所有内容,例如http端口80:
iptables -A INPUT -d xx.xx.xx.3 --protocol tcp --dport 80 -j ACCEPT iptables -A INPUT -d xx.xx.xx.3 -j REJECT
同样根据您的意愿允许或禁止非VIP地址上的端口。
你应该有一个早期的INPUT规则,接受所有协议icmpstream量,顺便说一句; 很多模糊的networking问题是由于无意中阻止icmp数据包造成的。