📅  最后修改于: 2023-12-03 15:19:42.669000             🧑  作者: Mango
如果你正在使用 Raspberry Pi 并且需要访问开放的端口来允许外部连接到你的设备,那么你需要开放这个端口。在这个教程中,我们将介绍如何使用 Shell/Bash 命令来实现这个目标。
在你开始之前,你需要测试你想要开放的端口是否已经开放。你可以使用 netstat
命令来测试端口是否已经被占用。使用以下 Shell 命令:
sudo netstat -tuln | grep <端口号>
将 <端口号>
替换为你希望测试的端口号。如果你看到类似下面的输出,那么端口已经被占用了。
tcp 0 0 0.0.0.0:<端口号> 0.0.0.0:* LISTEN
如果你看到 CLOSE_WAIT
状态,那么端口没有被占用:
tcp4 0 0 127.0.0.1:<端口号> *:* CLOSE_WAIT
开放端口需要通过防火墙规则来进行。Raspberry Pi 上有一个名为 iptables
的防火墙,你可以使用它来配置你的防火墙规则。
如果你的 Raspberry Pi 上没有安装 iptables
,你需要先安装它。使用以下命令进行安装:
sudo apt-get update && sudo apt-get install -y iptables
你需要使用以下 Shell 命令来开放端口:
sudo iptables -A INPUT -p tcp --dport <端口号> -j ACCEPT
将 <端口号>
替换为你希望开放的端口号。这个命令将在防火墙中添加一个规则来允许外部连接到你的端口。
开放端口的规则是临时的,如果你重新启动你的 Raspberry Pi,你需要重新添加规则。你可以使用以下 Shell 命令将规则保存到文件中。
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
这个命令将防火墙中的规则保存到 /etc/iptables.ipv4.nat
文件中。
要在 Raspberry Pi 启动时自动加载这个规则,你需要编辑 /etc/rc.local
文件,在 exit 0
行之前添加以下行:
/sbin/iptables-restore < /etc/iptables.ipv4.nat
这个命令将加载 /etc/iptables.ipv4.nat
中保存的规则。
在本教程中,我们介绍了如何使用 Shell/Bash 命令来开放 Raspberry Pi 上的端口。记得测试你想要开放的端口是否已经被占用,并在添加规则后保存规则并将其自动加载到 Raspberry Pi 启动时。