CentOS7_Firewalld防火墙

Posted liang-yao

tags:

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

区域 默认规则策略
trusted 允许所有的数据包。
home 拒绝流入的数据包,除非与输出流量数据包相关或是ssh,mdns,ipp-client,samba-client与dhcpv6-client服务则允许。
internal 等同于home区域
work 拒绝流入的数据包,除非与输出流量数据包相关或是ssh,ipp-client与dhcpv6-client服务则允许。
public 拒绝流入的数据包,除非与输出流量数据包相关或是ssh,dhcpv6-client服务则允许。
external 拒绝流入的数据包,除非与输出流量数据包相关或是ssh服务则允许。
dmz 拒绝流入的数据包,除非与输出流量数据包相关或是ssh服务则允许。
block 拒绝流入的数据包,除非与输出流量数据包相关。
drop 拒绝流入的数据包,除非与输出流量数据包相关。

 

拓扑:

外网client 192.168.200.100/24

Firewall 192.168.200.101/24

192.168.3.1/24 (vm3)

192.168.2.1/24   (vm2)

nginx server 192.168.3.2/24 (vm3)

Local_client 192.168.2.2/24 (vm2)

 

Firewalld防火墙网络配置:

nmtui

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

Systemctl restart network

ip addr

 

二、Firewalld配置。

1、安装、开启firewalld服务。

yum install -y firewalld(centos7默认安装)

systemctl start firewalld

systemctl enable firewalld

2. Firewalld区域管理

列出支持的所有区域

firewall-cmd --get-zones

work drop internal external trusted home dmz public block

 

列出默认区域

firewall-cmd --get-default-zone

public

 

设置默认区域

firewall-cmd --set-default-zone=public

 

获取当前活动区域

firewall-cmd --get-active-zones

public

interfaces: ens32 ens35 ens36

 

列出全部启用的区域的详细信息

firewall-cmd --list-all-zones

 

3. Firewalld接口管理

列出指定接口所在区域

firewall-cmd --get-zone-of-interface=ens32

public

 

列出指定区域的所有接口:

firewall-cmd --zone=public --list-interfaces

ens32 ens35 ens36

 

为指定区域移除接口

firewall-cmd --zone=public --remove-interface=ens36

 

为指定区域增加接口

firewall-cmd --zone=public --add-interface=ens36

 

查询指定区域中是否包含某接口

firewall-cmd --zone=dmz --query-interface=eno50332208

 

为指定区域更改接口

firewall-cmd --zone=drop --change-interface=ens32

The interface is under control of NetworkManager, setting zone to ‘drop‘.

 

firewall-cmd --list-interfaces --zone=drop

ens32

 

列出指定区域的所有设置(接口、服务、端口)

firewall-cmd --zone=public --list-all

firewall-cmd --list-all

 

4、Firewalld服务管理

查看指定区域所有支持的服务

firewall-cmd --zone=public --list-services

firewall-cmd --list-services

dhcpv6-client ssh

 

将服务加入指定区域

firewall-cmd --zone=public --add-service=http

 

将服务移出指定区域

firewall-cmd --zone=public --remove-service=http

 

5. Firewalld端口管理

开放指定区域的指定端口

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

 

查看指定区域的指定端口

firewall-cmd --zone=public --query-port=80/tcp

 

列出指定区域打开的端口

firewall-cmd --zone=public --list-ports

 

关闭指定区域的指定端口

firewall-cmd --zone=public --remove-port=8080/tcp

 

6、FirewalldICMP阻塞管理

获取所有可用icmp类型

firewall-cmd --get-icmptypes

destination-unreachable echo-reply echo-request parameter-problem redirect router-advertisement router-solicitation source-quench time-exceeded timestamp-reply timestamp-request

 

启用指定区域的ICMP阻塞功能

firewall-cmd --zone=public --add-icmp-block=echo-request

 

查看指定区域icmp阻塞状态

firewall-cmd --zone=public --list-icmp-blocks

echo-request

 

查询指定区域的ICMP阻塞功能

firewall-cmd --zone=public --query-icmp-block=echo-request

 

移除指定区域的ICMP阻塞功能

firewall-cmd --zone=public --remove-icmp-block=echo-request

 技术分享图片

 

7. FirewalldNAT管理

SNAT(代理上网)

firewall-cmd --zone=public --add-masquerade

firewall-cmd --zone=public --query-masquerade

firewall-cmd --zone=public --remove-masquerade

 

DNAT(端口映射)

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.3.2

 

firewall-cmd --zone=public --list-forward-ports

port=80:proto=tcp:toport=80:toaddr=192.168.3.2

 

firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.3.2

技术分享图片

 

8、Firewalld配置保存及重新加载

当前生效

firewall-cmd --add-service=http

永久生效

firewall-cmd --add-service=http --permanent

 

重新加载防火墙,并不中断用户连接,即不丢失状态信息

firewall-cmd  --reload

 

重新加载防火墙并中断用户连接,即丢弃状态信息

firewall-cmd --complete-reload

 

将防火墙当前配置保存为永久配置

firewall-cmd --runtime-to-permanent

 

9、Firewalld恐慌模式

当服务器遭受严重的网络攻击时,可以启用panic模式,以丢弃所有入站和出站流量,并丢弃已建立的连接包。

开启恐慌模式

firewall-cmd --panic-on

 

查看恐慌模式

firewall-cmd --query-panic

 

关闭恐慌模式

firewall-cmd --panic-off

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

防火墙知识点详解

防火墙知识点详解

怎样设置关闭或启用防火墙?

怎么设置网络防火墙

网络防火墙怎么设置

iptables防火墙指南