在CentOS中,配置防火墙是确保服务器安全的重要一环,本文将全面介绍如何在CentOS中配置firewalld,包括开启和关闭防火墙、查看防火墙状态、配置防火墙规则等操作。
一、防火墙基本操作
1、切换到root用户:
su root
2、查看防火墙服务状态:
systemctl status firewalld
3、查看firewall的状态:
firewallcmd state
4、启动防火墙:
systemctl start firewalld
5、重启防火墙:
systemctl restart firewalld
6、关闭防火墙:
systemctl stop firewalld
7、设置开机自启动防火墙:
systemctl enable firewalld.service
8、查看防火墙设置是否开机自启:
systemctl isenabled firewalld.service
二、防火墙端口配置
1、查看已开启端口:
firewallcmd listports
2、查看防火墙规则:
firewallcmd listall
3、查看允许协议:
firewallcmd listprotocals
4、查询端口是否开放:
firewallcmd queryport=80/tcp
5、添加永久开放的端口:
firewallcmd permanent addport=80/tcp firewallcmd permanent addport=998/tcp
6、删除端口:
firewallcmd removeport=999/tcp
三、防火墙IP指向限制配置
1、允许指定IP访问所有流量:
firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"192.168.43.100\" accept"
2、允许指定IP访问指定端口:
firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"8.8.8.8\" port protocol=\"tcp\" port=\"80\" accept" firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"10.168.186.25\" port protocol=\"tcp\" port=\"22\" accept"
3、阻止ICMP包:
firewallcmd permanent addrichrule="rule protocol value=\"icmp\" drop"
4、允许特定地址通过ICMP:
firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"120.12.23.136\" protocol value=\"icmp\" accept"
5、允许指定IP访问指定服务:
firewallcmd permanent addrichrule="rule family=\"ipv4\" source address=\"10.168.186.25\" service name=\"ssh\" accept"
6、移除某个服务:
firewallcmd removerichrule="rule family=\"ipv4\" source address=\"10.168.186.25\" service name=\"ssh\" drop"
四、zone的概念与配置
1、预定义的zone:CentOS 7中firewalld为用户预定义了9个zone,分别为drop、BLock、public、external、dmz、work、home、internal、trusted。
firewallcmd permanent zone=trusted addsource=192.168.5.112
2、将interface和source划分到某个zone:
firewallcmd permanent zone=trusted addinterface=eth0 firewallcmd permanent zone=block addinterface=ens33
五、Service的概念与配置
1、service配置文件:每个service都有相应的配置文件,用于定义该service的规则。
firewallcmd addservice=http permanent
2、service相关的指令:可以添加、删除或修改service。
firewallcmd permanent removeservice=http
六、ipset的概念与应用
ipset是一个强大的工具,用于创建和管理复杂的IP地址列表,可以在firewalld中使用。
firewallcmd permanent addipset=my_ipset type=hash:ip f /etc/firewalld/my_ipset.txt firewallcmd reload
七、direct.xml文件的配置
direct.xml文件用于直接配置firewalld的规则,适用于高级用户。
<rule family="ipv4"> <source address="192.168.1.0/24"/> <protocol value="tcp"/> <port>="80"/> <accept/> </rule>
相关FAQs问答
1、如何更改默认的zone?:可以使用以下命令更改默认的zone。
firewallcmd setdefaultzone=trusted
2、如何查看当前活动的zone?:可以使用以下命令查看当前活动的zone。
firewallcmd getactivezones
通过以上内容,您可以全面了解并掌握CentOS中firewalld的配置方法,从而有效地保障服务器的网络安全。