端口转发到家庭网络上的 Arduino 设备

端口转发到家庭网络上的 Arduino 设备

我有一台运行 Kubuntu 14.04 的家庭服务器。它向外界提供网页,并为我家局域网上的所有设备提供互联网访问。我有一台 Arduino 设备,带有一个用于报告温度的 Web 服务器应用程序。我希望使用我的 Android 手机连接到 Arduino 网页。

我使用 UFW 配置我的防火墙,并希望将使用端口 225 的请求转发到我的家庭服务器的 Arduino 网页,并配置为监听端口 225。

我可以从家里的局域网的任何地方访问 Arduino,但不能从外面访问。我研究过并尝试了很多方法,但都没有成功。“检查您的端口”等网站报告说端口 225 已关闭。

任何帮助是极大的赞赏!

答案1

尝试这个

首先检查cat /proc/sys/net/ipv4/ip_forward是否响应01。如果是0运行命令

 sudo echo 1 >/proc/sys/net/ipv4/ip_forward

这将启用 IP 转发

/etc/ufw/before.rules然后在(文件顶部)的过滤器部分之前编辑并添加:

 sudo nano etc/ufw/before.rules


*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 225 -j DNAT --to-destination ip_address_of_Arduino
COMMIT

然后重新启动ufw

问题在于规则的位置。

您的*nat表格位于文件开头,无法在文件末尾再次显示。将您的规则从line 82下方移出PREROUTING

应该看起来像这样

*nat
:PREROUTING ACCEPT [0:0]
# Port fw
-A PREROUTING -i eth0 -p tcp --dport 225 -j DNAT --to-destination      ip_address_of_Arduino

:POSTROUTING ACCEPT [0:0] 
# Forward traffic from eth1 through eth0. 
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE 

# don't delete the 'COMMIT' line or these rules won't be processed 
COMMIT

此后开始表*filter和其余ufw配置。

相关内容