云主机防火墙设置 - housekeeper-software/tech GitHub Wiki
我们采取白名单方式
首先从 wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone 下载 中国的 ip 列表,记得定期更新。
改名为 cn.zone,与下面的脚本放在同一个目录
安装 ipset
执行脚本
#!/bin/bash
ipset create china hash:net hashsize 10000 maxelem 200000
for i in `cat cn.zone`
do
ipset add china $i
done
ipset list china
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m set --match-set china src -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 9998 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 9989 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 9066 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 9443 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 9906 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 9908 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 5081 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 5061 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 8099 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 5002 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 18888 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p udp --dport 5003 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p udp --dport 9906 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p udp --dport 9908 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p udp --dport 18888 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p udp --dport 3478 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p udp --dport 3479 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p udp --dport 16384:32768 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
备注
上面的端口可以根据业务酌情添加删除。
主机重启之后,需要重新来一遍
效果
国外的ip就没法访问了,除非添加到 cn.zone里