Firewalld 的区域(zone)


概述

  • 区域(zone)是针对特定位置或场景(例如家庭、公共、受信任等)可能具有的各种信任级别的规则集。
  • 不同的区域(zone)可允许不同的网络服务和入站流量的类型,而拒绝其他任何流量。
  • 要分离内部网络和互联网的接口,你可以在internal区域上允许DHCP,但在external区域仅允许HTTP和SSH。

常用 zone 的命令

  • 查看

    # 查看所有区域
    sudo firewall-cmd --list-all-zones
    # 查看public区域配置
    sudo firewall-cmd --zone=public --list-all
    # 查看默认zone
    sudo firewall-cmd --get-default-zone
    
  • 修改
    # 将默认的zone修改为work
    ~$ firewall-cmd --set-default-zone=work
    success
    # 查看默认的 zone
    ~$ firewall-cmd --get-default-zone
    work
    
  • 查看所有 zone
    ~$ sudo firewall-cmd --get-zones
    block dmz drop external home internal public trusted work
    
    • public(公共) —— [默认]公网访问,不受任何限制。
    • work(工作) —— 用于工作区。基本信任的网络,仅仅接收经过选择的连接。
    • home(家庭) —— 用于家庭网络。基本信任的网络,仅仅接收经过选择的连接。
    • trusted(信任) —— 接收的外部网络连接是可信任、可接受的。
    • block(限制) —— 任何接收的网络连接都被IPv4icmp-host-prohibited信息和IPv6icmp6-adm-prohibited信息所拒绝。
    • dmz(隔离区) —— 英文"demilitarized zone"的缩写,此区域内可公开访问,它是非安全系统与安全系统之间的缓冲区。
    • drop(丢弃) —— 任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
    • external(外部) —— 允许指定的外部网络进入连接,特别是为路由器启用了伪装功能的外部网。
    • internal(内部) —— 内部访问。只限于本地访问,其他不能访问。

Zone下的网卡

  • 查看网卡的 zone

    $ sudo firewall-cmd --get-active-zones
    publicinterfaces: lo
    # 查看 lo 的 zone
    ~$ sudo firewall-cmd --get-zone-of-interface=lo
    public
    
  • 给指定网卡增加 zone
    ~$ sudo firewall-cmd --zone=public --add-interface=lo
    success
    ~$ sudo firewall-cmd --get-active-zones
    publicinterfaces: lo
    
  • 修改指定网卡的 zone
    ~$ sudo firewall-cmd --zone=internal --change-interface=lo
    success
    ~$ sudo firewall-cmd --get-active-zones
    internalinterfaces: lo
    
  • 移除指定网卡的 zone
    ~$ sudo firewall-cmd --zone=internal --remove-interface=lo
    success
    

Zone下的 service

  • 查看所有的 servie

    ~$ sudo firewall-cmd --get-service
    client bgp bitcoin bitcoin-rpc ctdb dhcp dhcpv6 dns docker-registry ftp git http https imap imaps ipp ipsec irc ircs isns jenkins kadmin kerberos kibana klogin kpasswd kprop kshell ldap ldaps mongodb mysql nfs nfs3 ntp nut openvpn privoxy proxy-dhcp ptp redis rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc smtp ssh svn syslog syslog-tls telnet tftp tftp-client xmpp-server zabbix-agent zabbix-server
    
  • 查看当前 zone下的 service
    ~$ sudo firewall-cmd --list-service
    dhcpv6-client ssh
    
  • 把 http 服务增加到 public 的 zone 下
    # 永久增加
    ~$ sudo firewall-cmd --zone=public --add-service=http --permanent
    success
    # 指定查看 zone=public 下的service
    ~$ sudo firewall-cmd --zone=public --list-service
    dhcpv6-client ssh http
    
    • zone/service的配置文件模板存放路径

      /usr/lib/firewalld/zones          # zones配置路径
      /usr/lib/firewalld/services       # services配置路径
      

实例

  • 把 ftp 服务自定义端口1121,添加到 work 的 zone下放行

    # 复制ftp的配置文件到/etc/firewalld/services
    ~$ sudo cp /usr/lib/firewalld/services/ftp.xml  /etc/firewalld/services/
    # 编辑该文件,将port="21"改为port="1121"
    ~$ sudo vim /etc/firewalld/services/ftp.xml
    <?xml version="1.0" encoding="utf-8"?>
    <service><short>FTP</short><description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You need the vsftpd package installed for this option to be useful.</description><port protocol="tcp" port="1121"/><module name="nf_conntrack_ftp"/>
    </service># 将 ftp 服务永久添加到 work 的 zone 下
    ~$ sudo firewall-cmd --zone=work --add-service=ftp --permanent
    # 重新加载
    ~$ sudo firewall-cmd --reload
    
  • 给一台服务器配置防火墙,希望允许外网使用httphttps来访问,你的组织(1.1.0.0/16)和工作组(1.1.1.0/8)使用 ssh 访问,并且你的工作组可以访问 samba 服务。
     # 在 public 区域中增加 http、https,移除 dhcpv6、sshsudo firewall-cmd --permanent --zone=public --remove-service=dhcpv6-clientsudo firewall-cmd --permanent --zone=public --remove-service=sshsudo firewall-cmd --permanent --zone=public --add-service=httpsudo firewall-cmd --permanent --zone=public --add-service=https# 移除 internal 区域的 mdns、samba-client 和 dhcpv6-client 服务,并增加你的组织为源sudo firewall-cmd --permanent --zone=internal --remove-service=mdnssudo firewall-cmd --permanent --zone=internal --remove-service=samba-clientsudo firewall-cmd --permanent --zone=internal --remove-service=dhcpv6-clientsudo firewall-cmd --permanent --zone=internal --add-source=1.1.0.0/16# 允许 1.1.1.0/8 网段的主机访问 samba 服务sudo firewall-cmd --permanent --zone=internal --add-rich-rule='rule family=ipv4 source address="1.1.1.0/8" service name="samba" accept'# 将 public 区域的目标设为 DROPsudo firewall-cmd --permanent --zone=public --set-target=DROP# 使用一个富规则sudo firewall-cmd --permanent --zone=internal --add-rich-rule='rule protocol value="icmp" accept'# 重载配置sudo firewall-cmd --reload
    

Firewalld的区域(zone)相关推荐

  1. Linux内存管理:内存描述之内存区域zone

    目录 1 前景回顾 1.1 UMA和NUMA两种模型 1.2 (N)UMA模型中linux内存的机构 1.3 Linux如何描述物理内存 1.4 用pd_data_t描述内存节点node 1.5 今日 ...

  2. Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)

    文章目录 前言 一:Firewalld,iptables概述 1.1:Firewalld简介 1.2:iptables简介 二:Firewalld和iptables的关系 2.1:netfilter ...

  3. 【Linux 内核 内存管理】物理内存组织结构 ④ ( 内存区域 zone 简介 | zone 结构体源码分析 | zone 结构体源码 )

    文章目录 一.内存区域 zone 简介 二.zone 结构体源码分析 1.watermark 成员 2.lowmem_reserve 成员 3.zone_pgdat 成员 4.pageset 成员 5 ...

  4. Linux的firewalld防火墙学习笔记220929

    filewalld (Redhat,CentOS,Fedora等的防火墙) filewalld官网 firewalld是对iptables的封装,使防火墙管理起来更容易更清晰, 本质上是 firewa ...

  5. redhat8版防火墙管理工具( iptables/firewalld)

    iptables与firewalld 四种动作:ACCEPT 允许REJECT 明确拒绝DROP 不理睬 丢弃LOG 记录数据包类型: PREROUTING INPUT OUTPUT FOREARD ...

  6. 1 Linux防火墙设置

    1.(ubuntu)从 iptables 过渡到 nftables 当前,有一个与 nftables 兼容的 iptables-nft 后端,但是很快,即使是它也不再提供了.另外,正如 Red Hat ...

  7. firewalld/iptables防火墙维护和状态查询命令(防火墙重载,区域操作命令,开启服务或端口,堵塞端口,iptables规则添加和删除)

    文章目录 firewalld防火墙维护和状态查询命令 firewalld防火墙状态查询命令 firewalld防火墙重载配置命令 重新加载firewalld的配置 查询预定义信息命令 firewall ...

  8. firewalld的9个zone、firewalld关于zone和service的操作

    firewalld的9个zone centos7 默认的防火墙工具为firewalld 打开firewalld [root@localhost ~]# systemctl disable iptabl ...

  9. Linux日常运维管理技巧(三)iptables规则备份和恢复、firewalld的9个zone、任务计划cron、chkconfig系统服务管理、添加服务命令、systemctl管理服务

    目录 Linux防火墙-netfilter iptables规则备份和恢复 Linux防火墙-firewalled firewalld的9个zone firewalld关于zone的操作 firewa ...

最新文章

  1. Ribbon 与 Nginx 区别
  2. 特征权重量化 TF-IDF 用于信息检索和数据挖掘的加权技术
  3. 后Kubernetes时代的微服务
  4. mysql服务器默认操作字符集,如何在mysql中找到默认服务器字符集?
  5. linux 服务器进程,如何查看Linux服务器的进程
  6. 华图砖题库php文件怎么打印_事业单位招聘考试《工会基础知识》试题库及答案1380题...
  7. linux中的住设备号和次设备号
  8. 导入android工程@Override报错
  9. 同软件多个线程设置不同ip_IP数量不够该如何解决,快试试掘金网ip代理
  10. 名词解释:什么是RSS? [转贴]
  11. 小程序学习笔记(1)-基本了解
  12. 智能交通运输(包括TOCC)精华主题汇总
  13. jsp+ssm+mysql实现图书馆预约占座管理系统 代码+数据库脚本+论文+答辩稿+开题报告+任务书
  14. U盘怎么制作Win11系统安装盘
  15. Paypal Payments REST API支付 沙箱测试 php版本
  16. 在启动时在Raspberry Pi上运行程序的五种方法
  17. 电、气物联网联合管理监测方案
  18. Linux mkdir文件已存在,Linux 命令之 mkdir
  19. Python字典经典例题-key,value灵活运用
  20. 高性能Web服务器:Nginx

热门文章

  1. 买游戏来运营_游戏化思维帮你玩转社群运营
  2. EXCEL多列vlookup匹配
  3. 【NLP】动手实现一个句子生成器
  4. 用户体验是什么?如何把用户体验做到极致, 这里有答案
  5. 压力面试问题——当你和好友,同一天同一家公司面试同一个岗位,你更希望谁入选?3种回答方式解析|智测优聘总结
  6. 【历史上的今天】12 月 4 日:JavaScript 问世;开源运动的领导者诞生;人类第一次用计算机点外卖
  7. 【微信小程序学习】搜索音乐页面代码实现
  8. Springboot项目启动后自动在浏览器打开
  9. 【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(终)
  10. 在Linux上解压缩和打包WAR文件