User-Profile-Image
hankin
  • 5
  • centos7
  • docker
  • mysql
  • PostgreSQL
  • git/gitlab
  • ELK
  • python
    • python-Tornado
    • python-django
  • redis
  • nginx
  • kvm
  • proxmox
  • mongo
  • kubernetes
  • prometheus
  • GlusterFs
  • nfs
  • freeswitch
  • httpd
  • shell脚本
  • linux
  • fastdfs
  • nextcloud
  • openssl
  • openvpn
  • rabbitmq
  • sqlite
  • svn
  • java
  • ubuntu
  • vue2
  • wordpress
  • php
  • IOT物联网
  • 项目
  • 故障处理
  • 树莓派
  • 博客存档
  • 未分类
  • 杂项
  • #1742(无标题)
  • 新视野
  • 分类
    • 项目
    • 树莓派
    • 杂项
    • 未分类
    • 新视野
    • 故障处理
    • 博客存档
    • 交换机
    • wordpress
    • vue2
    • ubuntu
    • svn
    • sqlite
    • shell脚本
    • redis
    • rabbitmq
    • python-django
    • python
    • proxmox
    • prometheus
    • PostgreSQL
    • php
    • openvpn
    • openssl
    • nginx
    • nfs
    • nextcloud
    • mysql
    • mongo
    • linux
    • kvm
    • kubernetes
    • java
    • IOT物联网
    • httpd
    • GlusterFs
    • git/gitlab
    • freeswitch
    • fastdfs
    • ELK
    • docker
    • centos7
  • 页面
    • #1742(无标题)
  • 友链
      请到[后台->主题设置->友情链接]中设置。
Help?

Please contact us on our email for need any support

Support
    首页   ›   centos7   ›   正文
centos7

linux firewalld防火墙常用操作

2022-10-28 23:33:31
701  0 0

系统操作

    加入开机启动      
        systemctl enable firewalld

    启、停
        systemctl start firewalld
        systemctl stop firewalld

    重启、重载       
        systemctl restart firewalld
        firewall-cmd --reload
        firewalld 动态管理规则集,所以它不会破坏现有的连接和会话。

    查看运行状态      
        systemctl status firewall-cmd


    配置文件位置      
        /etc/firewalld/{services,zones}/*.xml    优先级最高,permanent模式生效的策略会放到这里
        /lib/firewalld/{services,zones}/*.xml   优先级要低些,是一些默认配置,可以当做模板使用

    每个预定义的区域、服务等都有一个对应的文件:
        /usr/lib/firewalld/{zones,services...}

查看

    查看防火墙状态,是否是running   
       firewall-cmd --state

    重新载入配置,比如添加规则之后,需要执行此命令   
       firewall-cmd --reload

    列出支持的zone   
       firewall-cmd --get-zones

    查看当前使用的区
        firewall-cmd --get-default-zone

    查看网卡所在区域:
        firewall-cmd --get-zone-of-interface=eth0

    查看正在活动的区域:
        firewall-cmd --get-active-zones

    查看所有规则明细:
        firewall-cmd --list-all         
        firewall-cmd --list-all-zones

    查看端口添加的规则
        firewall-cmd --list-ports

    查看ftp服务是否支持,返回yes或者no   
       firewall-cmd --query-service ftp

    查看指定区域(public)的以端口方式添加的规则
        firewall-cmd --zone=public --list-ports

    查看指定区域(public)的以服务名添加的规则
        firewall-cmd --zone=public --list-services

    查看指定区域的所有规则
        firewall-cmd --zone=public --list-all

    查看firewalldl默认支持的所有服务名列表
        firewall-cmd --get-services

    查看只通过服务名添加的规则[默认当前激活的公共区域]
        firewall-cmd --list-services

修改

    添加放行两种方式    
        1 runtime 临时配置 修改规则马上生效 但是重启则丢失     
        例如: 
            firewall-cmd --add-service=ftp          
        2 permanent 持久配置 修改后需要reload 重载才生效  
        例如:         
            firewall-cmd --zone=public --add-port=80/tcp --permanent

    添加放行端口                  
        firewall-cmd --add-port=8080/tcp                
        firewall-cmd --add-port={8081,8082}/tcp             
        firewall-cmd --add-port={8090..8095}/tcp                
        firewall-cmd --zone=public --add-port=80/tcp --permanent                
        firewall-cmd --zone=public --add-port=4990-4999/udp   #添加4990-4999 udp端口                
        #添加常用端口,不指定--zone,默认会添加到默认的区域

    添加放行的服务 (服务名称进行放行 --> 本质还是对应的端口)                    
        firewall-cmd --add-service=http             
        firewall-cmd --add-service=ftp #开放 ftp 服务规则                 
        firewall-cmd --add-service=mysql # 开放mysql端口规则              
        firewall-cmd --add-service=ssh # 开放ssh端口规则

    删除端口                    
        firewall-cmd --remove-port={8090..8095}/tcp             
        firewall-cmd --zone=public --remove-port=80/tcp --permanent

    端口转发-本地                 
        firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8000 --permanent

    将同一台服务器上80端口的流量转发至8080          
        firewall-cmd --list-forward-ports               查看转发
        firewall-cmd --remove-forward-port=port=80:proto=tcp:toport=8000 --permanent                
        firewall-cmd --reload               重载生效

    端口转发-ip                 
    将端口转发到另外一台服务器上,在需要的区域中激活 masquerade             
        firewall-cmd --zone=public --add-masquerade

    将本地的80端口的流量转发到IP地址为:10.0.10.15 的远程服务器上的8080端口           
        。。。。。。


    伪装IP                    
        firewall-cmd --query-masquerade    # 检查是否允许伪装IP                 
        firewall-cmd --add-masquerade      # 允许防火墙伪装IP              
        firewall-cmd --remove-masquerade   # 禁止防火墙伪装IP


    自定义一个服务名称                   
        cd /usr/lib/firewalld/services/             
        cp http.xml nginx.xml               
        firewall-cmd --reload               
        firewall-cmd --add-service=nginx

    修改服务当前所使用区域:                    
        firewall-cmd --get-default-zone=public              
    修改默认区                   
        firewall-cmd --set-default-zone=internal

    危险命令:[立即生效]     
        拒绝所有包:firewall-cmd --panic-on    
        取消拒绝状态: firewall-cmd --panic-off 
        查看是否拒绝: firewall-cmd --query-panic
评论 (0)

点击这里取消回复。

欢迎您 游客  

Copyright © 2025 网站备案号 : 蜀ICP备2022017747号
smarty_hankin 主题. Designed by hankin
主页
页面
  • #1742(无标题)
博主
tang.show
tang.show 管理员
linux、centos、docker 、k8s、mysql等技术相关的总结文档
213 文章 2 评论 201667 浏览
测试
测试