以前使用iptables做过NAT,限制外网访问服务器,今天对限制本机访问外网的设置了一下,记录:
iptables -F
清空规则
iptables -P INPUT ACCEPT
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
设置默认规则,这里只对OUTPUT的包做限制。
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -s localhost -d localhost -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
上面3条是必须的,允许本地,回环通讯.
#DNS
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
DNS,允许DNS解析包通过。
目前到这里还是无法访问外网的数据的,执行下面2句后才可以。
iptables -A OUTPUT -p tcp -m state --state NEW -d www.baidu.com --dport 80 -j ACCEPT
iptables -A OUTPUT -d www.baidu.com -j ACCEPT