美文网首页
Linux防火墙

Linux防火墙

作者: 意大利大炮 | 来源:发表于2022-08-22 11:38 被阅读0次

    firewalld

    • 查看防火墙状态
      systemctl status firewalld
    • 查看端口是否开放
      firewall-cmd --query-port=80/tcp
    • 移除端口
    - 查看开放端口列表
    `firewall-cmd --list-port`
    firewall-cmd --zone=public --remove-port=80/tcp --permanent
    # 
    firewall-cmd --permanent --remove-port=123/tcp
    
    • 关闭
      systemctl stop firewalld.service
    • 开启
      systemctl start firewalld.service
    • 开启开机启动
      systemctl enable firewalld.service
    • 关闭开机启动
      systemctl disable firewalld.service
    • 开启端口
    #(--permanent永久生效,没有此参数重启后失效)
    #注:可以是一个端口范围,如1000-2000/tcp
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    
    • 重启
      firewall-cmd --reload

    iptables

    • 查看状态
      service iptables status
    • 开启
      service iptables start
    • 关闭
      service iptables stop
    • 查看所有规则
      查看filter表规则: 普通查看:iptables -t filter --list, 详细信息:iptables -nvL
      查看mangle表: iptables -t mangle --list
      查看NAT表: iptables -t nat --list
      查看ROW表: iptables -t raw --list
    -L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
    -n 不对ip地址进行反查,加上这个参数显示速度会快很多
    -v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
    –line-number 显示规则的序列号,这个参数在删除或修改规则时会用到
    
    • 添加(添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。
      )
      添加到尾部
      iptables -A INPUT -s ${ip} -j DROP
      添加到第三行
      iptables -I INPUT 3 -s ${ip} -j DROP
      新增参数
    -p 协议(protocol)
      指定规则的协议,如tcp, udp, icmp等,可以使用all来指定所有协议。
      如果不指定-p参数,则默认是all值。这并不明智,请总是明确指定协议名称。
      可以使用协议名(如tcp),或者是协议值(比如6代表tcp)来指定协议。映射关系请查看/etc/protocols
      还可以使用–protocol参数代替-p参数
    -s 源地址(source)
      指定数据包的源地址
      参数可以使IP地址、网络地址、主机名
      例如:-s 192.168.1.101指定IP地址
      例如:-s 192.168.1.10/24指定网络地址
      如果不指定-s参数,就代表所有地址
      还可以使用–src或者–source
    -d 目的地址(destination)
      指定目的地址
      参数和-s相同
      还可以使用–dst或者–destination
    -j 执行目标(jump to target)
      -j代表”jump to target”
      -j指定了当与规则(Rule)匹配时如何处理数据包
      可能的值是ACCEPT, DROP, QUEUE, RETURN
      还可以指定其他链(Chain)作为目标
    -i 输入接口(input interface)
      -i代表输入接口(input interface)
      -i指定了要处理来自哪个接口的数据包
        这些数据包即将进入INPUT, FORWARD, PREROUTE链
      例如:-i eth0指定了要处理经由eth0进入的数据包
      如果不指定-i参数,那么将处理进入所有接口的数据包
      如果出现! -i eth0,那么将处理所有经由eth0以外的接口进入的数据包
      如果出现-i eth+,那么将处理所有经由eth开头的接口进入的数据包
      还可以使用–in-interface参数
    -o 输出(out interface)
      -o代表”output interface”
      -o指定了数据包由哪个接口输出
      这些数据包即将进入FORWARD, OUTPUT, POSTROUTING链
      如果不指定-o选项,那么系统上的所有接口都可以作为输出接口
      如果出现! -o eth0,那么将从eth0以外的接口输出
      如果出现-i eth+,那么将仅从eth开头的接口输出
      还可以使用–out-interface参数
    

    相关文章

      网友评论

          本文标题:Linux防火墙

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