两个不同的公共 IP 地址导致动态 DNS 和端口转发无法正常工作?

两个不同的公共 IP 地址导致动态 DNS 和端口转发无法正常工作?

我使用动态 DNS 将我的域名指向我的家庭 IP 地址,然后在 ISP 调制解调器中将端口 80 和 443 转发到我的家庭 Web 服务器。但是,我显然在处理两个不同的公共 IP 地址,并且该过程不起作用(我无法从互联网访问我的家庭服务器)。

ISP 调制解调器的状态页面告知公共 IP 地址为100.64.xxx.xxx,但我的动态 DNS 提供商的仪表板(以及其他 URL,如myip.dnsomatic.comicanhazip.com)将其检测为170.79.xxx.xxx

当我从 Linux 机器 ping 我的域时,我得到以下结果:

PING mydomain.com (100.64.xxx.xxx) 56(84) bytes of data.
64 bytes from xxx-xxx-79-170.myisp.net.br (100.64.xxx.xxx): icmp_seq=1 ttl=64 time=1.05 ms

请注意,生成的 ISP URL ( xxx-xxx-79-170.myisp.net.br) 包含检测到的公共 IP 地址 ( 170.79.xxx.xxx),只是进行了反转。

我可以使用某种类型的 DNS 记录来更正此问题吗?或者这根本与 DNS 无关?您现在可能已经猜到了,我并不是这方面的专家。

答案1

听起来您的 ISP 正在使用 CGN(运营商级 NAT)。一些 ISP 使用私有寻址来实现这一点(RFC 1918,私有互联网的地址分配),有些使用共享地址空间(100.64.0.0/10RFC 6598,IANA 为共享地址空间保留的 IPv4 前缀) 留作此用,这是您的 ISP 正在使用的。

这意味着端口转发必须在 ISP NAT 上进行,而您无法控制它。ISP 并不关心您不能将端口转发到您的家庭服务器,因为您的住宅 ISP 协议中有一条条款禁止您在公共互联网上运行服务器。您对此无能为力,但您可以尝试向您的 ISP 询问。

答案2

这肯定是运营商级 NAT 问题 - 因为调制解调器 IP 地址在 CGN 范围内。您有两个实用选项 - 更改为不使用 CGN 的提供商/计划,或从您的家庭系统设置 VPN 到将为您提供静态 IP 的提供商。

答案3

更新:

正如所解释的那样这里这里问题确实出在 ISP 使用的运营商级 NAT(又称大规模 NAT)上。我们打电话给他们,告诉他们需要从外部访问家庭服务器,他们就更改了设置,现在调制解调器有一个公共 IP 地址。谢天谢地(我担心我必须花钱购买专用 IP 地址或求助于 VPN/SSH 隧道)!

感谢所有的答案。

相关内容