目录

1、与iptables不同

2、配置防火墙

3、firewalld区域概念

4、filewalld 配置生效

5、firewalld服务

firewalld 端口映射

富规则 rich-rule


1、与iptables不同

  • firewalld采用区域和服务管理,而不是链式规则
  • 动态管理规则,允许更新规则而不破坏原有会话与连接

2、配置防火墙

  • firewall-cmd 命令行模式 推荐使用
  • firewall-config(如果没装图形化界面就不行)
  • vi /etc/firewalld/firewalld.conf
# (查看状态)
#  firewall-cmd --state#(更新配置)
# firewall-cmd --reload

3、firewalld区域概念

zone

  1. trusted 信任区域     默认允许所有流量传入
  2. public 公共区域    (默认区域)默认允许ssh 服务 dhcp
  3. external 外部区域   默认允许ssh其余均拒绝
  4. home 家庭区域       有ssh, 预定于服务等
  5. internal 内部区域     默认允许ssh 服务 dhcp服务等
  6. work 工作区域         默认ssh
  7. dmz 隔离区
  8. block 限制区域          默认拒绝所有流量传入
  9. drop 丢弃区域            默认丢弃所有流量传入

工作原理

管理数据包时:

1、先根据数据包的源IP进行相应区域的防火墙规则匹配; 如果源地址关联到特定的区域,则按特定区域的规则执行;  如果未关联到特定的区域,则按默认区域的规则执行。

2、根据传入的网络接口,进行相应区域的防火墙规则匹配; 如果源地址关联到特定的区域,则按特定区域的规则执行;  如果未关联到特定的区域,则按默认区域的规则执行。

 绑定源地址的区域规则> 网卡绑定的区域规则> 默认区域规则

4、filewalld 配置生效

运行时配置:

  • 不中断现有连接
  • 不能修改服务配置

永久配置

  • 不立即生效,除非重启或者重新加载配置
  • 不中断现有连接
  • 可以修改服务配置
  • 注意:添加--permanent选项,表示永久配置,但是需要重启firewalld或者重新加载--reload,如果 不带这个选项,则表示用于设置运行时配置,这些规则在系统重启,firewalld重启,或者重新加载后失 效,需要将运行时配置永久生效,则需要将运行时配置规则写入配置文件中,执行firewall-cmd -- runtime-to-permanent。

5、firewalld服务

# systemctl status firewalld# systemctl start firewalld# systemctl enable firewalld
# 显示所有可用区域
# firewall-cmd --get-zones# 显示当前默认区域
# firewall-cmd --get-default-zone# 设置默认区域
# firewall-cmd --set-default-zone=public# 显示当前使用的区域和对应网卡
# firewall-cmd --get-active-zones# 显示指定接口绑定的区域
# firewall-cmd --get-zone-of-interface=ens33# 为指定接口绑定区域
# firewall-cmd --zone=dmz --add-interface=ens37# 为指定的区域更改绑定的网络接口
# firewall-cmd --zone=dmz --change-interface=ens33# 为指定的区域删除绑定的网络接口
# firewall-cmd --zone=dmz --remove-interface=ens37# 查看默认区域设置
# firewall-cmd --list-all# 查看指定的区域设置
# firewall-cmd --zone=dmz --list-all# 显示指定区域可以访问的服务
# firewall-cmd --zone=public --list-services# 显示系统预定义的服务名
# firewall-cmd --get-service# 为指定区域添加允许访问的服务
# firewall-cmd --zone=public --add-service=http# 为指定区域删除允许访问的服务
# firewall-cmd --zone=public --remove-service=http# 添加多个服务
# firewall-cmd --zone=public --add-services={http,https,redis,ssh}# 永久生效,运行时配置结束后统一执行
# firewall-cmd --runtime-to-permanent# 永久生效,需要在设置时加--permanent选项,但是并不是运行时生效,需要重启启动firewalld或者重
新reload
# firewall-cmd --permanent --zone=public --add-services=http
# firewall-cmd --reload 或者 systemctl restart firewalld# 显示指定域中允许访问的端口
# firewall-cmd --zone=public --list-port# 位指定域中添加允许访问的端口
# firewall-cmd --zone=public --add-port=22/tcp --add-port=80-100/tcp#位指定域中删除允许访问的端口
# firewall-cmd --zone=public --remove-port=22/tcp --remove-port=80-100/tcp

如果执行命令显示success但是效果没有出现,使用firewall-cmd --reload

firewalld 端口映射

# 设置禁止来源IP为192.168.100.134的ip地址访问
# firewall-cmd --add-source=192.168.100.134/24 --zone=drop --类似于iptables中
DROP
# firewall-cmd --add-source=192.168.100.134/24 --zone=block --类似于iptables中
REJECT# 设置允许来源IP为192.168.100.134的ip地址访问
# firewall-cmd --add-source=192.168.100.134/24 --zone=trusted# 地址转发端口映射
# firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080# firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.100.134
(在访问添加了这个规则的ip的数据包会转发到192.168.100.134的80端口)

当你修改了http配置文件(改端口为8080,并且重启了httpd),也添加了转发端口映射,查看服务也有http服务,为什么curl还是不通?

因为没对外没有提供相应的8080端口;


虽然系统起的是8080端口,但是对外来说我们的端口是80端口,必须通过80端口连进来,在、才能经过映射访问到8080端口;

所以没添加8080端口,却访问了8080端口是不行的;


   

如果添加了8080端口,直接用8080端口进行httpd访问,而不是通过连接80端口再经端口映射转发从8080端口进行访问;

富规则 rich-rule

只用firewalld的服务以及端口进行配置的时候限制比较多;为了解决这一问题,所以用富规则;

# 查看帮助手册
# man 5 firewalld.richlanguage# 列出富规则
# firewall-cmd --list-rich-rule# 添加富规则
# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source
address="192.168.100.134" accept'
(添加富规则,允许192.168.100.134访问)# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source
address="192.168.100.134" port port=22 protocol=tcp reject'
(拒绝来自这个ip的22端口的访问)# 删除富规则
# firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source
address="192.168.100.134" forward-port port=80 protocol=tcp to-port=8080 '

 请求连接时被拒绝;

【Linux安全管理】Firewalld详解相关推荐

  1. linux文件权限详解

    linux文件权限详解 一.文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限: ...

  2. Linux磁盘阵列技术详解(二)--raid 1创建

    我在Linux磁盘阵列技术详解(一)里已经详细介绍了几种RAID磁盘阵列方式,原理以及创建raid 0 的详细步骤.那么这篇文档就着重讲解如何创建raid 1的技术: 步骤如下: ① 分区 同样我们还 ...

  3. linux mingetty 命令详解

    linux mingetty 命令详解 功能说明:精简版的getty. 语 法:mingetty [--long-hostname][--noclear][tty] 补充说明:mingetty适用于本 ...

  4. linux zip 命令详解

    功能说明:压缩文件.  语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期 ...

  5. SVN的Windows和Linux客户端操作详解

    SVN的Windows和Linux客户端操作详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Windows客户端操作 1.安装SVN客户端 a>.去官网下载svn软件 ...

  6. linux zipinfo 命令详解

    linux zipinfo 命令详解 功能说明:列出压缩文件信息. 语 法:zipinfo [-12hlmMstTvz][压缩文件][文件...][-x <范本样式>] 补充说明:执行zi ...

  7. Linux chkconfig命令详解

    Linux chkconfig命令详解 (2011-03-07 15:49:04) 转载 标签: linux shell chkconfig 杂谈 分类: 工作*Linux chkconfig:    ...

  8. linux uname 命令详解

    linux uname 命令详解 功能说明:显示系统信息. 语 法:uname [-amnrsv][--help][--version] 补充说明:uname可显示电脑以及操作系统的相关信息. 参 数 ...

  9. linux mread 命令详解

    linux mread 命令详解 功能说明:将MS-DOS文件复制到Linux/Unix的目录中. 语 法:mread [MS-DOS文件...][Linux文件或目录] 补充说明:mread为mto ...

  10. linux sort 命令详解

    linux sort 命令详解 sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.实际上,sort命令可以被认为 ...

最新文章

  1. myFocus制作焦点图
  2. 一个nodejs里日志文件的实现
  3. Linux 金字塔 的shell命令,linux下保留文件系统下剩余指定数目文件的shell脚本
  4. 深入理解Magento – 第三章 – 布局,块和模板
  5. 做数仓运维,你必须要认识这个眼观六路耳听八方的“能人”
  6. 如何判断stdin的数据类型
  7. 太原理工大学ACM队简介(2018版)
  8. 深度学习常用性能评价指标
  9. CST,CET,UTC,GMT,DST,Unix时间戳几种常见时间概述与关系(转)
  10. SPSS数据录入【SPSS 007期】
  11. php数组和字符串转换
  12. bzero和memset函数
  13. it是什么行业?具体又包括哪些细分领域呢?
  14. 老鸟分享_云堡垒机、运维堡垒机、运维审计系统、堡垒机能干什么?
  15. 黄山行之《黄山前山游》
  16. html 5新增技术,HTML5新增元素,标签总结
  17. 软件工程基于场景建模 习题
  18. NOIp初赛模拟题及标准答案(提高组)
  19. 360极速了浏览器 HTML5的浏览器,360极速浏览器4大HTML5特性 领先全球
  20. 我的世界服务器npc怎么修改,我的世界NPCmod教程如何设置任务NPC

热门文章

  1. css一个点,用纯CSS从一个点到另一个点绘制一条线(路径)
  2. matlab图像配准之SSD、NCC、SAD等相似度计算
  3. urlrewrite 的使用方法
  4. 近期edge、谷歌浏览器崩溃的问题解决方案
  5. 为了caffe(四)学习人家的文章
  6. Linux中set -x 与 set +x命令的使用
  7. MATLAB-样条插值运算
  8. 如何优雅地读写HttpServletRequest和HttpServletResponse的请求体
  9. 《GhostXP_SP2电脑公司经典版v8.2》LONGWANG制作
  10. 地理信息系统-坐标系统