无法通过动态 DNS (DDNS) 设置端口转发

无法通过动态 DNS (DDNS) 设置端口转发

我正在尝试通过动态 DNS 从我的网络外部连接到我的路由器的功能,但我被困在端口转发上。

我已经通过路由器设置了动态 DNS,网址为X.ddns.net。当我这样做时nslookup X.ddns.net,我看到网址指向地址。这也恰好与我转到 192.168.1.1(路由器登录页面)时相同。我可以从网络内部 ping 通,但不能从外部10.0.X.Xping 通。X.ddns.net

现在我想设置端口转发。路由器需要以下形式的设备 IP 192.168.X.X。但是,10.0.X.X这不是正确的格式,并且它说192.168.1.1这是无效的 IP。

动态 DNS 提供商提供了一个工具来检查端口转发是否已启用。它似乎还认为10.0.X.X应该是用于端口转发的 IP。

如何找到应该用来通过动态 DNS 启用端口转发的设备 IP?


编辑:

到目前为止的反馈非常有帮助。在这次编辑中,我尝试回答提出的问题,并根据我对问题的理解和一些更新来澄清我的语言。

我可以意识到两种可能的情况:

场景 1:我可以让路由器负责更新X.ddns.net。虽然这在本地有效,但指向的 IP 是私有的(即 10.0.XX),因此无法在网络外部访问。我可以在本地进行端口转发,但不能从网络外部进行。

场景 2:我可以更新我的 Ubuntu 系统X.ddns.net。它使用公共 IP(73.174.XX),因此可以从本地和网络外部访问。但是,即使关闭了防火墙和过滤器,我也无法通过此端口进行端口转发。

对于端口转发,我转到路由器设置 192.168.1.1。我为我的设备 IP(NoMachine 为 192.168.XX)启用端口转发,从端口 Y 到端口 Y。这部分适用于设置 1(如上所述),但仅限于本地。端口转发在设置 2 中不起作用。

路由器端口转发配置示例:

Application Name    External Port   Internal port   To IP address   Protocol
NoMachine           29383           4000            192.168.1.93    both

在我的网络内部和网络外部,nslookup 对场景 1(DDNS 指向私有 IP)和场景 2(DDNS 指向公共 IP)给出相同的结果。

我将 Linksys WRT3200ACM 连接到 Xfinity 网关 (Arris TG3482G),并在 Linksys 路由器上工作。这会是个问题吗?我不确定这是否能解答您的 WAN 问题,但我在两种情况下都观察到了以下情况。

$ route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.X.X         192.168.1.1     0.0.0.0         UG    100    0        0 enoX
169.254.X.X     0.0.0.0         255.255.0.0     U     1000   0        0 enoX
172.106.X.X     192.168.1.1     255.255.255.255 UGH   0      0        0 enoX
192.168.X.X     0.0.0.0         255.255.255.0   U     100    0        0 enoX

对于nslookup X.ddns.net场景 1,我观察到以下情况......

# LOCAL NETWORK
Server:     127.0.0.X
Address:    127.0.0.X#X

Non-authoritative answer:
Name:   X.ddns.net
Address: 10.0.X.X

# FROM OUTSIDE OF NETWORK
Server:     172.20.X.X
Address:    172.20.X.X#X

Non-authoritative answer:
Name:   X.ddns.net
Address: 10.0.X.X

对于场景 2,它看起来像这样...

# LOCAL NETWORK
Server:     127.0.X.X
Address:    127.0.X.X#X

Non-authoritative answer:
Name:   X.ddns.net
Address: 73.174.X.X

# FROM OUTSIDE OF NETWORK
Server:     172.20.X.X
Address:    172.20.X.X#X

Non-authoritative answer:
Name:   X.ddns.net
Address: 73.174.X.X

我还需要检查其他什么来缩小问题范围吗?

答案1

据我所知,您的路由器位于某种形式的运营商级 NAT 后面。(好吧,或者可能是它所连接的另一个路由器的 NAT,尽管可能性较小。)换句话说,您的 ISP 不会为您提供仅供您使用的公共 IP。

路由器上的 DDNS 客户端只是将路由器的 WAN 地址通知其服务器,并且它们都不会检查该地址是否来自任何私有 IP 块。

因此,将您的 LAN 主机“暴露”到互联网的唯一希望就是在某些具有自己公网 IP 的 VPS 主机上设置 VPN 服务器,让您的 LAN 主机加入 VPN,并在 VPN 服务器上进行端口转发。

答案2

这里有几个未知数:

  1. 在您的网络上,哪台机器负责X.ddns.net在 ISP 分配的公共 IP 地址发生变化时进行更新?有些路由器直接在路由器本身上支持它。如果您的路由器不支持,那么您网络中的另一台始终在线的机器将负责此任务。
  2. 端口转发是如何处理的?您是否手动设置了关联*:publicPort -> privateIp:privatePort?还是一些软件在处理该问题?听起来您尝试在路由器上手动设置端口转发,但路由器告诉您它无效(如果您继续阅读,我想我知道原因)。
  3. 当您执行 时nslookup,您是在网络内执行的吗?我假设您是在网络内执行的,因为它返回的是地址10.0.0.0/8。如果您在网络外进行查找,那么您应该看到一个公共 IP 地址,而不是私有 IP 地址。
    1. 假设您是nslookup从网络内部完成此操作的,我会假设动态 DNS 更新客户端位于路由器本身上,您的主机正在向路由器查询 DNS 记录,并且路由器已配置为执行水平分割 DNS,告诉本地客户端地址,10.0.0.0/8这样他们就不需要去互联网然后马上返回。
    2. 我通常会假设路由器的动态 DNS 软件也直接处理端口转发,但既然您说过您尝试自己设置它,那我就不这么做了。

以下是比较棘手的部分

动态 DNS 通常用于授予主机访问权限路由器后面https://www.youtube.com/watch?v=xnae2J3DAlY),而不是路由器本身。例如,如果您在10.0.X.X本地网络的主机上运行着 nginx 或 apache 网络服务器,并且在路由器上设置了端口转发,那么互联网上的访问者访问 时就可以看到该服务器的网页X.ddns.net

但是,你不想跳转到路由器后面的主机。你想进入路由器本身理论上,您不需要为此进行端口转发。事实上,您说过,当您10.0.X.X在本地网络上访问该地址时,它看起来与该192.168.1.1地址完全一样,这告诉我这10.0.X.X是子网中路由器的 IP 地址10.0.0.0/8。也就是说,10.0.X.X 不是网络上主机的私有/内部 IP 地址;它是路由器的 IP 地址。您尝试设置的端口转发无效,因为它基本上是说“将流量从路由器转发到路由器”。

在这种情况下,您可能只需访问 即可从外部访问路由器X.ddns.net。您的路由器需要允许端口 80 上的外部流量,此时,您的路由器的登录页面将在X.ddns.net互联网上供您使用(并且其他所有人在互联网上也是如此)。由于路由器上可能没有 SSL/TLS 证书,这意味着当您从网络X.ddns.net外部访问时,您和路由器之间的任何人都可以以明文形式看到您的路由器用户名和密码。您不希望出现这种情况。

那么该怎么办呢?

至少,可以在网络内的主机上设置代理(在后面路由器)可以拥有(自签名)SSL/TLS 证书,用于接受来自外部互联网的连接,然后在您的本地网络上以纯文本形式将流量转发到路由器并返回代理(然后通过路由器返回到互联网上的外部客户端)。在这种情况下,您的路由器登录凭据受到保护,不会被第三方窥探。在这种情况下,此代理主机是分配了 IP10.0.X.X地址的主机(它不应该是路由器的10.0.X.XIP 地址;它应该是不同的)。

但设置这项服务并非易事,而且需要自签名 SSL/TLS 证书,因为您可能没有权限为 制作证书。因此,当您从网络外部X.ddns.net访问 时,您必须手动绕过浏览器中的自签名证书警报。X.ddns.net

如果您的路由器内置了对远程输入的支持,那么在进行上述代理工作之前我肯定会使用它。


再补充一句:

10.0.0.0/8除了听起来已经存在的私有子网之外,引入第二个私有子网,192.168.1.0/24在我看来,这不必要地增加了复杂性。与其引入10.0.0.0/8,不如使用现有192.168.1.0/24子网,并在子网中为代理主机选择不同的 IP 地址。

相关内容