我们有一个实习生的服务器networking。 在这个实习生networking中,只有一台服务器可以访问互联网,并作为路由/防火墙,以便其他服务器也可以访问互联网。
现在我们要复制我们的防火墙,因为如果他崩溃,我们不能访问我们的任何服务器。
在我们的实习生服务器的界面有没有简单的方法来实现网关的故障转移?
我的第一个想法是使脚本从/etc/networking/interface
更改网关,然后重新启动networking。 但这不是很可靠。
是否有像DNS的第一和第二个条目适用于ip转发/路由?
对于您的情况最简单的方法是使用keepalived ,这是一个VRRP的实现。
在每个防火墙上的Debian Linux中安装它:
sudo apt-get install keepalived
然后编辑文件/etc/keepalived/keepalived.conf
对于主人(类似):
vrrp_instance default-gw { state MASTER virtual_router_id 1 interface eth1 priority 100 authentication { auth_type pass auth_pass pass1234 } virtual_ipaddress { xxxx/xx label eth0:pub yyyy/yy label eth1:lan } }
和奴隶configuration将是相同的,除了
state SLAVE priority 101
我可能会有一些configuration错误(我只是屠杀了我没有设置故障转移地址的公共端,但是有两个单独的地址),但这是它的本质。 它所做的是创build一对虚拟IP地址。 eth0:pub是公共的,eth1:lan是private的。
如果一个主人倒下,另一个主人接pipe。
在/ usr / share / doc / keepalived / samples下面有一些例子,它是一个function强大的工具,具有很多function。 你甚至可以负载平衡服务器。 不幸的是,网站上的网站和文档并没有跟上产品开发的步伐,因此您可能会发现一些文档示例并不正确。 我总是通过Googlesearchfind答案。
如果您使用NAT,那么也有一种产品可以接pipe内存状态。 你可能会也可能不需要它。 但是这需要第三个networking接口。
我会build议使用CARP作为答案。 不幸的是,它的主要实现是在BSD系列,还没有成为像debian这样的主streamLinux发行版。 但是,您可以使用conn-track-tools
与iptables
结合使用,从而使CARP的行为更加接近。 这是一个如何在Debian中免费提供的软件。 [1]