HCRM博客

如何在CentOS系统中配置防火墙?

在CentOS系统中配置防火墙是确保系统安全的关键步骤之一,防火墙可以控制进出系统的网络流量,保护系统免受未经授权的访问和各种网络攻击,CentOS 7及更高版本中默认使用firewalld作为防火墙服务,而更早的版本如CentOS 6则使用iptables,下面将详细介绍如何在CentOS中配置和管理防火墙。

一、防火墙基础操作

1、查询防火墙状态

如何在CentOS系统中配置防火墙?-图1
(图片来源网络,侵权删除)

CentOS 7及以上:systemctl status firewalldfirewallcmd state

CentOS 6:service iptables status

2、开启防火墙

CentOS 7及以上:systemctl start firewalldfirewallcmd reload

CentOS 6:service iptables start

3、关闭防火墙

如何在CentOS系统中配置防火墙?-图2
(图片来源网络,侵权删除)

CentOS 7及以上:systemctl stop firewalld

CentOS 6:service iptables stop

4、重启防火墙

CentOS 7及以上:systemctl restart firewalld

CentOS 6:service iptables restart

5、永久关闭防火墙(CentOS 7及以上)systemctl disable firewalld

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

6、永久关闭后重新开启防火墙(CentOS 7及以上)systemctl enable firewalld然后启动防火墙。

二、防火墙端口配置

开启防火墙后,某些服务可能会因为相关端口未打开而无法访问,此时需要配置防火墙规则以允许特定端口的流量通过。

1、查看已开启端口

firewallcmd listportsnetstat ntlp

2、查看防火墙规则firewallcmd listall

3、查看允许的协议firewallcmd listprotocols

4、开启、关闭、查询端口

查询端口是否开放:firewallcmd queryport=80/tcp

永久增加/开启端口:firewallcmd permanent addport=80/tcp然后重启防火墙或重新加载规则:firewallcmd reload

删除端口:firewallcmd permanent removeport=80/tcp然后重启防火墙或重新加载规则。

三、防火墙IP指向限制配置

除了基于端口的配置外,还可以根据IP地址进行更精细的控制。

1、允许指定IP访问所有流量

firewallcmd permanent addrichrule="rule family="ipv4" source address="192.168.1.100" accept"然后重启防火墙或重新加载规则。

2、允许指定IP访问指定端口

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

3、允许指定IP访问指定协议

阻止ICMP包:firewallcmd permanent addrichrule="rule protocol value="icmp" drop"

允许特定地址通过ICMP:firewallcmd permanent addrichrule="rule family="ipv4" source address="120.12.23.136" protocol value="icmp" accept"

4、允许指定IP访问指定服务

允许特定地址访问SSH服务:firewallcmd permanent addrichrule="rule family="ipv4" source address="10.168.186.25" service name="ssh" accept"

5、移除服务:从允许通过防火墙的列表里移除SSH服务:firewallcmd permanent removerichrule="rule family="ipv4" source address="10.168.186.25" service name="ssh" drop"

四、获取所有支持的服务

可以通过以下命令查看firewalld支持的所有服务:

firewallcmd getservices

五、自定义复杂规则

对于更复杂的需求,可以自定义规则,允许特定IP段访问本机的80808090端口:

firewallcmd permanent addrichrule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80808090" accept'

注意,自定义规则时要小心避免与已有规则冲突。

通过上述步骤,您可以在CentOS系统中有效地配置和管理防火墙,以保护系统免受未经授权的访问和网络攻击,记得在每次修改防火墙规则后,都要重启防火墙或重新加载规则以确保更改生效,定期审查和更新防火墙规则也是保持系统安全的重要措施之一。

七、FAQs

Q1: 如何更改CentOS 7中的默认防火墙区域?

A1: 要更改默认的防火墙区域,可以使用以下命令:

firewallcmd setdefaultzone=<区域名>

将默认区域设置为public:

sudo firewallcmd setdefaultzone=public

然后重启防火墙或重新加载规则以使更改生效。

Q2: 如果我想临时允许某个IP访问我的服务器上的特定端口,应该如何操作?

A2: 要临时允许某个IP访问服务器上的特定端口,可以使用以下命令添加临时规则:

firewallcmd addrichrule="rule family="ipv4" source address="<源IP>" port protocol="tcp" port="<目标端口>" accept"

允许IP为192.168.1.100的主机访问本机的80端口:

sudo firewallcmd addrichrule="rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept"

这种更改是临时的,重启防火墙后会失效,如果需要永久生效,请使用permanent选项并重启防火墙或重新加载规则。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/16534.html

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