欧盟数据中心有5台服务器,美国数据中心有5台服务器。 所有服务器都安装了一些Redis实例,并且从列表(通过iptables )为IP地址打开了Redis端口。 来自所有服务器的所有Redis实例正在相互通信。
添加新服务器真的很痛苦,因为我应该授予所有服务器上的Redis端口访问新IP地址的权限。
有没有办法避免这个例程? 首先简单的方法是根据这个列表获取一些ip地址列表并刷新iptables规则。 或者也许有更优雅的解决scheme?
只是我的小想法:
创build一个ipset,在iptables中制定你需要的规则,然后只更新一个设置来添加一个新的ip,而不需要再次触摸iptables规则。 最后一步可以通过脚本轻松实现自动化,但手动操作又快又快。 (我用这个来下载和过滤不良ips的列表)。
ipset -N myiplist chooseYourType
-A INPUT -m set --match-set myipslist src -j ACCEPT
ipset add myipslist 1.2.3.4
不要忘了,iptables就像iptables的规则,他们需要重新启动服务器后重新加载。
这只是尖叫,像厨师或木偶的工作照顾。 这里是它的木偶库: https : //forge.puppetlabs.com/puppetlabs/firewall这是厨师之一: https : //github.com/opscode-cookbooks/iptables
一旦你进入像厨师或木偶这样的工具,你会发现很多其他的东西可以自动化。 所以,如果你今天没有这样的工具,那么花费你的时间和精力去完成一个configuration,部署,打补丁等工作是很值得的。这需要一点时间,但是就像我说的那样值得从长远看。