firewalld规则配置
firewalld规则配置
一、概念
动态防火墙
启动新规则时,不会像iptables一样,先清空规则,再启动所有规则,如此会对现在程序有影响,哪怕只是一条规则。而firewalld 规则变更不需要对整个防火墙规则重载,可直接添加新规则
iptables与firewalld的关系
firewalld底层使用iptables作为防火墙规则管理入口。
firewalld内核模块还是netfilter,只是firewalld修改了daemon和service
添加规则还是通过iptables管理的,可以通过iptables查看规则
firewalld没有链的概念firewalld配置
储存在/usr/lib/fierwalld/和/etc/firewalld/目录中的XML文件中
/usr/lib/fierwalld/services/ 模块目录,里面有每个服务对应的模板,配置默认端口
/etc/firewalld/ 配置目录firewalld区域
firewalld将网卡对应到不同的区域(zone),zone默认共有9个:block,dmz,drop,external,home,internal,public,trusted,work.
区域相当于iptables的表 drop区域:配置的规则为丢弃的规则
public区域:公共规则
二、开放端口
配置文件添加
添加配置
[root@localhost ~]# vi /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</d
escription>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<port protocol="tcp" port="80"/>
<port protocol="tcp" port="22"/>
<port protocol="tcp" port="3306"/>
<port protocol="tcp" port="8080"/>
<port protocol="tcp" port="2222"/>
<masquerade/>
<forward-port to-addr="192.168.1.109" to-port="8080" protocol="tcp" port="80"/>
</zone>
加载规则
firewall-cmd --reload
命令行添加
列出所支持的zone和查看当前的默认zone
firewall-cmd --get-zones
默认使用区域
firewall-cmd --get-default-zone
查看防火墙规则
firewall-cmd --list-all
查看规则状态
firewall-cmd --state
加载规则
firewall-cmd --reload
开放3306端口
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
开放网段
firewall-cmd --permanent --add-source=192.168.0.0/22
移除规则
firewall-cmd --permanent --remove-source=192.168.0.0/22
开放服务
firewall-cmd --permanent --add-service=http
移除服务
firewall-cmd --permanent --remove-service=http
添加服务
#cp ssh.xml tomcat.xm 添加模块
vim tomcat.xml
#systemctl restart firewalld.service
#firewall-cmd --add-service=tomcat --permanent
开启12222端口
#firewall-cmd -add-port=12222/tcp --permanent
#cat /etc/firewalld/zones/public.xml
删除规则
#firewall-cmd --remove-port=12222/tcp --permanent
允许192.168.0.142访问80端口
#firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.142" port protocol="tcp" port="80" accept"
family 对哪个协议
source address 源地址
accept 允许
drop 拒绝
拒绝192.168.0.142访问80端口
#firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.142" port protocol="tcp" port="80" drop"
注:同一规则允许及拒绝时,效果为拒绝,不会跟iptables一样,没有先后顺序优先匹配,为全文匹配,拒绝大于允许
三、端口转发
开启转发功能
[root@localhost subsys]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#sysctl -p
或者
echo 1 >/proc/sys/net/ipv4/ip_forward
将访问192.168.1.123(本机)主机8080端口的请求转发至80端口
#firewall-cmd --permanent --zone=public --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.123
将访问192.168.1.123(本机)主机8080端口的请求转发至192.168.1.111的80端口
#firewall-cmd --permanent --zone=public --add-forward-port=port=8080:proto=tcp:toaddr=192.168.1.111:toport=80
将本机的80端口转发至192.168.1.109 8080端口
#firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.109
允许IP 192.168.1.142访问本机器的6379端口
#firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.142" port protocol="tcp" port="6379" accept"
拒绝IP 192.168.1.142访问本机的22号端口
#firewall-cmd --permanent --add-rech-rule="rule family="ipv4" source address="192.168.1.142" port protocol="tcp" port="80" drop"
注:转发时,要开启伪装,伪装就是SNAT
允许IP伪装
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-masquerade
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --query-masquerade
yes
firewalld规则配置的更多相关文章
- Linux下双网卡Firewalld的配置流程
实验室拟态存储的项目需要通过LVS-NAT模式通过LVS服务器来区隔内外网的服务,所以安全防护的重心则落在了LVS服务器之上.笔者最终选择通过firewalld放行端口的方式来实现需求,由于firew ...
- firewalld规则写法
需要注意的是Firewalld中的区域与接口 一个网卡仅能绑定一个区域.比如: eth0-->A区域 但一个区域可以绑定多个网卡.比如: B区域-->eth0.eth1.eth2 可以根据 ...
- 自学Zabbix9.2 zabbix网络发现规则配置详解+实战
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.2 zabbix网络发现规则配置详解+实战 1. 创建网络发现规则 Conf ...
- Suricata规则配置
Suricata 规则配置 IDS/IPS/WAF IPS.IDS和WAF分别是入侵防御系统和入侵检测系统以及WEB应用防火墙的简称,很多人说这些玩意不就是盒子吗已经过时了,其实不是,SIEM其实是有 ...
- nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转
nginx 域名跳转 Nginx跳转自动到www域名规则配置,如果设置使 mgcrazy.com域名在用户访问的时候自动跳转到 www.mgcrazy.com呢?在网上找了好多资料都没有一个完整能解决 ...
- MasaFramework -- 缓存入门与规则配置
概念 什么是缓存,在项目中,为了提高数据的读取速度,我们会对不经常变更但访问频繁的数据做缓存处理,我们常用的缓存有: 本地缓存 内存缓存:IMemoryCache 分布式缓存 Redis: Stack ...
- office365启动突然提示注册表错误,无法打开“规则”配置的解决方案
感觉目前网上的资料,暂无清晰的解答,根据现象分析是outlook的原始邮件文件即psd文件中的规则相关字段存在问题,导致outlook无法打开. 因此网上的各种答疑如重装,调整注册表等等措施都是无效的 ...
- firewalld 防火墙配置
1. firewalld-cmd 命令中使用的参数以及作用 --get-default-zone 查询默认的区域名称 --set-default-zone=<区域名称> 设置默认的区域, ...
- iptables和firewalld的配置
一.iptables 1.配置 vi /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -p tcp -m tcp ...
- CentOS7.3防火墙firewalld简单配置
今天安装了centos7.3, 想用iptables的save功能保存规则的时候发现跟rhel不一样了, 后来度娘说centos用的是firewalld而不是iptables了, 平时工作都是用re ...
随机推荐
- ensp 链路聚合
链路聚合(Link Aggregation) 指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,链路聚合在增加链路带宽.实现链路传输弹性和工程冗余等方面是 ...
- 前端vue 宫格组件提供常见九宫格菜单组件,扩充性好,可切换九宫格 十二宫格 十五宫格
快速实现vue uni-app宫格组件提供常见九宫格菜单组件,扩充性好,可切换九宫格 十二宫格 十五宫格; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net. ...
- Linux可视化管理-webmin工具
环境:连接工具:tabby,操作系统:centos7.6. webmin 介绍 Webmin 是功能强大的基于 Web 的 Unix/linux 系统管理工具.管理员通过浏览器访问 Webmin ...
- Python潮流周刊#9:如何在本地部署开源大语言模型?
你好,我是猫哥.这里每周分享优质的 Python 及通用技术内容,部分为英文,已在小标题注明.(标题取自其中一则分享,不代表全部内容都是该主题,特此声明.) 首发于我的博客:https://pytho ...
- 开发中MongoDB遇到的各种问题
目录 一.安装6版本以下 二.安装6版本及以上 三.安装6版本以下(解压版) 四.配置本地 Windows MongoGB 服务 五.navicat 连接远程mongodb数据库 六.ip不一致问题 ...
- 探秘高逼格艺术二维码的制作过程-AI绘画图生图
在之前的文章<AI制作艺术二维码-文生图>中,我介绍了一种直接通过提示词生成高逼格二维码的方法,但是通过提示词我们无法很好的控制生成图片的样式,特别是有些同学想要将自己的Logo或者头像附 ...
- selenium实战学习--定位元素
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.common import ...
- 高通个别驱动创建Buffer耗时高问题的解决
前言 最近在优化游戏的时候,发现在在高通特定驱动版本的机器上(855,855+等),创建VB的耗时跟VB的数量成正比,这个应该是驱动的bug.跟官方人员确认过,确实是有这个问题,他们给的解决方案是减少 ...
- .NetCore3.1+微服务架构技术栈
目标 目标系统架构演变,单体-分布式-微服务-中台 微服务架构核心解决,横向对比1.0.2.0.3.0 践行微服务架构,全组件解读! 也谈中台 单体架构Monolithic 单体应用时代:应用程序就是 ...
- CF1799B Equalize by Divide题解
本蒟蒻学习了jiangly大佬的思想,来发一个题解. 大致题意: 给定一个 \(n\) 个元素的数组 \(a\),每次可以选择 \(a[i]\) 和 \(a[j]\),然后使 \(a[i] = \lc ...