1.整体总结
1.raw 高级功能网址过滤,最新对数据包的状态进行处理,状态有L:new,established,related,invalid,SNAT,DNAT
2.mangle 数据包修改,qos配置,属于高级功能,可以修改数据包,而其他除了nat之外只是判断
3.nat地址,用于网关路由器,用于设置静态地址绑定,动态地址转换
4.filter,主要用于包过滤,对包中的参数进行判断
5.INPUT:处理即将输入到传输层的数据报
6.OUTPUT:处理从传输层输出即将选择网卡流出的数据包
7.FORWARD:处理转发数据包,经过它的数据包不会进入本地的应用程序
8.PREROUTING:用于目标地址转换(DNAT)
9.POSTROUTING:用于源地址转换(SNAT)
1.ACCEPT:接收数据包
2.DROP:丢弃数据包
3.REDIRECT:重定向,映射,透明代理
4.SNAT:源地址转换
5.DNAT:目标地址转换
6.MASQEURYDE:ip伪装(NAT)用于ADSL
7.log: 日志记录
1.-P 定义规则链中的默认目标
2.-j 指定要跳转的目标
3.-Z 计数器清零
4.越靠前优先级越高
2.基本操作演示
iptables -A FORWARD -j REJECT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -P tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 80 -j DROP
iptabls -A INPUT -j REJECT
iptablEs -A INPUT -j REJECT
iptables -A INPUT -j REJECT
[root@localhost ~]# iptables -nvL --line-number
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 1141 85509 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 1 60 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
3 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
4 593 59129 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
2 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 580 66556 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
3.高级应用及陌生参数
3.1 屏蔽ip
[root@localhost ~]# iptables -A INPUT -s 10.10.20.0/24 -j DROP
[root@localhost ~]# iptables -A INPUT -d 20.20.30.0/24 -j DROP
[root@localhost ~]# iptables -A OUTPUT -d 30.30.30.0/23 -j DROP
[root@localhost ~]# iptables -I INPUT -s 10.10.10.2 -j ACCEPT
[root@localhost ~]# iptables -I OUTPUT -d 30.30.30.4 -j ACCEPT
[root@localhost ~]#
[root@localhost ~]# iptables -t filter --list-rules
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -s 10.10.10.2/32 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j DROP
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A INPUT -s 10.10.20.0/24 -j DROP
-A INPUT -d 20.20.30.0/24 -j DROP
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 30.30.30.4/32 -j ACCEPT
-A OUTPUT -j ACCEPT
-A OUTPUT -d 30.30.30.0/23 -j DROP
3.2 连续匹配多个地址和多个端口,以及范围匹配