匹配条件
    通用匹配: -s 源IP -d 目的IP -i 指定网卡进来的数据包 -o 指定网卡向外发送的数据表
    iptables -A -t filter -A INPUT -s 1.2.3.4 -d 1.2.3.5 -j ACCEPT
    扩展匹配:隐含扩容 显式扩展

    隐含扩容
    -p 指定数据表的协议
    —sport 源端口
    —dport 目的端口
    iptables -t filter -A INPIT -s 1.2.3.4 -p tcp -dport 22 -j ACCEPT

    1. 练习: 允许本地主机ping其他主机,其他主机不能ping本地主机
    2. *filter
    3. :INPUT DROP [0:0]
    4. :FORWARD DROP [0:0]
    5. :OUTPUT DROP [1:156]
    6. # 通过icmp type判断icmp进出状态
    7. -A INPUT -p icmp --icmp-type=0 -j ACCEPT
    8. -A OUTPUT -p icmp --icmp-type=8 -j ACCEPT

    显式扩展 在使用扩展功能时 需要明确指定功能模块
    格式 -m 模块名称
    state: 状态扩展 可以匹配如下状态
    NEW 新的连接请求
    ISTABLISHED 连接成功之后状态的数据包
    INVALID 非法数据包
    RELATED 相关连的连接状态 ftp专用

    1. #例子: 允许任意主机访问80端口,要求80不能访问外部服务(抵御反弹木马)
    2. *filter
    3. :INPUT DROP [0:0]
    4. :OUTPUT DROP [0:0]
    5. # 允许input的新建连接和发送数据包请求 允许ouput的发送数据表请求
    6. -A INPUT -p tcp --dport -m state --state NEW,ESTABLISHED -j ACCEPT
    7. -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
    1. iprange: ip范围进行限制<br /> --src-range IP段<br /> --dst-range 目标IP
    1. #例子: 运行让 192.168.1.100-200段主机可以访问80 能够抵御反弹式木马
    2. -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
    3. -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
    1. multiport: 匹配联系端口或者离散端口
    1. -m multiport --source-ports port1,port2,port3
    2. -m multiport --source-ports port1:port2
    3. -m multiport --destination-port port1,port2,port3
    4. -m multiport --destination-port port1:port2
    1. connlimit: 控制每个客户端IP的最大并发连接数
    1. --connlimit-above n #匹配连接数量在n以上的连接锁发送的数据包