firewalld规则配置

一、概念

  1. 动态防火墙

    启动新规则时,不会像iptables一样,先清空规则,再启动所有规则,如此会对现在程序有影响,哪怕只是一条规则。而firewalld 规则变更不需要对整个防火墙规则重载,可直接添加新规则

  2. iptables与firewalld的关系

    firewalld底层使用iptables作为防火墙规则管理入口。

    firewalld内核模块还是netfilter,只是firewalld修改了daemon和service

    添加规则还是通过iptables管理的,可以通过iptables查看规则

    firewalld没有链的概念

  3. firewalld配置

    储存在/usr/lib/fierwalld/和/etc/firewalld/目录中的XML文件中

    /usr/lib/fierwalld/services/ 模块目录,里面有每个服务对应的模板,配置默认端口

    /etc/firewalld/ 配置目录

  4. firewalld区域

    firewalld将网卡对应到不同的区域(zone),zone默认共有9个:block,dmz,drop,external,home,internal,public,trusted,work.

    区域相当于iptables的表 drop区域:配置的规则为丢弃的规则

    public区域:公共规则

二、开放端口

  1. 配置文件添加

    添加配置

    [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
  2. 命令行添加

    列出所支持的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规则配置的更多相关文章

  1. Linux下双网卡Firewalld的配置流程

    实验室拟态存储的项目需要通过LVS-NAT模式通过LVS服务器来区隔内外网的服务,所以安全防护的重心则落在了LVS服务器之上.笔者最终选择通过firewalld放行端口的方式来实现需求,由于firew ...

  2. firewalld规则写法

    需要注意的是Firewalld中的区域与接口 一个网卡仅能绑定一个区域.比如: eth0-->A区域 但一个区域可以绑定多个网卡.比如: B区域-->eth0.eth1.eth2 可以根据 ...

  3. 自学Zabbix9.2 zabbix网络发现规则配置详解+实战

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.2 zabbix网络发现规则配置详解+实战 1.  创建网络发现规则 Conf ...

  4. Suricata规则配置

    Suricata 规则配置 IDS/IPS/WAF IPS.IDS和WAF分别是入侵防御系统和入侵检测系统以及WEB应用防火墙的简称,很多人说这些玩意不就是盒子吗已经过时了,其实不是,SIEM其实是有 ...

  5. nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转

    nginx 域名跳转 Nginx跳转自动到www域名规则配置,如果设置使 mgcrazy.com域名在用户访问的时候自动跳转到 www.mgcrazy.com呢?在网上找了好多资料都没有一个完整能解决 ...

  6. MasaFramework -- 缓存入门与规则配置

    概念 什么是缓存,在项目中,为了提高数据的读取速度,我们会对不经常变更但访问频繁的数据做缓存处理,我们常用的缓存有: 本地缓存 内存缓存:IMemoryCache 分布式缓存 Redis: Stack ...

  7. office365启动突然提示注册表错误,无法打开“规则”配置的解决方案

    感觉目前网上的资料,暂无清晰的解答,根据现象分析是outlook的原始邮件文件即psd文件中的规则相关字段存在问题,导致outlook无法打开. 因此网上的各种答疑如重装,调整注册表等等措施都是无效的 ...

  8. firewalld 防火墙配置

    1. firewalld-cmd 命令中使用的参数以及作用  --get-default-zone 查询默认的区域名称 --set-default-zone=<区域名称> 设置默认的区域, ...

  9. iptables和firewalld的配置

    一.iptables 1.配置 vi /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -p tcp -m tcp ...

  10. CentOS7.3防火墙firewalld简单配置

    今天安装了centos7.3, 想用iptables的save功能保存规则的时候发现跟rhel不一样了,  后来度娘说centos用的是firewalld而不是iptables了, 平时工作都是用re ...

随机推荐

  1. 前端仿京东、天猫带搜索历史搜索栏搜索框searchBar

    快速实现前端仿京东.天猫带搜索历史搜索栏搜索框searchBar, 使用简单便利, 请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12529 ...

  2. The content of element type “web-app“ must match 解决方法

    报错原因 ‍ 问题描述 : 在创建 SpringMVC 时 , 选用 idea 的 webapp 模板来创建 , xml 配置文件中进行配置时发现提示警告 警告如下: ‍ ​ ​ 这错误大概的意思就是 ...

  3. 3. HelloWorld的实现

    恐惧是本能,行动是信仰(在此感谢尚硅谷宋红康老师的教程) 1. 新建 Project - Class 选择"New Project": 指名工程名.使用的 JDK 版本等信息.如下 ...

  4. 生成式预训练Transformer:探索其在自然语言处理领域的最新应用

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 生成式预训练Transformer:探索其在自然语言处理领域的最新应用 1. 引言 自然语言处理 (NLP) ...

  5. 编译器性能调优:使用C++11实现高效编译器

    目录 1. 引言 2. 技术原理及概念 2.1. 基本概念解释 2.2. 技术原理介绍 <编译器性能调优:使用C++11实现高效编译器> 编译器是计算机程序的入口点,将源代码转换为可执行文 ...

  6. 使用ansible-app2k8s管理和部署服务到 kubernetes

    ansible-app2k8s #1 介绍 使用 ansible 管理和部署服务到 kubernetes 适用于项目容器化,多套 k8s 环境的管理,可结合CICD工具做DevOps 来自于项目实践, ...

  7. PostgreSQL 性能优化: EXPLAIN 使用教程

    使用 EXPLAIN EXPLAIN基础 代价估计 启动开销 总开销 计划结点输出行数 计划结点输出行宽 执行统计 实际启动开销 实际总开销 实际输出行数 实际执行次数 I/O统计 共享块命中数 共享 ...

  8. SQL Sever 各版本的适用环境

    很多用visual studio做开发的朋友经常会用到sqlserver数据库,但是往往在选择的时候就不知道该使用哪个版本了,今天就给大家分享一下sqlserver各个版本之间的区别,以及各个版本之间 ...

  9. 楠少音乐盒(PC端)突破校园网限制

    楠少音乐盒 突破校园网限制 最近在将音乐盒从web迁移到PC端,过程中的记录 在我们学校,工作时间内(周一至周五为工作日,下午上班时间)校园网都会拦截一些与工作无关的网站,例如购物.炒股.游戏.音乐等 ...

  10. HashMap源码的阅读笔记

    注释部分 Hash table based implementation of the <tt>Map</tt> interface. This * implementatio ...