在我的 VPS 上,OpenVPN 创建的 TAP 网络界面 / 虚拟网卡会带有一个随机生成的 IPv6 地址,scope 为 stable-privacy
。
这个地址本身是随机生成、用于防止根据 IPv6 地址追踪用户的,但在 DN42 组网时,BGP 握手可能会从这个地址发出(而非设置的 Link-local 地址),然后因为来源地址不符而握手失败。
解决方法是对这些 TAP 网络界面通过 sysctl 设置,关闭可能会自动产生地址的几项。可以设置 OpenVPN 让它在创建网络界面时自动运行 sysctl:
1 | # 在 OpenVPN 的 conf 文件里加上 |
根据你的 Linux 发行版不同,可能需要调整 /bin/sh
和 /sbin/sysctl
的路径。