📅  最后修改于: 2023-12-03 15:05:41.622000             🧑  作者: Mango
在 Ubuntu 上开放端口常常是网络管理员或开发者必须处理的任务之一。开放端口可以在互联网上公开地发布某些服务,例如 Web 服务器、SSH 服务器等等。
本篇介绍如何在 Ubuntu 上通过 Shell/Bash 命令行开放端口。我们将首先学习如何使用 ufw
工具来开放端口,然后介绍如何在 iptables
中添加规则。最后,我们将通过一个具体的实例来演示如何应用这些命令。
Ubuntu 默认集成了 ufw
工具,这是一个简单易用的工具,可以用来管理防火墙规则。对于新手来说,推荐使用 ufw
。
在开始之前,我们需要检查一下当前的防火墙状态。可以使用以下命令来检查:
sudo ufw status
如果防火墙状态是“inactive”,则需要先启用它。可以使用以下命令来启用:
sudo ufw enable
开放端口时,需要指定协议(TCP 或 UDP),以及端口号。例如,可以通过以下命令开放 80 端口的 TCP 协议:
sudo ufw allow 80/tcp
如果要开放其他端口号,只需更改 80 为相应的值即可。此外,还可以允许特定 IP 地址访问端口,例如:
sudo ufw allow from 192.168.1.100 to any port 22/tcp
此命令将允许来自 IP 地址为 192.168.1.100
的主机访问 22 端口。如果要允许其他主机访问,只需更改 IP 地址即可。
如果需要关闭某个端口,可以使用以下命令:
sudo ufw delete allow 80/tcp
iptables
是 Linux 中的默认防火墙工具。它虽然比 ufw
更复杂,但在某些情况下可能需要使用它。
开放一个端口(TCP 或 UDP)可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
关闭某个端口也很简单。例如,要关闭 80 端口的 TCP 协议,可以使用以下命令:
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
让我们通过一个具体的示例来演示如何开放一个端口。假设我们需要开放一个 TCP 端口 5000,以用于运行我们的应用程序。我们将使用 ufw
工具来完成该操作。
首先,我们需要检查一下当前的防火墙状态:
sudo ufw status
如果状态是“inactive”,则需要启用它:
sudo ufw enable
然后,我们可以通过以下命令来开放 5000 端口:
sudo ufw allow 5000/tcp
此时,我们已经成功开放了该端口。如果我们希望修改或删除该规则,可以使用以下命令:
sudo ufw delete allow 5000/tcp
学习如何在 Ubuntu 上使用 Shell/Bash 命令行开放端口对于任何网络管理员或开发者而言都是一个必备的技能。本篇介绍了如何使用 Ubuntu 默认的 ufw
工具以及 Linux 的默认防火墙工具 iptables
,并提供了示例帮助读者深入理解如何应用这些命令。