环境:在 ESXI 8 下的 RouteOS 7.11.2 版本 PPPoE 拨号,上网正常,有公网 IP 。upnp 按照网上教程开启,防火墙的 NAT 里有软件生成的条目,但实际上没有打通。
upnp 设置:
enabled: yes
allow-disable-external-interface: yes
show-dummy-rule: yes
/ip/upnp/interfaces> print
Columns: INTERFACE, TYPE
# INTERFACE TYPE
0 pppoe-dx external
1 bridge-lan internal
NAT:
Flags: X - disabled, I - invalid; D - dynamic
0 chain=srcnat action=masquerade log=yes log-prefix=""
防火墙配置:
Flags: X - disabled, I - invalid; D - dynamic
0 D ;;; special dummy rule to show fasttrack counters
chain=forward action=passthrough
1 ;;; accept ping
chain=input action=accept protocol=icmp log=no log-prefix=""
2 ;;; accept established,related,untracked
chain=input action=accept connection-state=established,related,untracked
log=no log-prefix=""
3 ;;; drop invalid
chain=input action=drop connection-state=invalid log=no log-prefix=""
4 ;;; drop all from WAN
chain=input action=drop in-interface-list=WAN log=no log-prefix=""
5 ;;; defconf: fasttrack
chain=forward action=fasttrack-connection hw-offload=yes
connection-state=established,related log=no log-prefix=""
6 ;;; accept established,related, untracked
chain=forward action=accept
connection-state=established,related,untracked log=no log-prefix=""
7 ;;; drop invalid
chain=forward action=drop connection-state=invalid log=no log-prefix=""
8 ;;; drop all from WAN not DSTNATed
chain=forward action=drop connection-state=new
connection-nat-state=!dstnat in-interface-list=WAN log=no log-prefix=""
目前的症状: upnp 的软件可以在 NAT 里自动生成条目,类似:
chain=dstnat action=dst-nat to-addresses=192.168.1.66 to-ports=47984 protocol=tcp dst-address=218.80.xxx.xxx in-interface=pppoe-dx
dst-port=47984
但实际上并没有成功,外网无法访问(端口扫描,telnet 等方法无法连上)
如果手动创建一条 NAT
2 chain=dstnat action=dst-nat to-addresses=192.168.1.12 to-ports=9000 protocol=tcp dst-port=9000 log=no log-prefix=""
则可以成功,外网正常访问
如果手动创建的这条,指定 in-interface=pppoe-dx ,则失败。
尝试了关闭所有防火墙规则,取消 upnp 的 interface 设置,对调 interface 里内外网的接口,重置 ROS ,都无效。
不知道有 ROS 大神知道如何解决么? ROS 新手折腾了好多天了,查了无数网站都无解。
问题解决,在@bjzhou1990 的帮助下,原来是内网没有回源,导致内网直接测试telnet无法连上,实际上是成功的,手机切换到运营商网络后正常。另外群晖的端口映射测试失败,是因为添加了一条规则
/ip firewall nat print
Flags: X - disabled, I - invalid; D - dynamic
0 chain=srcnat action=masquerade log=yes log-prefix=""
但没加上 out-interface=pppoe-dx 导致的。加上后就正常了。
0 chain=srcnat action=masquerade out-interface=pppoe-dx log=yes log-prefix=""
最后谢谢大家。
1
TESTFLIGHT2021 2023-09-26 10:08:48 +08:00 1
routeros 不支持 NAT1 哎
|
2
gearfox 2023-09-26 10:12:22 +08:00 1
@TESTFLIGHT2021 不是说 endpoint-independent-nat 支持 udp 的 nat1 了吗?
|
3
bjzhou1990 2023-09-26 10:22:19 +08:00 1
给手动创建的 NAT 加个 log ,看下走的 interface ?
|
4
zlkent OP @TESTFLIGHT2021 #1 和 NAT1 有关系吗?我查了好多个教程,都一样,看着也很简单,但开了就是没效果。
|
5
zlkent OP @bjzhou1990 #3 dstnat: in:bridge-lan out:(unknown 0), connection-state:new ....(后面就是 ip 什么的敏感就删了)
|
6
KenGe 2023-09-26 11:00:10 +08:00 1
为啥不直接用 nat1 ?
|
7
bjzhou1990 2023-09-26 11:09:45 +08:00 1
@zlkent #5 设置应该没问题,不要在内网访问,自动创建的 upnp 规则只允许了通过外网访问(in-interface=pppoe-dx),你在内网是访问不通的,你自己创建的规则没做限制所以内网可以访问
|
8
zlkent OP @KenGe #6 刚接触 Ros ,以前一直 ikuai ,还不熟悉,我去看看
@bjzhou1990 #7 尴尬了,还真是,手机换 5G 就正常访问...内网一直不通就没往那方面想。而且群晖里路由器配置的端口映射测试都是失败,就一直觉得是 ROS 问题... |
9
TESTFLIGHT2021 2023-09-26 12:16:23 +08:00 1
@zlkent 内网访问需要回源
|
10
ppbaozi 2023-09-26 17:08:57 +08:00 1
|
11
zlkent OP |