一、在服务器上打开 22、80、9011端口:
iptables -A INPUT -p tcp --dport 9011 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 9011 -j ACCEPTiptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPTiptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
二:关闭所有其他的端口:
iptables -P INPUT DROP
iptables -P FORWARD DROP iptables -P OUTPUT DROP
三:查看iptables:
iptables -L -n --line-number
---------------------------------
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:9011 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
四:删除第三条规则:
iptables -D INPUT 3
iptables -D OUTPUT 3
五: iptables配置顺序
如下: 想要增加 9021 端口, 执行
iptables -A INPUT -p tcp --dport 9021 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 9021 -j ACCEPT后发现 9021 端口还是不通。查看 配置的规则, 因为 第六条规则 reject-with icmp-host-prohibited 拒绝了所有的请求,在这条规则后面的 允许9021 、9020 的 都没有生效。
[root@localhost nginx]# iptables -L -n --line-numberChain INPUT (policy ACCEPT)num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:225 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:90207 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:228 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:90209 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:902110 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9021Chain FORWARD (policy ACCEPT)num target prot opt source destination 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT)num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:90202 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:9021
要想允许访问 9021 端口,需要执行:
iptables -I INPUT 3 -p tcp --dport 9021 -j ACCEPT
把 允许 9021 的规则插入到 icmp-host-prohibited 前面。
[root@localhost nginx]# iptables -L -n --line-numberChain INPUT (policy ACCEPT)num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:90214 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:226 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:90208 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:229 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:902010 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:902111 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9021Chain FORWARD (policy ACCEPT)num target prot opt source destination 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT)num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:90202 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:9021
这样 telnet 该机器的 9021 端口才能通。