Firewall使用及案例
一、防火墙介绍
firewalld是动态修改规则,定义区域和接口安全级,保障系统安全稳定。
二、防火墙区域
drop.xml 拒绝所有的连接
block.xml 拒绝所有的连接
public.xml 只允许指定的连接 *默认区域
external.xml 只允许指定的连接
dmz.xml 只允许指定的连接
work.xml 只允许指定的连接
home.xml 只允许指定的连接
internal.xml 只允许指定的连接
trusted.xml 允许所有的连接
三、防火墙使用
1、查看默认区域
[root@m01 ~]# firewall-cmd --get-default-zone
public
2、查看防火墙列表
[root@m01 ~]# firewall-cmd --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
3、删除默认规则
[root@m01 ~]# firewall-cmd --remove-service=ssh --remove-service=dhcpv6-client
4、添加多个端口
[root@m01 ~]# firewall-cmd --add-port={80,8080,9090}/tcp
5、添加和删除服务
[root@m01 ~]# firewall-cmd --add-service=http
[root@m01 ~]# firewall-cmd --remove-service=http
四、案例
1、比如允许10.0.0.1主机能够访问http服务,允许172.16.1.0/24能访问22端口
[root@m01 ~]# firewall-cmd --remove-service={ssh,dhcpv6-client}
[root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1/32 port port=80 protocol=tcp accept'
[root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 port port=22 protocol=tcp accept'
2、默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器
[root@m01 ~]# firewall-cmd --add-service=ssh
[root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 port port=22 protocol=tcp drop'
3、使用firewalld,允许所有人能访问http,https服务,但只有10.0.0.1主机可以访问ssh服务
[root@m01 ~]# firewall-cmd --remove-service={ssh,dhcpv6-client}
[root@m01 ~]# firewall-cmd --add-service={http,https}
- 第一种方式
[root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1/32 port port=22 protocol=tcp accept' - 第二种方式
[root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1/32 service name=ssh accept'
最终都写入到 ==必须添加--permanent
[root@m01 ~]# vim /etc/firewalld/zones/public.xml