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

你可能感兴趣的:(Firewall使用及案例)