应用

给80端口永久打开tcp协议

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

教程

centos7使用firewall取代了iptables防火墙

firewall 将区域和服务,端口,服务,网卡,协议进行组合.也既是说不通的服务,端口,协议等会指向特定的区域规则

firewalld的防火墙策略是zone>service>port,也既是说如果开了ssh服务,但是关闭了22端口,仍可以连接ssh.而且默认public就是开启的ssh服务,如果在区域关闭了ssh服务,仍然是可以连接ssh的

区域规则

区域(noze) 默认策略规则
trusted 允许所有的数据包进出
home 仅接受:ssh、mdns、ipp-client、amba-client与dhcpv6-client
Internal 等同于home区域
work 仅接受 ssh、ipp-client与dhcpv6-client
public 仅接受ssh、dhcpv6-client
external 出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh
dmz 仅接受ssh
block 拒绝所有连接
drop 拒绝所有连接,所有数据都丢弃,不回应

1.启动firewall服务

systemctl start firewalld
systemctl restart firewalld
systemctl stop firewalld

2.区域控制

参数 描述
–zone 指定区域,否则命令使用默认区域
–get-zones 显示可用的区域
–get-default-zone 查访默认的区域名称
–get-active-zones 查看当前区域和网卡
–set-default-zone=<区域名称> 设置默认的区域,使其永久生效
firewall-cmd --zone=internal --list-all 查看具体区域设置
–get-zone-of-interface 查看网卡所在区域
firewall-cmd --get-default-zone  #查看当前区域
firewall-cmd --set-default-zone=drop  # 设置默认区域
firewall-cmd --get-active-zones  # 查看当前区域和相关网卡
firewall-cmd --get-zones  # 查看所有可用的区域
firewall-cmd --zone=internal --list-all  # 查看具体区域设置
firewall-cmd --list-all   # 查看默认区域设置
firewall-cmd --list-all-zones  # 查看所有区域设置
firewall-cmd --get-zone-of-interface=ens32  # 查看指定网卡所在的区域

服务

来源于某个服务的消息,都使用指定的区域规则

方法 描述
–get-services 显示预定义的服务
–add-service=<服务名> 设置默认区域允许该服务的流量
–remove-service=<服务名> 设置默认区域不再允许该服务的流量
firewall-cmd  --query-service=ssh  # 是否允许请求ssh服务的流量
firewall-cmd  --query-service=https  # 是否允许请求https服务的流量
firewall-cmd  --add-service=https  # 开放https服务
firewall-cmd  --remove-service=https  # 进制https服务

来源地址

来源于某个ip都使用指定的区域规则

方法 描述
–add-source= 将源自此IP或子网的流量导向指定的区域
–remove-source= 不再将源自此IP或子网的流量导向这个区域

网卡

来源于某个网卡的都使用指定的区域规则

也既是说,接收到的消息使用哪个规则,firewall是根据下面三个顺序来判断的
1、source,来源地址
2、Interface,接收请求的网卡
3、firewalld配置的默认区域(zone)

方法 描述
–add-interface=<网卡名称> 将源自该网卡的所有流量都导向某个指定区域
–change-interface=<网卡名称> 将某个网卡与区域进行关联
-remove-interface 删除网卡
firewall-cmd  --change-interface=ens32   # 当前生效
firewall-cmd  -add-interface=ens33   # 作用在指定区域
firewall-cmd -add-interface=ens33   # 作用在默认区域
firewall-cmd -remove-interface=ens33  # 禁止ens33网卡作用在drop区域

端口

方法 描述
–list-ports 查看所有端口
–add-port=<端口号/协议> 设置默认区域允许该端口的流量
–remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
–add-forward-port=port=888:proto=tcp:toport=22 端口转发
firewall-cmd  --add-port=22/tcp  #开放端口
firewall-cmd  --remove-port=22/tcp # 取消端口
firewall-cmd  --add-port=8080-8081/tcp   # 开放两个端口
firewall-cmd  --list-ports # 查看开放了哪些端口
firewall-cmd  --add-forward-port=port=888:proto=tcp:toport=22  # 端口转发

协议

firewall-cmd  --list-protocols
firewall-cmd  --add-protocol=icmp  # 允许ping
firewall-cmd  --remove-protocol=icmp # 禁止ping

富文本规则

# 对 147.152.139.197 开放10000端口
$ firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4"source address="192.168.0.43/32"port protocol="tcp" port="10000" accept'       # 拒绝端口:
$ firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4"source address="192.168.0.43/32"port protocol="tcp" port="10000" reject'  # 开放全部端口给IP
$ firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4"source address="192.168.0.43/32" accept';# 开放全部端口给网段
$ firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4"source address="192.168.0.0/16" accept';

其他

参数 描述
–permanent 永久生效
–zone 指定区域
–reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
–panic-on 开启应急状况模式
–panic-off 关闭应急状况模式

参考:
https://www.cnblogs.com/bldly1989/p/7209748.html
https://blog.51cto.com/andyxu/2137046
https://www.jianshu.com/p/90603f7b2119
https://www.cnblogs.com/chenjunkang/p/9830774.html

linux firewalld相关推荐

  1. Linux Firewalld防火墙

    Firewalld(Dynamic Firewall Manager of Linux systems) 防火墙存在的作用 切割被信任(如子域)与不被信任(如Internet)的网段. 划分出可提供I ...

  2. linux——Firewalld与iptables的基本配置

    Firewalld Firewalld概述 动态防火墙后台程序 firewalld 提供了一个动态管理的防火墙,用以支持网络 " zones" ,以分配对一个网络及其相关链接和界面 ...

  3. linux firewalld 查看防火墙规则

    firewall-cmd --list-all #查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略) firewall-cmd --list-all-z ...

  4. linux firewalld配置文件,Linux CentOS7防火墙firewalld使用说明

    文章目录 [隐藏] firewalld配置文件 firewalld规则 firewalld的9个zone介绍 firewalld zone相关命令的用法 firewalld service介绍 Cen ...

  5. 网络安全学习(二十三)防火墙

    防火墙 基本概览 是一款具备安全防护功能的网络设备 防火墙技术主要是通过有机结合各类用于安全管理于筛选的软件或硬件设备,体现形式采用规则的方式,从而帮助计算机网络于其内.外网之间构建一道相对隔绝的保护 ...

  6. centos7.8 开启mysql3306端口

    1.查看centos版本 cat /etc/redhat-release 2.查看防火墙状态:active (running) 即是开启状态 systemctl status firewalld 3. ...

  7. 超牛逼!下一代内核级虚拟组网神器来了

    点关注公众号,回复"1024"获取2TB学习资源! vpn 软件都那么多了,为啥还要说 WireGuard 这个家伙?原因很简单,就是因为 WireGuard 被 Linux 之父 ...

  8. Linux centos7 Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法

    一. Linux网络相关 yum install net-tools ifconfig查看网卡ip ifup ens33开启网卡 ifdown ens33关闭网卡 设定虚拟网卡ens33:0 mii- ...

  9. 七周三次课(11月29日) 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法...

    2019独角兽企业重金招聘Python工程师标准>>> 10.11 Linux网络相关 ifconfig 查看网卡ip (yum install net-tools) 安装 -a   ...

最新文章

  1. 广州图书馆借阅抓取——httpClient的使用
  2. 统计与机器学习的异同
  3. toarray方法_机器学习中类别变量的编码方法总结
  4. 语言题库安装包312mb_大学为什么要考取计算机二级,以后很需要,附二级Msoffice题库...
  5. mysql 日期 明天_mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间...
  6. Android调试ABD命令
  7. GAN与自动编码器:深度生成模型的比较
  8. Java基础知识点回顾
  9. python 内存不足_python内存不足
  10. 【pingce360】传小米平板MIPAD采用MTK8125四核 或售999元
  11. html canvas 绘制转盘,Canvas绘制转盘
  12. java时间显示时区_Java 时间、日期与时区的关系
  13. 微信小程序清除缓存(ios和安卓的解决方法)
  14. 基于dotNET 5 MVC经典模式引入Swagger进行web api开发和管理发布OAS3标准接口文档全过程
  15. 新赛季的中超和国安,荆棘中前行
  16. 彻底搞懂MySQL的索引
  17. docker之win安装gitlab
  18. CDMA移动通信网的关键技术(转)
  19. 基于C语言的网络编程的项目
  20. 计算机会显示机械硬盘丢失,Win10机械硬盘突然消失,无法检测到解决方案

热门文章

  1. python可变类型与不可变类型作为函数参数区别_不要用可变类型对象做函数默认参数...
  2. 20、二进制转化为十进制
  3. oracle12c时间,Oracle 12c-选择冒号后的日期时间字符串
  4. Python+tkinter动态创建与销毁组件小案例
  5. xssfworkbook excel打开为空白_「Excel」轻松运用 Excel 之“Excel 选项”的 4 个设置
  6. Linux 线程池的概念与实现
  7. linux中的文件权限drm解释,DRM内核源码分析之三
  8. 界面放大_Beachtek推出RED摄影机低噪前置放大器DXA-RED
  9. java8 stringbuilder_有了Java8的“+”真的可以不要StringBuilder了吗
  10. php定时器使用,PHP定时器的说明