请教一个 ROS 系统端口映射的问题

2021-06-09 23:18:57 +08:00
 apiman

ROS 是家里的主路由,交换机下装了群晖,按照网上的教程,配置好了阿里云的 ddns,以及 ROS 的端口映射。

目前遇到的问题,在局域网内部,使用域名+端口,以及外网 IP+端口,都可以正常访问到群晖;但是在外网环境下,使用域名或者 IP 访问群晖,均显示失败,error connection refused 。

请问大佬们,有遇到过这种情况的吗?大概会是什么问题?

配置 ddns 和端口映射,参考的都是张大妈家 BIgZeBra 的教程。

4481 次点击
所在节点    NAS
21 条回复
eluotao
2021-06-09 23:23:25 +08:00
先看看有没有外网 ip
apiman
2021-06-10 00:01:26 +08:00
@eluotao 你好,有的,公网 IP 。在阿里云域名解析的地方,也能正常获取到这个公网 IP 。
xunandotme
2021-06-10 00:13:04 +08:00
没具体用过 ros,第四篇介绍回流你好好看看。
z5238384
2021-06-10 00:27:20 +08:00
确认你是公网 ip 的话,先把端口回流的设置 先禁用下,看看外网是不是能访问呗,贴不了图,我是威联通 ,ROS6.47 都很正常
apiman
2021-06-10 00:28:14 +08:00
@xunandotme 谢谢。我就是比着大神的步骤 copy 过来的,奈何还是不行。
apiman
2021-06-10 00:45:13 +08:00
@z5238384 谢谢。把端口回流的设置禁用了,问题依旧。外网无法访问,仅能在局域网环境使用域名端口或者公网 IP 端口访问群晖,实在是挠头
trepwq
2021-06-10 01:12:37 +08:00
群晖默认 80 端口跳转 5000 端口
apiman
2021-06-10 01:14:29 +08:00
@trepwq 没太明白。我转发的端口,外网和内网都用的 5000
Rigel9921
2021-06-10 01:18:57 +08:00
看见 ROS 还以为是 Robot Operating System,最近搞机器人都搞魔怔了🌚
machachong
2021-06-10 01:38:41 +08:00
IP-Firewall-NAT-新增
General
chian:dstnat
protocol:6(tcp)
dst.port:外网访问的端口
In.interface:选择拨号的网卡
-----
Action
action:dst-nat
to addsress:要映射的内网地址
to port:要映射的内网端口

把这 2 个设定好了 就行了
zro
2021-06-10 01:39:28 +08:00
感觉问题还是出现在 ROS 的防火墙没开对。。配置贴上来看看~~
ZRS
2021-06-10 02:39:02 +08:00
/ip firewall nat add chain=dstnat dst-address-type=local protocol=tcp dst-port=外网端口 action=dst-nat to-address=内网 IP to-port=内网端口
/ip firewall nat add chain=srcnat src-address=192.168.1.0/24 (按实际调整) dst-address=内网 IP protocol=tcp dst-port=内网端口 out-interface=bridge action=masquerade

按这个命令配就行,带回流的端口映射。UDP 同理
wly1975
2021-06-10 09:07:15 +08:00
我的做的 DMZ,设置和 10 楼的基本一样 ,In.interface:pppoe-out1,运行没有问题。
eluotao
2021-06-10 09:41:04 +08:00
# 1.确定是否外网 IP 获取正确
看下 ros 里 IP 设置->地址 有一个外网地址 是否获取正确.

# 2.设置端口映射
第二步 进入防火墙->NAT 设置端口映射

NAT 设置:
链路: dstnat
目标地址: 随便填 (通过脚本自动修改)
协议: 6tcp
dst 端口: 映射的外网端口


作用: dst-nat
To Addresses: 局域网映射的主机 IP 地址
To Ports: 局域网映射的端口号

设置备注名 很关键 用来寻找映射端口选项用

点击应用 or 确定

# 3.设置脚本自定获取 ip 修改端口映射 ip

进入系统管理->

/ip firewall nat set [/ip firewall nat find comment=("设置的备注名")] dst-address=映射的 IP 变量

# 4. 设置调度程序 自动运行 间隔时间
事件: 脚本名称
点击确定 执行.
z5238384
2021-06-10 09:50:59 +08:00
ros 系统实在有些迷,之前有用几天断网的问题,无论怎么设置都没用,结果等到后面系统更新了就好了,从此再没更新过系统了。建议你实在头晕 先找个普通路由器,设置下端口转发,看看外网是不是能访问,确定下是路由器还是 nas 端的问题
desstiony
2021-06-10 09:55:50 +08:00
@Rigel9921 同,但是 v2 上好像没相应节点
CRH
2021-06-10 10:02:50 +08:00
有没有可能端口被运营商封了? 80,8080 之类的
tankren
2021-06-10 10:49:31 +08:00
防火墙没有放行?
apiman
2021-06-10 13:46:16 +08:00
@zro 谢谢,把防火墙里的规则逐一禁用一遍,disable 了一条设置京东云无线宝 nat1 的规则,然后群晖就能在外网正常访问了。
apiman
2021-06-10 13:47:42 +08:00
@eluotao 谢谢,问题已经解决。操作跟您这个步骤一样。问题的关键是防火墙了多了一条以前设置的规则,禁用了就好了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/782515

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX