HCRM博客

如何在CentOS 7上配置防火墙?

防火墙是网络安全中至关重要的组成部分,它能够监控和控制进出网络的流量,保护系统免受未经授权的访问,在CentOS 7系统中,默认使用firewalld作为防火墙管理工具,提供了灵活的策略配置和易于管理维护的特点,下面将详细介绍如何查看、开启、关闭、配置防火墙规则以及防火墙的其他操作:

一、查看防火墙状态

1、查看防火墙状态:可以使用以下命令来查看防火墙的运行状态。

如何在CentOS 7上配置防火墙?-图1
(图片来源网络,侵权删除)
   systemctl status firewalld

如果显示“active (running)”则表示防火墙正在运行,如果显示“inactive (dead)”则表示防火墙已经关闭。

2、查看防火墙版本:可以通过以下命令查看firewalld的版本信息。

   firewallcmd version

3、查看防火墙帮助信息:可以查看firewallcmd的帮助信息,了解其支持的命令和参数。

   firewallcmd help

4、查看防火墙状态:使用以下命令可以查看当前防火墙的状态(运行或未运行)。

   firewallcmd state

二、开启和关闭防火墙

1、开启防火墙:如果防火墙处于关闭状态,可以使用以下命令来开启防火墙。

   sudo systemctl start firewalld

2、关闭防火墙:如果需要关闭防火墙,可以使用以下命令。

如何在CentOS 7上配置防火墙?-图2
(图片来源网络,侵权删除)
   sudo systemctl stop firewalld

3、设置开机启用防火墙:要设置开机时自动启用防火墙,可以使用以下命令。

   sudo systemctl enable firewalld

4、设置开机禁用防火墙:要设置开机时自动禁用防火墙,可以使用以下命令。

   sudo systemctl disable firewalld

5、重启防火墙服务:在修改了防火墙规则后,可以通过重启防火墙服务使更改生效。

   sudo systemctl restart firewalld

三、配置防火墙规则

1、查看防火墙规则:使用以下命令可以查看当前防火墙规则。

   firewallcmd listall

2、添加开放端口:要添加开放SSH端口22,可以使用以下命令。

   sudo firewallcmd addport=22/tcp permanent
   sudo firewallcmd reload

第一条命令将端口添加到永久规则中,第二条命令重新加载防火墙规则使更改生效。

如何在CentOS 7上配置防火墙?-图3
(图片来源网络,侵权删除)

3、删除开放端口:要删除开放的80端口,可以使用以下命令。

   sudo firewallcmd removeport=80/tcp permanent
   sudo firewallcmd reload

4、查询端口是否开放:要查询80端口是否开放,可以使用以下命令。

   sudo firewallcmd queryport=80/tcp

5、批量添加开放端口:要批量添加开放一段端口90019100,可以使用以下命令。

   sudo firewallcmd permanent addport=90019100/tcp
   sudo firewallcmd reload

6、允许指定IP访问所有流量:要允许IP地址192.168.43.88访问所有流量,可以使用以下命令。

   sudo firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"192.168.43.88\" accept"
   sudo firewallcmd reload

7、允许指定IP访问指定端口:要允许IP地址10.168.186.25连接端口22,可以使用以下命令。

   sudo firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"10.168.186.25\" port protocol=\"tcp\" port=\"22\" accept"
   sudo firewallcmd reload

8、允许指定IP访问指定协议:要阻止ICMP包,可以使用以下命令。

   sudo firewallcmd permanent addrichrule="rule protocol value=\"icmp\" drop"
   sudo firewallcmd reload

9、允许特定地址通过ICMP:要允许特定地址120.12.23.136通过ICMP,可以使用以下命令。

   sudo firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"120.12.23.136\" protocol value=\"icmp\" accept"
   sudo firewallcmd reload

10、允许指定IP访问指定服务:要允许特定地址10.168.186.25访问SSH服务,可以使用以下命令。

    sudo firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"10.168.186.25\" service name=\"ssh\" accept"
    sudo firewallcmd reload

11、移除某个服务规则:要从允许通过防火墙的列表里移除SSH服务,可以使用以下命令。

    sudo firewallcmd removerichrule="rule family=\"ipv4\" source address=\"10.168.186.25\" service name=\"ssh\" drop"
    sudo firewallcmd reload

四、其他操作

1、信任级别配置:firewalld通过Zone的值指定信任级别,不同的Zone有不同的信任级别和规则,常见的Zone包括drop、block、public、external、dmz、work、home、internal和trusted,drop Zone丢弃所有进入的包,而不给出任何响应;block Zone拒绝所有外部发起的连接,允许内部发起的连接;public Zone允许指定的进入连接等。

2、配置IP地址伪装:IP地址伪装用于路由转发,要查看是否开启了IP地址伪装,可以使用以下命令。

   firewallcmd zone=external querymasquerade

打开IP地址伪装的命令如下:

   firewallcmd zone=external addmasquerade

关闭IP地址伪装的命令如下:

   firewallcmd zone=external removemasquerade

3、端口转发:端口转发用于将一个端口的流量转发到另一个端口,要将TCP端口22的流量转发到TCP端口3753,可以使用以下命令。

   firewallcmd zone=external addforwardport=22:port=tcp:toport=3753

正确配置和使用防火墙可以有效地保护系统的安全性和稳定性,避免未经授权的访问、攻击和数据泄露等问题,在使用防火墙时,需要根据实际需求进行规则的添加和删除,以提高服务器的安全性,定期检查和更新防火墙规则也是非常重要的,以确保防火墙始终处于最佳状态。

六、相关问答FAQs

Q1: 如何在CentOS 7中永久添加一个开放的TCP端口?

A1: 要在CentOS 7中永久添加一个开放的TCP端口,可以使用以下命令,要永久添加开放TCP端口8080,可以使用以下命令:

sudo firewallcmd permanent addport=8080/tcp
sudo firewallcmd reload

这样,即使重启系统后,该端口仍然保持开放状态。

Q2: 如何在CentOS 7中允许特定IP访问指定服务?

A2: 要在CentOS 7中允许特定IP访问指定服务,可以使用以下命令,要允许IP地址10.168.186.25访问SSH服务,可以使用以下命令:

sudo firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"10.168.186.25\" service name=\"ssh\" accept"
sudo firewallcmd reload

这样,只有来自指定IP地址的流量才能访问指定的服务。

分享:
扫描分享到社交APP
上一篇
下一篇