公司有一个平台要提升安全力度,几位老大开会研究了半天得出的结论是“放弃了阿里云的slb而改用了自建的nginx来代替slb”,这个时候就需要运维人员在这台nginx上做iptables,现在公司的出口ip有60.191.94.118-120和60.12.11.48四个地址,而且需要开放的端口是80和443,于是乎在nginx的交互窗口里,我们就需要输入如下的语句:
iptables -A INPUT -s 60.191.94.118/32 -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -s 60.191.94.119/32 -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -s 60.191.94.120/32 -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -s 60.12.11.48/32 -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 80 -j DROP iptables -A INPUT -s 60.191.94.118/32 -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -s 60.191.94.119/32 -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -s 60.191.94.120/32 -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -s 60.12.11.48/32 -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j DROP
输入完毕之后,使用#service iptables save和#service iptables restart来保存iptables规则。然后在阿里云的域名绑定的地方把这台nginx的外网地址绑定到对应的域名里,在浏览器测试一下使用域名是否可以正确访问到服务。如果成功即代表正向流通。
然后测试一下反向,假设我现在使用的公司出口是60.191.94.120,#iptables -L看到的结果是这样的:
看到120这个ip在第三行,那么我们就禁止这个ip,使用#iptables -D INPUT 3,在另一个浏览器输入刚才的域名,这时候应该无法访问,这样就达到了反向验证的目的。而#service iptables restart的话,就会恢复正确访问。
参考资料:http://www.zsythink.net/archives/1199
时间: 2024-10-12 00:05:55