如果 IPv6 上没有 NAT,并且只有一个 DNS 名称,我如何与我的服务器通信?

如果 IPv6 上没有 NAT,并且只有一个 DNS 名称,我如何与我的服务器通信?

目前我们拥有一个域名(例如superfault.com)。

我可以通过互联网使用该单个 DNS 名称连接到各种联网设备:

                         superfault.com
                         ╔════════════╗              ╔══════════════╗
                         ║device with ║  ┌─────────80╢Web Server 1  ║
                         ║ public IP  ║  │┌────────81╢192.168.1.10  ║
        superfault.com:80╫────────────╫──┘│┌─────3389╢              ║
        superfault.com:81╫────────────╫───┘│         ╚══════════════╝
      superfault.com:3389╫────────────╫────┘         ╔══════════════╗
        superfault.com:25╫────────────╫────────────25╢E-mail server ║ 
       superfault.com:110╫────────────╫───────────110╢192.168.1.11  ║ 
      superfault.com:3390╫────────────╫──────────3389╢              ║ 
       superfault.com:443╫────────────╫────┐         ╚══════════════╝
      superfault.com:3391╫────────────╫───┐│         ╔══════════════╗      
      superfault.com:3392╫────────────╫──┐│└──────443╢Web Server 2  ║ 
      superfault.com:3393╫────────────╫─┐│└──────3389╢192.168.1.12  ║ 
                         ╚════════════╝ ││           ╚══════════════╝
                                        ││           ╔══════════════╗   
                                        │└───────3389╢Desktop PC 1  ║ 
                                        │            ║192.168.2.100 ║
                                        │            ╚══════════════╝
                                        │            ╔══════════════╗   
                                        └────────3389╢Desktop PC 2  ║ 
                                                     ║192.168.2.101 ║
                                                     ╚══════════════╝

现在,使用 IPv6,我可以为所有这些设备提供一个可公开路由的 IPv6 地址:

      superfault.com
      ╔════════════╗              ╔══════════════╗
      ║Gatway      ║              ╢Web Server 1  ║
      ║Firewall    ║              ╢2001::10      ║
      ║2001::1     ║              ╢              ║
      ║            ║              ╚══════════════╝
      ║            ║              ╔══════════════╗
      ║            ║              ╢E-mail server ║ 
      ║            ║              ╢2001::11      ║ 
      ╚════════════╝              ╢              ║ 
                                  ╚══════════════╝
                                  ╔══════════════╗      
                                  ╢Web Server 2  ║ 
                                  ╢2001::12      ║ 
                                  ╚══════════════╝
                                  ╔══════════════╗   
                                  ╢Desktop PC 1  ║ 
                                  ║2001::2:100   ║
                                  ╚══════════════╝
                                  ╔══════════════╗   
                                  ╢Desktop PC 2  ║ 
                                  ║2001::2:101   ║
                                  ╚══════════════╝

但我只拥有域名,只能解析至IPv6 地址:

  • superfault.com2001::1

那么如何找到我所有其他设备的 IP 地址?简单的方法是使用我的防火墙设备作为代理人- 这是 NAT 提供的功能。不受欢迎且昂贵的方法是为我拥有的每个 IPv6 地址找到一个免费域名。

IPv6 中的 NAT 对应项是什么?


更新

另一个问题是 IPv6 不允许

http://superuser.com

你必须使用:

http://www.superuser.com

因此,如果用户忘记了www,那么您的网站就会出现故障。

与 IPv6 不允许的方式相同:

ftp://superuser.com

因为你必须使用:

ftp://ftp.superuser.com

并且它不允许

> ventrillo superuser.com

你必须明确告诉用户:

> ventrillo ventrillo.superuser.com

答案1

这就是域名用于。

例如,如果你拥有superfault.com,你可以自由地创造桌面.superfault.commail.superfault.comian.superfault.com...(如果你没有——买一个,他们相当便宜。或者访问za.net或者欧盟网站即可获得免费域名。

另外,你不是需要 NAT 才能转发端口。尝试ip6tables使用-j TPROXY

答案2

是什么让你认为你只拥有该域名,而不拥有其子域名?按照域名系统惯例, 的所有者example.net.因此成为 的所有者

  • workstations.example.net.
  • mike.workstations.example.net.
  • betty.workstations.example.net.
  • second.servers.example.net.
  • third.servers.example.net., 乃至
  • ian.boyd.personal-laptops.example.net.

如果你无法控制子域名,那么你就无法真的首先,拥有域名。如果你确实拥有域名,那么这里的答案是世界其他地方广泛使用的简单而直接的答案。☺

相关内容