iptables

表:filter、nat、mangle

链:INPUT、OUTPUT、FORWARD,PREROUTING,POSTROUTING

动作:ACCEPT,DROP

  1. 定义默认策略

    iptables [-t 表名]  <-P> <链名> <动作>

  2. 查看规则

    iptables [-t 表名] <-L> [链名]

  3. 增加、插入、删除、替换规则

    iptables [-t 表名] <-A|I|D|R> 链名 [规则编号] [-i|o 网卡名称] [-p 协议类型] [-s 源ip|源子网] [--sport 源端口] [-d 目标ip|目标子网] [--dport 目标端口] [] <-j 动作>

    1. AIDR

      1. -A 添加到列表最后一行,不加规则编号

      2. -I 插入,原本位置上规则顺序后移,如没指定编号,则在第一条规则前

      3. -D 删除规则,可输入完整规则或指定规则编号

      4. -R 替换某条,指定规则编号

    2.  规则编号

      iptables -L -n -v --line-numbers

    3. 网卡名称

      可以是eth0、eth1、ppp0

    4. s

    5.  

  4. 删除所有规则

    iptables [-t 表名] <-F|Z>

    F:删除所有

    Z:数据包计数器和流量计数器归零

  5.  

  6.  示例

  7. #!/bin/bash
    #清除规则
    iptables -F 
    iptables -X 
    iptables -Z
    # 预定义策略
    iptables -P INPUT   DROP # 默认是拒绝访问
    iptables -P OUTPUT  ACCEPT  # 允许本机访问其他机器,无限制 
    iptables -A INPUT -i lo -j ACCEPT  # 允许回环接口可以被访问
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
    iptables -A INPUT -p icmp -j ACCEPT # 允许ping
    # 黑名单
    #iptables -A INPUT -s 1.1.1.0/24 -j DROP
    #iptables -A INPUT -s 1.1.1.0 -j DROP
    # 信任的网络和IP
    #iptables -A INPUT -s 1.1.1.1/24 -j ACCEPT # 信任的网络
    #iptables -A INPUT -s 1.1.1.1  -j ACCEPT # 信任的ip
    #允许的本机服务
    iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT        # SSH 
    iptables -A INPUT -p tcp --dport 3306 -j ACCEPT        # mysql
    iptables -A INPUT -p tcp --dport 6379 -j ACCEPT        # redis
    iptables -A INPUT -p tcp --dport 11211 -j ACCEPT        # redis
    service iptables save

     

你可能感兴趣的:(iptables)