可参考:连接
iptables语法:
-I (插入)规则有优先级 最上面最高


filter表

1.查看filter表的规则链:
iptables -t filter -L (默认对ip进行域名解析,-nL不解析)

显示filter表的INPUT规则链的规则带编号:

iptables -t filter -L INPUT --line-number

2.向INPUT链中添加规则,拒绝某ip进入防火墙的icmp数据。

3.通过编号删除filter表INPUT链的某个规则:

4.禁止从某网段的主机访问任何IP的80与443端口(该流量为出去的所以使用OUTPUT):

iptables -t filter -A OUTPUT -s 192.168.223.0/24 -p tcp --dport 80 -j DROP
使用--dport 必须使用 -p

5.设置默认是模式(接受,拒绝)
iptables -t filter -P INPUT DROP 将INPUT规则链的默认模式改为拒绝(DROP)

6.转发
先将默认模式设为拒绝
iptables -t filter -P FORWARD DROP

再允许192.168.1.0/24与192.168.2.0/24之间可互相转发
iptables -t filter -A FORWARD -s 192.168.1.0/24 -d 192.168.2.0/24 -j ACCEPT
iptables -t filter -A FORWARD -s 192.168.2.0/24 -d 192.168.1.0/24 -j ACCEPT

7.报文检查:
iptables 常用附加模块:

按包状态匹配 (state)
-m state --state 状态

NEW:当建立tcp连接,三次握手发送 syn 时将该会话标记为new

ESTABLISHED:当三次握手完成,tcp会话建立,或者udp建立标记为ESTABLISHED(稳定的)

RELATED:相关联如 21与20;80与443等。

tcp会话状态为 NEW,ESTABLISHED,RELATED时接受
iptables -t filter -A FORWARD -d 8.8.8.8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

nat表

1.nat表的3个规则链

2.代理与端口转发