📜  raspberrypi 开放端口 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:19:42.669000             🧑  作者: Mango

Raspberry Pi 开放端口 - Shell/Bash

如果你正在使用 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 的防火墙,你可以使用它来配置你的防火墙规则。

安装 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 启动时。