让我们从一个图表开始:

我们可以看到一个“典型”的 IPv4 公司网络:
所有计算机都有一个 proxy.pac 文件,用于指示使用哪个代理或是否直接连接。计算机只能访问本地 DNS(例如,没有 google.com 的名称解析。)
顺便说一句......公司内部不尊重RFC1918,使用公共地址!(历史原因)。明确地使用互联网代理使得没有问题成为可能。
如果我们迁移到 IPv6 会怎样?
IPv6 中的 Internet 访问很容易。实际上,只需连接 Internet IPv4 和 IPv6 中的代理即可。内部网络无事可做:

为什么不直接使用完整的 IPv6 网络?因为总是有不兼容 IPv6 的旧服务器..
这可能是最简单的解决方案。但这是最好的吗?
我认为过渡到 IPv6 是一个不用理会这个代理协议的机会!
哦是的!
在这个新架构中,我们有:
Explicit Internet Proxy 变成了 Transparent Internet ProxyLocal DNS成为本地域的Normal Recursive DNS+authorativeExplicit Company Proxy …我有以下设置:
client(s) <---> (eth0) router (eth1) <---> wan
Run Code Online (Sandbox Code Playgroud)
我有一个静态 IPv4 地址和一个 /48 IPv6 地址块。我需要将所有客户端连接到 (wan)。每个客户端都将拥有自己的公共 IPv6。同时,我需要将这些相同的客户端 NAT 到 (wan)。
所有与 IPv4 相关的内容和 NAT 都运行良好。与 (eth0)<->(clients)> 的 IPv6 通信工作正常,来自 (eth1)<->(wan) 的 IPv6 通信工作正常。
为了给我所有的客户提供 IPv6,我想了太多的选择:
将路由器作为网关,每个接口上都有不同的IP。这听起来像是我需要告诉我的 ISP 通过该单个 IP 路由整个块,所以这不是一个真正的选择。
向/从 eth0<->eth1 透明地传递 IPv6 数据包,因此所有客户端都可以与上游网关通信(如果不是需要保持 IPv4 兼容,我实际上会在这里有一个交换机)。
所以,既然我选择了第二个选择,我有疑问:如何透明地将所有 IPv6 流量从 eth0 传递到 eth1?我需要的是一个 3 级桥,但是 linux 的 bridgeutils 创建了一个 2 级桥(它也可以桥接 ipv4,我不能拥有它)。
这是一个 DD-WRT 设备,但它几乎是一个嵌入式 linux,因此欢迎大多数适用于 linux 的建议。
谢谢。
这听起来可能是一个愚蠢的问题,因为我对 DNS 管理有一个非常基本的了解,但我正在寻找一个新的 VPS,而且大多数提供商只提供一个 IPV4 地址,该地址无法在http://dnscheck.pingdom上验证。 com/。
然而,大多数 VPS 提供商提供“无限的 IPV6 IP 地址”,所以我的问题是 - 我可以为 NS1.mywebsite.com 和 NS2.mywebsite.com 使用 IPV6 地址而不是 IPV4 吗?如果是的话,这究竟是如何实现的?
预先感谢您的任何答复
我有一个新安装的 Windows Server 2008 R2 SP1 虚拟机,尽管显然具有正确的 IPv6 连接,但它完全无法访问任何 IPv6 网页。此外,其他 Linux VM 也无法访问 IPv6 网站。
此设置以前在虚拟机中具有完整的 IPv6 连接,并且在没有明显原因的情况下停止工作。
我的所有 VM 都桥接到物理以太网,并从主机上的 radvd 接收通知。IPv6 在主机上正常工作,主机也是 IPv6 路由器。Wireshark 显示主机在收到 HTTP SYN 数据包后正在发回 ICMPv6 Destination Unreachable (Administratively disabled)。
Internet Explorer 报告它无法显示网页,而 Google Chrome 仅显示 Oops!Chrome 无法连接到网页,没有错误号。
我什至能够 ping 本地网关和 Google 的 IPv6 地址并进行 IPv6 DNS 查找。
PS C:\Users\Administrator> ping -6 fe80::6e62:6dff:fed1:dfad
Pinging fe80::6e62:6dff:fed1:dfad with 32 bytes of data:
Reply from fe80::6e62:6dff:fed1:dfad: time<1ms
Reply from fe80::6e62:6dff:fed1:dfad: time<1ms
Reply from fe80::6e62:6dff:fed1:dfad: time<1ms
Reply from …Run Code Online (Sandbox Code Playgroud) 在 Windows Vista 和更高版本中,您可以通过 GUI 或使用netsh. 地址也可以在 Windows XP 上静态配置
netsh interface ipv6 add address "Local Area Network" 2001:db8::bad:f00d
Run Code Online (Sandbox Code Playgroud)
和默认路由:
netsh interface ipv6 add route ::/0 "Local Area Network" 2001:db8::1
Run Code Online (Sandbox Code Playgroud)
但问题在于,如果链路上存在发出 RA 的路由器,Windows XP 还将根据公布的前缀和fe80::路由器的链路本地 ( ) 地址为自己分配一个自动生成的地址作为默认网关。
如果主机被静态寻址,如何关闭自动配置?
更新
似乎没有直接的方法来禁用 SLAAC 而不禁用 IPv6 本身。是否有注册表设置可以这样做?
某些操作系统(例如 Windows 7)默认启用 IPv6 隐私扩展,这可能证明对经常漫游以防止可追溯性的笔记本电脑和移动设备特别有益。
这对全局地址很有意义。但是,在某些系统上,隐私扩展还扩展到链接本地地址。由于具有链路本地目标地址的 IPv6 数据包不能离开链路(一些病态的实现被搁置一旁),并且由于同一链路上的所有设备无论如何都可以看到传入以太网帧的源 MAC 地址,我认为没有理由为什么链路本地地址不应从 MAC 地址生成。
对于物理 NIC,MAC 地址更方便,因为它们实际上保证是唯一的,因此人们不必处理RFC 4941设想的问题,例如在没有持久存储时为 RNG 做种。
除了保持一致和仅使用一种地址自动配置模式之外,还有其他原因吗?
我目前有在我企业的企业网络上部署 IPv6 的想法。但是我的老板(CIO)问我有什么好处?而我没有答案。
那么我能说些什么来证明 IPv6 的情况呢?
它将在 IPv4 的双栈中运行。
我们使用防火墙、VPN 和多个 WAN 连接。
使用以下命令,您可以在 Linux 中添加邻居代理
ip -6 neigh add proxy 2001:db8:100:3022:1::4 dev eth0
Run Code Online (Sandbox Code Playgroud)
有没有办法列出已经定义的代理?
我正在构建一个网络服务器 ( http://blog.linformattronics.nl/ ),它在 IPv4 和 IPv6 以及使用非 SSL 连接时都可以正常运行。但是,当我通过 https 连接到它时,IPv6 按预期工作,但 IPv4 连接会引发客户端错误。IPv4/https 连接的服务器端日志为空。总结成一张表:
| http | https
-----+-------+-------------------------------------------------------
IPv4 | works | OpenSSL error, failed. No server side logging.
-----+-------+-------------------------------------------------------
IPv6 | works | self signed certificate warning, but works as expected
Run Code Online (Sandbox Code Playgroud)
显然,甚至没有设置 SSL 隧道,这导致 Apache 日志为空。但为什么它对 IPv6 工作正常而对 IPv4 失败?我的问题是为什么会抛出这个 OpenSSL 错误,我该如何解决?
以下是有关设置的一些额外信息。
用于重现 IPv6/https 行为的命令:
$ wget --no-check-certificate -O /dev/null -6 https://blog.linformatronics.nl
--2012-11-03 15:46:48-- https://blog.linformatronics.nl/
Resolving blog.linformatronics.nl (blog.linformatronics.nl)... 2001:980:1b7f:1:a00:27ff:fea6:a2e7
Connecting to …Run Code Online (Sandbox Code Playgroud) 在过去十年中,NAT 允许我们做的事情之一是将物理服务拆分到不同的服务器上,同时隐藏在单个接口后面。
例如,我example.com在192.0.2.10. 我端口转发:80和:443对我的Web服务器。我还将端口转发:25到我的邮件服务器、:3389终端服务器和:8080下载种子的计算机的 Web 界面,故事还在继续。
所以我有 5 个端口转发到 4 台不同的计算机上example.com。
然后,我去拿一些整洁的 IPv6。我分配example.com了一个 IPv6 地址2001:db8:88:200::10。这对我的网站来说很棒,但我想访问example.com:8080我的种子,或example:3389登录到我的终端服务器。
我怎么能用 IPv6 做到这一点,因为没有 NAT。当然,我可以为每个新服务创建一堆新的 DNS 条目,但随后我必须更新我所有习惯于仅通过键入example.com访问网站或终端服务器的客户端。我的用户比两块砖还笨,所以他们不会记得连接到rdp.example.com.
我有哪些选项可以在 IPv6 中保持 NAT 风格的功能?
如果你还没有想通了,上面的场景是不是我的真实的情景,或许有人还没有,但它一定最终会发生。你知道,与 devops 和所有。
ipv6 ×10
linux ×4
ipv4 ×2
networking ×2
apache-2.2 ×1
bridge ×1
ip ×1
migration ×1
nameserver ×1
nat ×1
proxy ×1
radvd ×1
ssl ×1
windows ×1
windows-xp ×1