在rhel7中有两种防火墙,与iptables不同的是firewalld防火墙
比起iptables来firewalld有两个好处
1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
但是firewalld支持的服务得自己一个一个去配置
在firewalld中也有zone的这个概念来提供一些默认的配置服务
- trusted 可以接受所有的服务
- home 用于内网,仅接受ssh,mdns,ip-client,samba-client.dhcpv6-client服务
- work 适用于工作区,仅接受ssh,ip-client或dhcpv6-client 服务
- public 试用于公网,仅接受ssh与dhcpc6-client服务连接(是firewalld的默认)
- external 出去的ipv4网络连接通过此去区域伪装和转发,仅接受ssh服务
- block 拒绝所有的服务
firewalld的基本使用
首先我们需要关闭iptables服务,以免引起冲突,然后确保firewalld处于开启的状态
systemctl stop iptables
systemctl mask iptables.service
systemctl status firewalld
systemctl enable firewalld
然后对于firewalld的操作我们可以使用
firewall-cmd命令来进行操作firewall防火墙
firewall-cmd --state #查看防火墙当前状态