iptables规则组成:四张表+五条链(Hook point)+规则
规则1:对所有的地址开放本机tcp的22、80、10-21端口的访问
iptables -v #查看iptables版本
iptables -L #查看之前的iptables规则信息
iptables -F #清除之前iptables的规则信息
iptables -I INPUT -p tcp --dport 22 -j ACCEPT #允许其他ip访问我的22端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT #允许其他ip访问我的80端口
iptables -I INPUT -p tcp --dport 10:21 -j ACCEPT #允许其他ip访问我的10-21端口
#若需要删除之前的规则,只需要将之前的命令重新敲一遍,将-I换成-D即可
规则2:允许对所有地址开放本机的基于ICMP协议的数据包访问
iptables -I INPUT -p icmp -j ACCEPT
规则3:其他未被允许的端口禁止访问
iptables -A INPUT -j REJECT #-A表示在最后插入,-I表示在最前面插入。
规则1-3生效后会存在一个问题:
1.本地的ip地址 无法访问自身的80和22端口,即本机无法访问本机
2.本机无法访问其他主机
iptables -I INPUT -i lo -j ACCEPT #修该默认网卡是可以访问的,本机就可以访问本机了
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#默认其他主机是被监听状态的或者是ftp的状态是可以访问的,即可以访问其他主机了