欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Linux一些防火墙实战知识

最编程 2024-08-11 14:45:22
...

Linux作为一种流行的操作系统,其安全性一直是备受关注的话题。在实践中,设置防火墙和开放端口是保护Linux服务器安全的关键步骤。本文将介绍如何通过实战操作在Linux中设置防火墙和开放端口。

设置防火墙

在Linux中,常用的防火墙软件包括iptables和firewalld。在本文中,我们将使用firewalld。

首先,检查firewalld服务是否在运行中。运行以下命令:

systemctl status firewalld

如果没有,则输入以下命令启动它:

systemctl start firewalld

添加服务

接下来,我们需要定义允许的服务端口。可以检查firewalld默认配置设置,然后为需要开放的端口添加服务。

你可以使用以下命令查看当前已定义的服务:

firewall-cmd --list-services

要添加一个服务,请使用以下命令:

firewall-cmd --add-service=服务名 --permanent

【注意】:在每个服务名之后,必须使用' --permanent'选项将该服务配置写入永久规则集。

例如,要为SSH服务添加端口22,请使用以下命令:

firewall-cmd --add-service=ssh --permanent

添加规则后,重新加载firewalld配置以使更改生效:

firewall-cmd --reload

现在,你的防火墙已设置并保护了Linux服务器。

开放端口

在某些情况下,我们需要在Linux服务器上打开特定的端口。例如,如果你需要在Linux服务器上运行Web服务器,则必须在服务器的防火墙保护下打开HTTP端口80和HTTPS端口443。

要打开一个端口,可以输入以下命令:

firewall-cmd --zone=public--add-port=端口号/tcp --permanent

例如,要打开端口80并以永久规则添加到防火墙,请运行以下命令:

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

同样,在完成开放端口配置后,你需要重新加载firewalld配置以使更改生效:

firewall-cmd --reload

【提示】:在示例中,我们将防火墙规则添加到'public'区域。你还可以将规则添加到其他区域,例如'internal'、'external'或'work'.

如果你需要检查已打开的端口,请运行以下命令:

firewall-cmd --zone=public--list-ports

针对某个IP

此时需要采用到富规则,如下:

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

添加之后需要重启生效:

firewall-cmd  --reload

针对某个IP的某个端口

此时需要采用到富规则,如下:

firewall-cmd --permanent --add-rich-rule="rulefamily="ipv4" source
address="XX.XX.XX.XX" portprotocol="tcp" port="6379" accept"

添加之后需要重启生效:

firewall-cmd  --reload

针对一个ip段访问

此时需要采用到富规则,如下:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source
address="XX.XX.XX.XX/16" accept"

添加之后需要重启生效:

firewall-cmd  --reload

针对一个ip段的某个端口

此时需要采用到富规则,如下:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source
address="xx.xx.xx.xx/24" port protocol="tcp" port="9200" accept"

添加之后需要重启生效:

firewall-cmd  --reload

查看防火墙现有配置

firewall-cmd --list-all

获取所有支持的服务:

firewall-cmd --get-services