网络端口开放说明¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
已开放的端口¶
在开发与远程维护场景下,默认已开放的TCP端口如下:
端口 |
传输层协议 |
说明 |
|---|---|---|
22 |
TCP |
SSH:远程安全登录、维护、调试及SCP/ SFTP等文件传输 |
3389 |
TCP |
RDP:Windows远程桌面;板端常见为 xrdp 等服务 |
5900 |
TCP |
VNC:图形化远程桌面访问 |
💡 上述端口放行策略仅适用于实验室研发、功能调试与局域网维护场景。若设备接入公网或用于量产环境,请务必按业务最小权限原则关闭3389与5900等高危图形端口,或仅允许白名单IP访问。
查看当前防火墙规则¶
在智能主控板上执行以下命令:
sudo iptables-save
可查看完整规则(含链策略与各条INPUT规则)。若只需查看列表形式,可执行:
sudo 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 -i lo -j ACCEPT 之后、COMMIT 之前,增加一行(将 <端口号> 替换为实际端口,如53、123):
-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 只影响下次开机时是否自动启动服务,不会直接清空当前内核中的规则。当前生效的规则请用 sudo iptables -L -n 查看。
修改规则文件后重新加载¶
修改规则文件后,可执行:
sudo systemctl daemon-reload
sudo systemctl restart iptables-restore.service
sudo systemctl status iptables-restore.service
然后用 sudo iptables -L -n 或 sudo iptables-save 确认当前规则与文件一致。
若服务异常,可根据 systemctl status 的输出与日志排查,并确认 /etc/iptables/rules.v4 语法正确(每条 -A 规则独占一行,*filter 与 COMMIT 成对出现)。
注意事项¶
远程维护常用放行端口:22(SSH)、3389(RDP)、5900(VNC),以设备上 sudo iptables-save 实际输出为准。
如需永久生效,编辑 /etc/iptables/rules.v4(以及需要的 rules.v6),按模板增删 --dport 行。
修改后执行 systemctl restart iptables-restore.service,并用 sudo iptables -L -n 验证。
systemctl stop iptables-restore.service 仅为临时手段,重启后仍会按规则文件加载。如需长期生效,应修改规则文件并 restart 服务。