这是对另一个答案的片段的跟进。
在那里,用户 Ninefingers 写道:
(...) 永远只允许出站连接。尽管有 NAT 还是要这样做,因为IPv6 会使那些 NAT 防御消失。
有人可以解释一下这是什么意思吗?或者更确切地说,这将如何影响在执行 NAT 并连接到 DSL 调制解调器的本地路由器后面运行 Windows 7 PC 的普通用户。
这是对另一个答案的片段的跟进。
在那里,用户 Ninefingers 写道:
(...) 永远只允许出站连接。尽管有 NAT 还是要这样做,因为IPv6 会使那些 NAT 防御消失。
有人可以解释一下这是什么意思吗?或者更确切地说,这将如何影响在执行 NAT 并连接到 DSL 调制解调器的本地路由器后面运行 Windows 7 PC 的普通用户。
我可以。
IPv4,由于地址池的大小,早就有了一种叫做网络地址转换的技术。在一个简单的视图中,假设您为您的路由器分配了(无效的)IP 地址256.10.20.30(我使用了无效的地址,所以人们不会到处 ping 它们等)。在本地,你的路由器192.168.0.1和你的主机是192.168.0.2这样的:
/----------\ /-------------------------------\ /----------------\
| Internet |-------| Your router |-------| A computer |
\----------/ | Internet sees as 256.10.20.30 | | has only: |
| You see as 192.168.0.1 | | 192.168.0.2 |
\-------------------------------/ \----------------/
因此,您的路由器在互联网上显示为面向公众的 IP 地址;但是,除非您故意将端口上的连接从路由器路由到专用 IP 地址范围内的计算机,否则专用 LAN 端的计算机不能直接从 Internet 寻址。该路由执行两个功能 - NAT 和路由。
在 IPv6 中有很多地址。从根本上说,这个想法是没有私有 IP 地址范围(这不完全正确;一个 RFC 确实存在),因此 IPv6 情况如下所示:
/----------\ /-------------------------------\ /----------------\
| Internet |-------| Your router |-------| A computer |
\----------/ | Internet sees as 2000::... | | has: |
| You see as 2000::... | | 2001::... |
\-------------------------------/ \----------------/
这些盒子里没有足够的空间来写出完整的地址,但是在 IPv6 模型中,路由器执行其路由功能(它将数据包发送到 LAN 上的计算机),但至关重要的是,它路由往返于互联网,而不是向外路由/ NATing。
这样做的效果是 IPv4 的默认情况,即家庭计算机本质上不能直接访问,因为它们没有 IP 地址,除非路由器知道连接消失。计算机变得可从 Internet 寻址,就像服务器一样。
显然,此类连接仍然可以设置防火墙,防火墙拒绝所有传入(非客户端启动)连接,但是,您无需显式配置路由器以将 Internet 数据包路由给您。如果防火墙不过滤传入的数据包,客户端更好地应对它。因此,使用 IPv6 的家庭用户的安全风险略有增加。
我希望(希望?)大多数家庭路由器都将配置此防火墙设置。因此,虽然风险略有增加,但与基于浏览器的漏洞(“出站攻击”)的威胁相比,它仍然可能相形见绌。
NAT 是解决 IPv4 地址短缺问题的一种方法:您将许多系统隐藏在一个 IP 地址后面。使用 IPv6,最终用户将拥有许多地址,因此不再需要 NAT。从网络的角度来看,这非常棒,因为 NAT 是一种丑陋的 hack(从网络的角度来看),它使许多应用程序变得更加困难。
然而,从安全的角度来看,NAT 通过将您的系统隐藏在防火墙(即 NAT 路由器)后面来提供一些安全性。此 NAT 路由器必须明确配置为将传入连接转发到内部主机(不考虑 UPnP)。当 NAT 消失并且您的所有系统都有一个唯一的、全球可访问的 IPv6 地址时,恶意软件可以打开一个侦听套接字以进行回连。
我想到的第一个问题是,您可能有一个您甚至不知道的 IPv6 连接。
Microsoft Windows 内置了对Teredo的支持。Teredo 通过 IPv4 UDP 数据包传输 IPv6。这提供了全双工 IPv6 连接。
此外,Teredo 旨在通过 IPv4 NAT 工作:客户端定期向最近的 Teredo 中继发送查询。如果这个中继有给客户端的数据包,它会应答,而 NAT 会让应答通过。这些数据包可能包含来自外部的连接尝试。
某些软件可能会激活 Teredo 支持,uTorrent(请参阅Release Announcement 1.8 Build 7237)甚至默认自动完成。