美文网首页
防火墙规则应用:iptables命令

防火墙规则应用:iptables命令

作者: 莫问君心 | 来源:发表于2020-02-26 18:10 被阅读0次

    这篇文章只是记录常用的iptables命令示例(基于CentOS/EulerOS测试)
    不深入解释该命令(还没理解透 〒▽〒)

    查询现有防火墙规则

    iptables -nvL INPUT --line-number
    

    结果示例:

    # iptables -nvL INPUT --line-number
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1     337K  340M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    2      781 53052 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    3    15366 1896K INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    4    15366 1896K INPUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    5    15366 1896K INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    6       59  2360 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
    7    14801 1865K REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
    

    其中第一列为规则的序号(后面删除的时候可以用到)。
    一般配置防火墙规则的套路都是:前面几条规则是放行哪几个条件,最后几条规则是拒绝哪一批条件。规则序号小的,优先级高。

    向现有防火墙规则中插入一条规则

    例如:防火墙对外开放8080端口,以下命令立即生效:

    iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
    

    向现有防火墙规则中追加一条规则

    例如:防火墙对外开放8080端口,以下命令立即生效:

    iptables -A INPUT -p tcp --dport 1888 -j ACCEPT
    

    深坑警告:
    iptables -Iiptables -A都是用于添加规则,区别在哪呢?
    iptables -I是将规则直接插入到现有规则的最上面,也就是规则的序号为1,优先级最高。
    iptables -A是将规则追加到现有规则的最后面,也就是规则的序号最大,优先级最低。

    删除防火墙规则

    例如:删除前面查询到的序号为5的规则

    iptables -D INPUT 5
    

    防火墙配置保存

    为了固化防火墙规则(防止重启丢失规则),可通过以下方式保存:

    service iptables save
    

    注意:
    上述命令可能会提示The service command supports only basic LSB actions (start***错误,可以通过安装iptables-services解决:
    systemctl stop firewalld关闭防火墙
    yum install iptables-services 安装或更新服务
    systemctl enable iptables 启动iptables
    systemctl start iptables 打开iptables

    如果是CentOS,也可以通过如下方式添加固化规则:

    firewall-cmd --add-port=8080/tcp --permanent
    firewall-cmd --reload
    

    重启/关闭防火墙

    重启防火墙

    systemctl restart firewalld
    

    关闭防火墙:

    systemctl stop firewalld
    

    相关文章

      网友评论

          本文标题:防火墙规则应用:iptables命令

          本文链接:https://www.haomeiwen.com/subject/flzbchtx.html