HCRM博客

如何在CentOS系统中启动防火墙?

在CentOS系统中启动防火墙是确保系统安全的重要步骤,特别是在面对日益复杂的网络安全威胁时,CentOS 7默认使用firewalld作为防火墙管理工具,提供了灵活的策略配置和易于管理的界面,本文将详细介绍如何在CentOS上启动防火墙,包括开启、关闭、配置防火墙以及常见问题的解答。

CentOS防火墙

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

CentOS 7及更高版本默认使用firewalld作为防火墙管理工具,它相比传统的iptables具有更简洁的配置和更方便的管理特性,firewalld支持动态更新,可以在不重启服务的情况下修改规则,并且引入了区域(zone)和服务(service)的概念,使得规则管理更加直观和灵活。

启动与关闭防火墙

启动防火墙

要启动firewalld服务,可以使用以下命令:

sudo systemctl start firewalld

这条命令会立即启动firewalld服务,但不会使其在系统重启后自动启动。

关闭防火墙

如果需要关闭firewalld服务,可以使用以下命令:

sudo systemctl stop firewalld

这条命令会停止firewalld服务,但同样不会改变其在系统重启后的状态。

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

设置开机自启动

为了确保firewalld在系统重启后自动启动,可以使用以下命令:

sudo systemctl enable firewalld

相反,如果希望在系统重启后不自动启动firewalld,可以使用:

sudo systemctl disable firewalld

检查防火墙状态

要检查firewalld的当前状态,可以使用:

sudo systemctl status firewalld

这条命令会显示firewalld服务的运行状态,包括是否正在运行、是否有错误等。

配置防火墙规则

firewalld使用firewallcmd命令行工具来配置和管理防火墙规则,以下是一些常用的配置命令:

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

添加开放端口

要添加开放的端口(例如SSH端口22),可以使用:

sudo firewallcmd addport=22/tcp permanent
sudo firewallcmd reload

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

删除开放端口

要删除已开放的端口,可以使用:

sudo firewallcmd removeport=22/tcp permanent
sudo firewallcmd reload

查看开放的端口

要查看当前开放的端口,可以使用:

sudo firewallcmd listports

查看防火墙规则

要查看完整的防火墙规则列表,可以使用:

sudo firewallcmd listall

高级配置

除了基本的启动、关闭和规则配置外,firewalld还支持许多高级功能,如端口转发、伪装IP地址、设置特定IP访问特定服务等,以下是一些高级配置示例:

端口转发

要将80端口的流量转发至8080端口,可以使用:

sudo firewallcmd addforwardport=port=80:proto=tcp:toport=8080 permanent
sudo firewallcmd reload

允许伪装IP

要允许防火墙进行IP伪装(通常用于NAT),可以使用:

sudo firewallcmd addmasquerade permanent
sudo firewallcmd reload

设置特定IP访问特定服务

要设置特定IP(例如192.168.0.4/24)访问HTTP服务,可以使用:

sudo firewallcmd permanent zone=public addrichrule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'
sudo firewallcmd reload

FAQs

Q1: firewalld和iptables有什么区别?我应该使用哪一个?

A1: firewalld和iptables都是Linux下的防火墙管理工具,但它们有一些关键的区别,firewalld是一个完整的防火墙解决方案,提供了动态更新和区域、服务的概念,使得配置和管理更加方便,而iptables是一个底层的数据包过滤工具,需要手动编写和维护规则,对于大多数用户来说,firewalld提供了更好的用户体验和更高的灵活性,因此推荐使用firewalld,如果你对iptables非常熟悉或者有特定的需求,也可以继续使用iptables,需要注意的是,firewalld和iptables不能同时运行,需要选择一个并禁用另一个。

Q2: 如何更改firewalld的默认区域?

A2: firewalld使用区域(zone)来管理不同信任级别的网络接口,默认情况下,公共区域(public zone)被设置为默认区域,要更改默认区域,可以使用以下命令:

sudo firewallcmd setdefaultzone=<新区域>

要将默认区域设置为内部网络(internal zone),可以使用:

sudo firewallcmd setdefaultzone=internal

更改默认区域可能会影响现有的防火墙规则和连接,因此在生产环境中进行此类更改前应谨慎评估。

通过上述步骤和配置,您可以在CentOS上有效地管理和配置防火墙,以保护您的系统免受未经授权的访问和攻击,正确配置和使用防火墙是维护系统安全性的关键步骤之一。

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