多个设备使用一个 IPv6 连接到 Internet?

Han*_*nes 5 nat routing ipv6 pfsense

我想通过一个公共 IPv6 地址将多个设备(在 LAN 中)连接到 Internet。

不幸的是,我没有找到一个好的方法来做到这一点。我唯一的想法是在 Sense 之前通过 OpenVPN 将 PF/OPNsense 中的所有内容通过隧道传输到 Raspberry Pi 或类似设备,然后使用来自 Pi 的 IPv6 连接到 Internet。

计划的设置是 Internet (WAN) - Fritzbox (LAN1) - PFSense / OPNsense(带 WAN 接口)- LAN2

还有其他可能吗?VPN 解决方案不是很好。

为什么?为每个(私有)设备分配自己的公共 IP(也带有隐私扩展)可以简化跟踪。此外,某些设备没有隐私扩展或未激活。

San*_*ann 37

IPv6 旨在不这样做。使用 IPv6 尝试 IPv4 风格的 NAT 会破坏事情。也就是说,我很确定你可以用 Linux iptables 做 NAT IPv6,所以这不是不可能的。但我强烈建议不要这样做。

  • 具体来说,NAT 将如何破坏 IPv6?除了它在 IPv4 上的作用之外,那是什么? (11认同)
  • 开发人员在其应用程序中用于处理 NAT(如 STUN)的所有变通方法仅适用于 IPv4。在 IPv6 上,这些变通办法不存在,所以事情可能会中断。这主要适用于基于 UDP 的协议、SIP 等。 (11认同)
  • 我会回应桑德的评论。这是一个坏主意,如果您要求它,很可能您误解了 ipv6 的一个基本方面。我强烈建议不要这样做,而是按预期查看防火墙 ipv6,而不是尝试使用 NAT。 (10认同)

Ron*_*pin 21

IPv6 没有 IPv4 那样的 NAT 标准。IPv6 上有一个针对一对一 NAT(每个内部地址一个外部地址)的实验 RFC,但明确禁止您想要执行的操作(我在下面强调了它):

6. 端口映射注意事项

除了在转发数据报时覆盖 IP 地址之外,NAPT44 设备还会覆盖出站流量中的源端口号和入站流量中的目标端口号。这种机制称为“端口映射”。

端口映射的主要好处是它允许多台计算机共享一个 IPv4 地址。大量内部 IPv4 地址(通常来自 [RFC1918] 私有地址空间之一)可以映射到单个外部的、全局可路由的 IPv4 地址,本地端口号用于标识哪个内部节点应该接收每个入站数据报。这种地址放大功能目前通常不被认为是必需的。

由于端口映射需要重写传输层报头的一部分,因此它需要 NAPT44 设备了解它们转发的所有传输协议,从而扼杀了新的和改进的传输协议的开发,并阻止了 IPsec 加密的使用。修改传输层报头与加密完整 IP 有效载荷的安全机制不兼容,并将 NAPT44 限制为转发使用弱校验和算法的传输层,这些算法很容易在路由器中重新计算。

由于修改传输层报头会造成重大损害,而且在 IPv6 中使用端口映射几乎没有好处,因此符合本规范的 NPTv6 转换器不得执行端口映射。

此外,您会发现 NAT 破坏了一些 IPv6 功能。

IPv6 具有大量地址,因此您无需像使用 IPv4 那样使用 NAPT。IPv4 上的 NAPT 打破了 IP 范式,在这种范式中,每个主机都被分配一个唯一的地址,因此连接是端到端的,不需要中间设备维护连接状态。IPv6 恢复了 IP 范式,允许 TCP、UDP 和 ICMP* 以外的协议,并修复了被 NAPT 破坏的应用程序和应用层协议。

您可能会误解隐私扩展的跟踪和功能。事实是,隐私扩展阻止的跟踪是在设备连接到不同网络时跟踪设备,在每个连接的网络上获取新地址,而不是跟踪设备在 Internet 上使用的服务。通过仅使用原始 SLAAC,设备将始终在同一接口上具有相同的 IID(接口标识符),并且无论设备连接到哪个网络,它都可以相关联,在您将其从网络移动到网络。如果设备仅存在于单个网络上,这并不重要,您无需跟踪任何移动。如果您确实将设备移动到其他网络,并且该设备不支持隐私扩展,那么您将能够被跟踪,

如果设备只连接到单个网络,则没有跟踪风险,您也可以使用 DHCPv6 分配地址,或者您可以手动分配地址,而不是使用使用标识符的 SLAAC,例如 MAC 地址。


* RFC 3022,传统 IP 网络地址转换器(传统 NAT)解释了 IPv4 NAT,包括第 2.2 节中的 NAPT:

TCP、UDP 和 ICMP 查询类型以外的会话根本不允许来自本地节点,由 NAPT 路由器提供服务。

  • NAT 破坏了哪些 IPv6 特性? (2认同)
  • @Gizmo 你确定你的 ISP 只为你提供一个 v6 IP?我认为您可能错误地阅读了路由器的状态页面,或者忽略了那里的一些信息。通常,支持 IPv6 的提供商会为路由器本身分配一个 /128(用于远程配置等),并且至少会分配一个 /64 子网以进一步委派给您的内部设备。 (2认同)

Joh*_*ald 8

IPv6 地址并不是最强大的跟踪方式。DNS 流量显示您在 Internet 上的去向。在台式机和移动设备上,广告和社交跟踪标识符会跨设备和 IP 跟踪用户。

IPv6 地址可以频繁更改,只留下标识站点的通用前缀,而不是主机。在没有隐私扩展的设备上,考虑自己实现类似的东西。生成随机主机标识符,并将其分配为静态前缀中的 IP 地址。

加密流量。对所有应用程序使用 TLS。

在必要时使用安全覆盖来传输您不信任的网络。

避免 NAT。每个设备都可以从数十亿个 IP 中进行选择,为什么要通过一个漏斗来破坏端到端的连接?

  • 事实是,Privacy Extensions 阻止的跟踪是在设备连接到不同网络时跟踪设备,在每个连接的网络上获取新地址,而不是跟踪设备在 Internet 上使用的服务。 (2认同)

Mat*_*lis 7

正如其他人所指出的,您的设备将通过多种方式被跟踪。即使您拥有数千个(而不是几十个)并将它们全部映射到同一个 IP 上,也不会有太大区别。

如果您想自己尝试,请参见例如https://panopticlick.eff.org/,然后单击“显示完整结果”。尝试使用不同的设备,甚至通过 VPN 或路由器重启来更改您的 IP。真是骇人听闻。因此,即使使用隐私强化浏览器(几乎无法在您的所有设备上使用)并在每次连接后重新启动路由器以便您的 IP 更改(希望如此),您的设备仍然可以很好地识别。

现在想象一下,如果您正在处理不道德的跟踪器(大多数有问题的跟踪器),它们将可以访问更多信息,并且您的大多数访问将来自一个 IP(或一个 IPv6 范围,没有区别)。

使用 NAT-ing 来增强隐私有助于“我想在柴油车的排气管周围放一条湿毛巾,以减少污染”。只是不会以任何可衡量的方式提供帮助。

如果您不关心端到端连接,则根本不应该为 IPv6 烦恼。您的设备很可能会在其余生中在普通 IPv4 NAT 下正常运行。

话虽如此,如果您仍然坚持认为所有传出连接都应该来自一个 IPv6 地址,那么您可以通过禁用路由和安装代理软件来实现这一点。有通用的 SOCKS 代理协议,但对于 HTTP,您最好使用诸如Privoxy 之类的隐私增强代理。此外,您还可以将 Privoxy 的上游链接到Tor 网络,以获得更改 IP 源地址的好处。如果您不能使用代理,VPN 是您最好也是最不丑陋的方式。

这实际上可能对隐私有所帮助,尽管现在为了获得更好的结果,您需要完全禁用 Javascript(或者至少在更安全的模式下安装uBlock OriginNoScript,并在逐个站点的基础上痛苦地配置它们)您的设备(当然还要禁用 Flash 和其他浏览器插件等恐怖内容!)


Pet*_*een 5

如果你想做一些不寻常的/不喜欢的事情,那么使用预装的“路由器发行版”作为你的边缘路由器可能不是最好的方法。进一步的 pfsense 基于不支持“一对多”ipv6 NAT 的 freebsd pf。

如果您想做一对多的 ipv6 NAT,我建议您使用最新版本的通用 linux 发行版作为您的边缘路由器。Linux 在 3.9.0 中添加了对 ipv6 nat 的支持,使用它基本上和 ipv4 对应物一样简单,例如“ip6tables -A POSTROUING -t nat -o -j MASQUERADE”。