网络端口开放说明¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
已开放的端口¶
当前开发与远程维护场景下,我们已开放的 TCP 端口如下:
端口 |
协议(典型) |
说明 |
|---|---|---|
22 |
TCP |
SSH:远程安全登录、维护、调试及SCP/SFTP等文件传输。 |
3389 |
TCP |
RDP:Windows远程桌面;板端常见为xrdp等服务。 |
5900 |
TCP |
VNC:图形化远程桌面访问。 |
查看当前防火墙规则¶
在开发板上执行:
iptables-save
可看到完整规则(含链策略与各条 INPUT 规则)。仅查看列表形式时可用:
iptables -L -n -v
正常情况下,INPUT 链的默认策略(policy)应为 DROP,并包含对 22、3389、5900 等端口的 ACCEPT 规则(具体以您设备上实际输出为准)。
示例(节选,仅供参考):
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT
COMMIT
增添端口方法¶
开机加载的规则通常保存在:
IPv4:/etc/iptables/rules.v4
IPv6:/etc/iptables/rules.v6
使用 root 编辑,例如:
sudo vi /etc/iptables/rules.v4
sudo vi /etc/iptables/rules.v6
IPv4 中 *filter 段结构与上文示例类似:先放行已建立连接与本机回环,再按端口追加 ACCEPT。
添加放行端口的写法(TCP)¶
在 -A INPUT -i lo -j ACCEPT 之后、COMMIT 之前,增加一行(将 端口号 换成实际端口,如 80、443):
-A INPUT -p tcp -m tcp --dport 端口号 -j ACCEPT
也可写成(与部分系统导出格式一致):
-A INPUT -p tcp --dport 端口号 -j ACCEPT
添加放行端口的写法(UDP)¶
-A INPUT -p udp -m udp --dport 端口号 -j ACCEPT
删除某条端口放行¶
在规则文件中删除对应 -A INPUT … --dport端口号… 整行即可。保存后需重新加载服务(见下一节),规则才会长期生效。
注意:请勿删除 RELATED,ESTABLISHED 与 lo(回环) 相关规则,否则可能影响正常回包与本机服务。
iptables-restore服务¶
开发板默认启用 iptables-restore.service,用于开机从 **rules.v4/**rules.v6 恢复规则。
临时停止服务¶
只想临时停用(例如排查网络问题)时执行:
sudo systemctl stop iptables-restore.service
这是临时操作。若服务仍为 enabled,设备重启后会再次启动,并继续从 **rules.v4/**rules.v6 恢复规则。
禁用开机自启(重启后不自动加载规则)¶
若希望重启后也不自动加载规则,执行:
sudo systemctl disable iptables-restore.service
执行 disable 后,重启时该服务不会自动启动,也不会自动套用 **rules.v4/**rules.v6。
需要恢复开机自动加载时:
sudo systemctl enable iptables-restore.service
sudo systemctl start iptables-restore.service
快速检查状态¶
systemctl is-enabled iptables-restore.service # 看是否开机自启
systemctl is-active iptables-restore.service # 看当前是否活跃
注意:disable 只影响“下次开机是否自动启动”;不会直接清空当前内核里的规则。当前规则请用 iptables -L -n 实测。
修改规则文件后重新加载¶
修改规则文件后,可执行:
sudo systemctl daemon-reload
sudo systemctl restart iptables-restore.service
sudo systemctl status iptables-restore.service
再用 iptables -L -n 或 iptables-save 确认是否与文件一致。
若服务异常,可根据 systemctl status 与日志排查;确认 /etc/iptables/rules.v4 语法正确(尤其是每条 -A 独立一行、***filter…**COMMIT 成对出现)。
注意¶
远程维护常用放行端口:22(SSH)、3389(RDP)、5900(VNC),以设备上 iptables-save 实际输出为准。
持久化编辑 /etc/iptables/rules.v4(及需要的 rules.v6),按模板增删 –dport 行。
修改后执行 systemctl restart iptables-restore.service,并用 iptables -L -n 验证。
systemctl stop iptables-restore.service 仅为临时手段;重启后仍会按规则文件加载。长期策略以改文件并 restart 服务为准。