Centos7配置firewalld防火墙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7配置firewalld防火墙相关的知识,希望对你有一定的参考价值。

简介

firewalld提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口
firewall daemon可实现动态管理防火墙,不需要重启整个防火墙便可应用更改,但要求防火墙的所有变更都要通过该守护进程来实现,以确保守护进程中的状态和内核里的防火墙是一致的
另外,firewall daemon 无法解析由 iptables 和 ebtables 命令行工具添加的防火墙规则。
firewall-cmd语法

--permanent:配置写入到配置文件,否则规则仅临时生效重启就没了
--reload:重载配置文件
--zone=:指定区域
--get-default-zones:获取默认区域
--set-default-zone=:设置默认区域
--get-zones:获取所有可用的区域
--get-active-zones:获取当前激活(活跃)的区域
--list-all:列出激活使用的区域的配置
--list-all-zones:列出所有区域的配置
--get-target:获取区域中的默认target
--set-target=:设置区域的target
--add-rich-rule=<rule>:添加规则族
    rule family:指定ipv4/6
    source address:指定IP地址或网段
    protocol=:指定协议类型
    port port=:指定端口号
    service name=:指定服务
--remove-rich-rule=<rule>:删除规则族
--add-forward-port=:端口转发
    port=指定需转发端口
    proto=:指定协议类型
    toport=:指定目的端口
    toaddr=:指定转发目的主机
--remove-forward-port=:删除端口转发

案例

设置某个ip访问某个服务

[root@localhost ~]# firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family="ipv4" source address="192.168.0.4/24" service name="http" accept‘

删除配置

[root@localhost ~]# firewall-cmd --permanent --zone=public --remove-rich-rule=‘rule family="ipv4" source address="192.168.0.4/24" service name="http" accept‘

设置某个IP访问某个端口

[root@localhost ~]# firewall-cmd --permanent --add-rich-rule ‘rule family=ipv4 source address=192.168.0.1/24 port port=80 protocol=tcp accept‘

删除配置

[root@localhost ~]# firewall-cmd --permanent --remove-rich-rule ‘rule family=ipv4 source address=192.168.0.1/24 port port=80 protocol=tcp accept‘

检查是否允许伪装IP

[root@localhost ~]# firewall-cmd --query-masquerade

允许防火墙伪装IP

[root@localhost ~]# firewall-cmd --permanent--add-masquerade

禁止防火墙伪装IP

[root@localhost ~]# firewall-cmd --permanent --remove-masquerade

将80端口的流量转发到8080

[root@localhost ~]# firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080

将80端口的流量转发到192.168.1.100

#开启IP伪装
[root@localhost ~]# firewall-cmd --permanent --add-masquerade
[root@localhost ~]# firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.100

添加vrrp防火墙规则

[root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface ens33 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

以上是关于Centos7配置firewalld防火墙的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7防火墙之--firewalld

centos7 docker配置防火墙firewalld

CentOS7 防火墙 Firewalld 规则配置文件批量放行端口

centos7之firewalld防火墙的配置与使用

Centos7配置firewalld防火墙

CentOS7防火墙firewalld的配置