我仍然在思考 IPv6 的细节。把它搞得一团糟并不是我的首要任务,直到我最近的小项目我才产生个人兴趣。但是,我一次又一次地读到的一件事是在为客户端配置网关时使用网关的链路本地 IP。Buuut ......这对我来说似乎有问题......
例如,假设我有一个客户端和网关,每个客户端和网关都在 lan 端的同一子网中具有全局可路由的 v6 IP。根据常见建议,我将客户端配置为使用网关的链路本地 IP 作为 IPv6 流量的网关。
来自 LAN 客户端的互联网绑定流量是否始终使用其全球单播 IP 作为源 IP,即使客户端的网关被配置为链路本地 IP?这很重要,因为我将使用 nfqueue 设置 snort,并且需要能够使用它需要保护的 ip 范围来配置它。而且我宁愿不让它占用 cpu 周期和内存链接本地流量,这不是威胁。但我也不想引入可以绕过 snort 的安全漏洞。
语境
让我简要解释一下我的设置。我有一台小型 ITX 计算机在配置为我的网络网关的旧 Intel Atom D525 上运行 Arch linux。它有两个以太网端口,在操作系统中标识为lan
和。和wan
都是双栈,在广域网端具有全局可路由的 v6 和 v4 IP。两个 wan ip 堆栈都是由我的 ISP(DHCP 和 RA)自动分配的 IP。所有 LAN 客户端以及网关的 LAN 接口都具有全局可路由的 v6 IP 以及私有 (rfc1918) v4 IP。我已经实施了一个基于 netfilter 的防火墙,从 IPv6 和 IPv4 的 wan 端保护 lan 和 gw。lan
wan
有趣的一点是,我在我的 LAN 上使用有状态DHCPv6 来分配全局可路由的 v6 IP。DHCPv6 守护程序 (ISC DHCPd) 在网关上,并使用由我的 ISP 自动分配的 v6 前缀。我仍然使用路由器通告为客户端分配 v6 网关地址,但这是唯一通过 RA 分配的地址。其他一切都通过 DHCPv6 处理,地址池甚至一些静态 IP 分配。
显然,每个客户端和网关上的每个以太网接口都有链路本地 v6 IP。