我想在以 TAP 模式运行的 OpenVPN 服务器上设置 IPv6 地址。
根据文档,ifconfig 需要两个参数:l
和rn
。对于 TAP 设备,l
是本地地址,rn
是网络掩码。
它与 IPv4 配合良好:例如ifconfig 192.168.2.1 255.255.255.0
。
我尝试给它提供类似 IPv4 的网络掩码,这在 IPv6 中实际上并不常用,但我还是尝试了一下。OpenVPN 接受了此语法,但界面上没有出现任何 IP:
ifconfig-ipv6 fdxx:xxxx:xxxx:2::1 ffff:ffff:ffff:ffff:: # no address on the iface
显然,这个提交这次提交应该在 OpenVPN 中实现前缀长度语法。它不接受单个参数,抱怨缺少第二个参数。我尝试了各种虚拟参数,例如::
。服务器接受了它们,但接口再次没有地址。
ifconfig-ipv6 fdxx:xxxx:xxxx:2::1/64 # complains
ifconfig-ipv6 fdxx:xxxx:xxxx:2::1/64 :: # no address on the iface
答案1
事实证明,这个问题之前已经发布在邮件列表中。
正确的语法确实是ifconfig-ipv6 fdxx:xxxx:xxxx:2::1/64 ::
,但您还需要设置tun-ipv6
(即使您使用的是 TAP 模式,这也相当令人困惑)。
但是,至少从 OpenVPN 2.3.4 开始,除非您使用 指定 IPv4 地址,否则它将无法工作ifconfig
。可能是错误,或者我遗漏了其他内容。