AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 596616
Accepted
rubo77
rubo77
Asked: 2014-05-17 12:42:33 +0800 CST2014-05-17 12:42:33 +0800 CST 2014-05-17 12:42:33 +0800 CST

如何从纯 IPv6 网络访问 IPv4 地址?

  • 772

我想通过 IPv6 地址访问此地址:http:
//downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/

在我们的 Freifunk 路由器中,没有可用的 DNS,因此downloads.openwrt.org无法解析名称。互联网上的所有服务器只能通过 ipv6 地址访问。现在我们无法从路由器内部访问这个包镜像,通过opkg install.

这将是一个解决方案,如果我们可以将其添加到我们的配置中,例如:

http://[2001:db8::1]/attitude_adjustment/12.09/ar71xx/generic/packages/

我们的路由器正在运行 OpenWRT 并且仅支持 IPv6,我想添加一个条目/etc/hosts,以便域名downloads.openwrt.org解析为适当的 IPv6 地址

是否可以将 IPv6 重定向到域?

redirect
  • 3 3 个回答
  • 40646 Views

3 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2014-05-17T14:38:16+08:002014-05-17T14:38:16+08:00

    您不能简单地“添加”一个 IPv6 地址来访问只能通过 IPv4 访问的主机。这是两个完全不同且不兼容的协议。

    为了让您的纯IPv6网络能够访问 IPv4 地址,需要一个可以访问 IPv4 的网关。这通常使用 NAT64/DNS64 网关完成,它将 IPv4 地址转换为“假” IPv6 地址,并接受与这些“假” IPv6 地址的连接并将连接转换为 IPv4 网络。这些 IPv6 地址将在该64:ff9b::/96范围内。

    在 OpenWrt 中,NAT64 使用 Tayga 完成,DNS64 使用 bind。OpenWrt wiki中提供了有关如何设置它们的更多信息。你需要调整态度或打破障碍;以前的 OpenWrt 版本没有对 IPv6 和其他技术提供足够完整的支持。

    您可以将公共 DNS64/NAT64 解析器添加到您的 /etc/resolv.conf:

    nameserver 2001:67c:2b0::4
    nameserver 2001:67c:2b0::6
    

    您还可以使用464xlat在客户端“还原”翻译。464xlat 使用相同的工具。(上面提到过,但只是以不同的方式)。使用 464xlat,您还可以使用文字 IP 访问 url。

    • 18
  2. kasperd
    2014-05-17T13:13:38+08:002014-05-17T13:13:38+08:00

    该域downloads.openwrt.org有一个 IPv4 地址,但没有 IPv6 地址。因此,除非您使用转换机制,否则您无法通过 IPv6 访问它。您可以使用 NAT64 来创建从仅 IPv6 客户端到该仅 IPv4 服务器的 TCP 连接。

    但是为什么要使用仅 IPv6 的客户端呢?采用双栈是一个好主意,但目前仅 IPv6 仅用于测试那些知道在拥有太多仅 IPv4 主机的世界中引入的限制的人。

    如果您设法打开到服务器的 TCP 连接,您将面临另一个挑战。HTTP 1.1 版要求客户端通过 HTTP 连接发送它正在联系的服务器的名称。许多网站,包括downloads.openwrt.org要求发送此标头。

    如果 HTTP 客户端知道要发送的域名,则它只能发送该标头。因此,您最好让客户端知道原始 URL 并以某种方式授予其访问权限以将该名称解析为 IP 地址。如果它必须是 IPv6,那仍然意味着您需要 NAT64。但是可以输入从域名到 NAT64 IP 地址的映射/etc/hosts,并且应该可以正常工作。

    这可能适用于单个域名。但是,如果您希望仅 IPv6 的主机能够访问多个域,而不必将每个域都放入/etc/hostsNAT64 地址,则需要动态转换地址。这就是 DNS64 的用途。

    现在,如果客户端确实具有 IPv4 访问权限并且仅缺少 DNS,则答案会变得简单得多。/etc/hosts只需像 davidgo 建议的那样输入 IPv4 地址即可。当然,每次服务器的 IP 地址更改时,您都需要更新该文件,希望不会太频繁。

    • 3
  3. davidgo
    2014-05-17T12:57:03+08:002014-05-17T12:57:03+08:00

    我认为您可能问错了问题 - 您不能将 IPv6 地址重定向到域,因为该过程以相反的方式工作,即域解析为 [或许多] 主机。

    我无法在您的路由器上找到任何信息,但如果它正在运行 OpenWRT,您应该能够在 /etc/hosts 中添加一个条目,以便域名解析为适当的 IP 地址。

    • 2

相关问题

  • 301 将根域重定向到 Godaddy Windows 主机帐户上的 www 子域

  • 使用 IIS7 重定向 Godaddy 中的子域

  • apache重写以将文件夹分配给域

  • 如何让 Apache2 重定向到子目录

  • 如何强制我的网址始终以 www 开头?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve