这是一个关于 IPv6 子网划分的规范问题。
有关的:
我对IPv4 Subnetting了解很多,当我准备(部署|工作)IPv6 网络时,我需要知道这些知识中有多少是可以转移的,以及我还需要学习什么。乍一看,IPv6 似乎比 IPv4 复杂得多。所以我想知道:
当然,我意识到有必要在开放的互联网上使用 IPv6,因为我们的地址用完了,但我真的不明白为什么有必要在内部网络上使用它。我在 IPv6 上做了零,所以我也想知道:现代防火墙不会在内部 IPv4 地址和外部 IPv6 地址之间进行 NAT 吗?
我只是想知道,因为我在这里看到这么多人在为 IPv6 问题而苦苦挣扎,不知道为什么要麻烦?
在这里很难将我的头围绕在 IPv6 上。许多术语似乎针对企业级 IPv6 部署,讨论本地链路、站点本地、全球单播、范围等。关于真正小型网络(如家庭网络)的可靠信息并不多。我想检查一下我的想法并确保我得到了从 IPv4-speak 到 IPv6-speak 的正确翻译。
第一个问题是,IPv6 的 RFC1918 相当于什么?最初的搜索表明没有等价物。然后我偶然发现了唯一本地地址 (RFC4193),它指出所有 ULA 都应该分配前缀fc00,然后是路由前缀中的 40 位随机数。这个随机数是为了“防止两个 IPv6 网络互连时发生冲突”——再次引用企业级功能。
如果我家里有一个小型本地 LAN,使用 编号192.168.4.0/24,那么我在 IPv6 的 ULA 范围中的等效项是什么?假设我永远不会将该 IPv6 地址绑定到真实的互联网(路由器将对其进行 NAT 和防火墙),我可以在一定程度上忽略 RFC 并继续使用fc00::4:0/120吗?
似乎任何地址fc00::/7都可以全局路由。这是否意味着我需要额外的保护,以便我的路由器不会自动开始向全世界宣传这些私有 IPv6 地址?
第二个问题,这个链接本地的东西是什么?读数建议在地址fe80::/10的最后 64 位(由接口的 MAC 地址组成)范围内使用默认分配的地址。似乎也需要,但我对它与企业网络相关的不断讨论感到恼火。
第三个问题,scope id 的作用是什么?似乎是与企业网络相关的另一个术语,尤其是在互连它们时,但在较小的家庭网络级别几乎没有解释。
我可以看到同时使用的范围 ID 和 CIDR 表示法吗?即,fc00::4:0/120%6或者范围 ID 是否应该仅应用于单个 /128 IPv6 地址?
可能的重复:
切换到 IPv6 并摆脱 NAT?你在开玩笑吗?
我正在考虑在 IPv4 中大部分时间你有一个单一的点来配置防火墙的方式,主要是你的路由器,但是如果每个人都有一个全局可访问的 IP 地址,这是否意味着每个计算机用户基本上都是负责管理自己的防火墙?
(我的意思是我承认在使用公共 wifi 接入点时也是如此,但仍然......)
我一直在阅读Debian 系统管理员手册,我在网关部分看到了这段话:
...请注意,NAT 仅与 IPv4 及其有限的地址空间相关;在 IPv6 中,地址的广泛可用性通过允许所有“内部”地址在 Internet 上直接路由(这并不意味着内部机器可以访问,因为中间防火墙可以过滤流量)大大降低了 NAT 的实用性。
这让我想到... IPv6 仍然有一个私有范围。请参阅:RFC4193。公司真的会用公共地址设置他们所有的内部机器吗?这就是 IPv6 的工作方式吗?
IPv6 中是否有任何方法可以为特定 mac 地址标识的网络上的主机子集启用动态寻址和配置?
我一直在慢慢地设置 IPv6。我所有的路由器都有静态地址和路由,一些关键服务器是静态寻址的。现在我想开始测试一些客户端,但我不想一次为整个网络简单地启用它。我希望能够只为几台主机启用它。
在 IPv4 世界中,我会设置一个范围内有 0 个空闲地址的 DHCP 服务器,并且只设置保留。在 IPv6 世界中,这似乎不是一个选项,因为我无法通过 DHCPv6 设置默认网关,这显然只能通过路由器广告获知。
这是如何接近的?是否根本不可能在网络上有选择地启用 IPv6?
我的路由器是基于 Linux 的,如果重要的话,DHCPv6 服务器将在 Linux 上运行,我希望启用各种客户端(Windows/Linux/OSX)。
除了使用 GoGoNet 之类的家用电脑上的 4to6 隧道之外,我还没有使用过 IPv6。我已经阅读了它的一般工作方式。不需要(或建议)NAT,每个客户端都使用公共 ipv6 地址,我理解防火墙的继续使用。根据我的理解,如果不使用 NAT、UAL 和让 ARIN 为您提供自己的全局范围,这意味着您局域网上所有系统上的 ipv6 地址将来自您的 isp 提供的范围。如果您更改 ISP,会发生什么?这是否意味着您必须更改整个局域网地址范围?
在典型的 ipv4 窗口商店中,我可能会遇到这样的情况:
Site1 Lan IPs: 192.168.1.0/24
Site2 Lan IPs: 10.0.0.0/24
Site1 Public IP: 11.12.13.1/29 (11.12.13.1 - 11.12.13.5 usable)
Site2 Public IP: 20.30.40.1/29 (20.30.40.1 - 20.30.40.5 usable)
Site-to-site VPN via firewalls
Site1: Lan IP, Public IP:Port
Hardware firewall/router - 192.168.1.1, 11.12.13.1
Windows AD DC server (AD DNS server) - 192.168.1.10
Windows Exchange (email) - 192.168.1.11, 11.12.13.2:25+443
Windows RDS (term server) - 192.168.1.12, 11.12.13.3:3389 …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 和所有。
IPv4 需要 NAT 来保护地址。NAT 的防火墙特性也有利于安全。IPv4 NAT 防火墙规则是“阻止传入数据包remote-address:port -> local-address:port,除非local-address:port -> remote-address:port在最后 X 秒内发送传出数据包”。
对于点对点 UDP 应用程序,这需要介绍服务器来进行 NAT 打孔。对于Client连接到Server(包括有防火墙的NAT后面,FW),我们需要进行如下操作的情况发生:
periodic
keep-alive
Introducer <------>
Client FW FW Server
------------------------------------------
request
introduction
-------> Introducer
Client FW FW Server
--------------------->X
request connection
------------------------------------------
notify
introduction
[Client address:port]
Introducer ------->
Client FW FW Server
------------------------------------------
Client FW FW Server
<---------------------------
hello
------------------------------------------
Client FW FW Server
--------------------------->
request connection
------------------------------------------
Client FW FW Server …Run Code Online (Sandbox Code Playgroud)