需求:可以访问内网资源,所有向外部网络发起的请求全部拒绝.
在 ipv4 下很好做,内网都是静态 IP,我使用的是 RouterOS 路由器,直接写一条这台机器目标地址非内网网段的连接全部 drop 的规则就好了。
但是在 ipv6 下,由 ISP 分配的前缀是会变化的,而后 64bit 的接口标识符,有的设备会遵循 IEEE EUI-64 标准,后缀也就是接口标识符保持不变,这时候使用脚本判断标识符还可以做一下相应的策略。
例如我下面上图的这台运行 ESXI 的主机,无论前缀怎么变化,它的接口标识符从未发生过变化。
而有的设备,例如安卓手机,还有运行 macOS 的电脑,接口标识符在在前缀变化后也会跟着变化,这样一来完全不知道该怎么写 ipv6 的防火墙规则了,还请各位 V 友不吝赐教.
1
ysc3839 2019-01-30 20:24:02 +08:00
DHCPv6 分配固定的 IP 地址也许可以?
|
3
yzwduck 2019-01-30 22:08:54 +08:00
之前有一个相关的讨论,可以参考一下 https://www.v2ex.com/t/530084
或者想办法在终端上禁用 IPv6 Privacy Extensions ? |
4
Danswerme OP @yzwduck 谢谢!找到了相关资料,只是 macos 似乎暂时没有办法可以关闭随机生成接口 ID。
https://arstechnica.com/gadgets/2016/09/macos-10-12-sierra-the-ars-technica-review/6/ https://superuser.com/questions/243669/how-to-avoid-exposing-my-mac-address-when-using-ipv6 https://discussions.apple.com/thread/7684138 https://apple.stackexchange.com/questions/254778/sierra-has-changed-ipv6-link-local-addressing-why-how |
5
Danswerme OP @yzwduck 另外隐私扩展地址和 EUI-64 是两码事,前者是生成一个临时的 ip 地址,用来向外发起请求隐藏自己的真实地址,这就是为什么设备一般会有两个 v6 地址的原因。
后者则是根据 mac 地址计算出的接口 ID,而 Windows 和 macOS 没有使用 mac 地址来计算接口 ID,用的是其他方法随机(?)生成的接口 ID |
6
Danswerme OP |
7
yzwduck 2019-01-30 23:05:58 +08:00
我是想通过禁用 IPv6 Privacy Extensions 来强制设备根据 EUI-64 使用 MAC 地址来生成后缀固定的 ipv6 地址。
不过目前我的路由器无法接入 v6 的网络,自身对 ipv6 网络也不熟悉,如有错误 希望各位 V 友能批评指教。 |