linux 7 防火墙 配置视频教程,详解CentOS/RHEL7配置firewalld防火墙

在RHEL/CentOS7系统中, firewalld防火墙取代了iptables 防火墙。firewalld( Dynamic Firewall

Manager of Linux systems, Linux 系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥

有基于 CLI(命令行界面)和基于 GUI(图形用户界面)的两种管理方式。

相较于传统的防火墙管理配置工具, firewalld 支持动态更新技术并加入了区域( zone)的概念。简单来

说,区域就是 firewalld 预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选

择合适的策略集合,从而实现防火墙策略之间的快速切换。

firewalld 中常见的区域名称(默认为 public)以及相应的策略规则

#区域 #默认策略规则

trusted 允许所有的数据包

home 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量

internal 等同于 home 区域

work 拒绝流入的流量,除非与流出的流量数相关;而如果流量与ssh、ipp-client与dhcpv6-client 服务相关,则允许流量

public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client 服务相关,则允许流量

external 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量

dmz 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量

block 拒绝流入的流量,除非与流出的流量相关

drop 拒绝流入的流量,除非与流出的流量相关

firewalld 配置的防火墙策略默认为运行时( Runtime)模式,又称为当前生效模式,而且随着系统的重启

会失效。如果想让配置策略一直存在,就需要使用永久( Permanent)模式。firewall-cmd 命令中使用的

参数以及作用如下表

参数作用

– – state查看防火墙的状态

– – get-default-zone查看当前的默认区域

– – set-default-zone=设置默认的区域

– – get-zones显示可用的区域

– – get-services显示预先定义的服务

– – get-active-zones显示当前正在使用的区域与网卡名称

– – add-source=将源自此 IP 或子网的流量导向指定的区域

– – remove-source=不再将源自此 IP 或子网的流量导向某个指定区域

– – add-interface=将源自该网卡的所有流量都导向某个指定区域

– – change-interface=将某个网卡与区域进行关联

– – list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息

– – list-all-zones显示所有区域的网卡配置参数、资源、端口以及服务等信息

– – add-service=设置默认区域允许该服务的流量

– – add-port=设置默认区域允许该端口的流量

– – remove-service=设置默认区域不再允许该服务的流量

– – remove-port=设置默认区域不再允许该端口的流量

– – reload重新加载防火墙,中断用户的连接,将临时配置清掉,加载配置文件中的永久配置

– – complete-reload重新加载防火墙,不中断用户的连接(防火墙出严重故障时使用)

– – panic-on开启应急模式(强制关闭所有网络连接,拒绝所有包)

– – panic-off关闭应急模式(取消拒绝状态)

– – query-panic查看应急模式

1,启动并设置自动启动firewalld服务,查看状态

systemctl start firewalld

systemctl enable firewalld

systemctl status firewalld

● firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

Active: active (running) since Fri 2018-10-12 15:18:32 CST; 23s ago

Docs: man:firewalld(1)

Main PID: 12503 (firewalld)

CGroup: /system.slice/firewalld.service

└─12503 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Oct 12 15:18:31 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall dae…..

Oct 12 15:18:32 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.

Hint: Some lines were ellipsized, use -l to show in full.

2,停止、禁用firewalld服务

systemctl stop firewalld

systemctl disable firewalld

3,firewalld基本设置

firewall-cmd --version #查看版本

firewall-cmd --help #查看帮助

firewall-cmd --state #显示状态

firewall-cmd --zone=public --list-ports #查看所有打开的端口

firewall-cmd --reload #更新防火墙规则

firewall-cmd --get-active-zones #查看区域信息

firewall-cmd --get-zone-of-interface=eth0 #查看指定接口所属区域

firewall-cmd --panic-on #拒绝所有包

firewall-cmd --panic-off #取消拒绝状态

firewall-cmd --query-panic #查看是否拒绝

命令示例:

1,查看当前区域

[root@localhost ~]# firewall-cmd --get-default-zone

public

2,查看指定网络接口所在区域

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens192

public

3,查看所有可用区域

[root@localhost ~]# firewall-cmd --get-zones

block dmz drop external home internal public trusted work

4,查看public区域是否允许请求 SSH 和 HTTPS 协议的流量

[root@localhost ~]# firewall-cmd --zone=public --query-service=ssh

yes

[root@localhost ~]# firewall-cmd --zone=public --query-service=https

no

5,把网卡ens192的默认区域修改为 external,并设置为永久生效,然后查看设置

firewall-cmd --permanent --zone=external --change-interface=ens192

firewall-cmd --reload

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

6,将默认区域设置为work,并查看

firewall-cmd --set-default-zone=work

firewall-cmd --get-default-zone

7,设置允许https流量,并设置为永久生效

firewall-cmd --permanent --zone=public --add-service=https

firewall-cmd --reload

8,设置允许80端口的TCP流量,并设置为永久生效

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

firewall-cmd --reload

9,设置HTTP协议的流量设置为永久拒绝,并立即生效

firewall-cmd --permanent --zone=public --remove-services=http

firewall-cmd --reload

10,设置流量转发,将666端口的流量转发到22端口,并设置为永久生效

firewall-cmd --permanent --zone=public --add-forward-port= port=666:proto=tcp:toport=22:toaddr=172.16.600.100

Rich规则:

rich规则比基本的firewalld语法实现更强的功能,不仅实现允许/拒绝,还可以实现日志syslog和auditd,

也可以实现端口转发,伪装和限制速率。firewalld 中的富规则表示更细致、更详细的防火墙策略配置,它可

以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防

火墙策略中也是最高的。

rich规则实施顺序有以下四点:

a.该区域的端口转发,伪造规则

b.该区域的日志规则

c.该区域的允许规则

d.该区域的拒绝规则

每个匹配的规则都生效,所有规则都不匹配,该区域默认规则生效

Rich rule示例:

1,允许来自IP地址172.16.80.27/16的所有连接

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="ipaddress" accept'

firewall-cmd --reload

2,限制每分钟只有两个连接到ftp服务

firewall-cmd --permanent --zone=public --add-rich-rule='rule service name=ftp limitvalue=2/m accept'

firewall-cmd --reload

3,拒绝来自192.168.10.0/24网段的所有用户访问本机的ssh服务(22端口)

firewall-cmd --permanent --zone=public --add-rich-rule=" rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"

firewall-cmd --reload

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值