我尝试解决这个问题
--tls-remote
在 openvpn 2.4 中被删除,所以我的 openvpn 配置文件不再起作用。
我尝试将 OpenVpn 从 Ubuntu 17.10 中的 2.4 降级到 2.3.4:
apt remove openvpn
wget http://ftp.us.debian.org/debian/pool/main/o/openvpn/openvpn_2.3.4-5+deb8u2_amd64.deb
dpkg -i openvpn_2.3.4-5+deb8u2_amd64.deb
但 2.3 似乎与 Ubuntu 17.10 不兼容:它说缺少initscripts
无法在 17.10 上安装的软件包。
我该怎么做才能让旧配置运行?或者我可以更改配置,以便它与 2.4 兼容?这是有问题的行:
tls-remote "/C=de/L=SomeTown/O=Something/CN=asg.myserver.de/[email protected]"
答案1
要使用的新配置选项verify-x509-name
似乎要求您的专有名称 (DN) 以逗号和空格分隔列表:
verify-x509-name 'C=de, L=SomeTown, O=Something, CN=asg.myserver.de, [email protected]'
此信息来自OpenVPN 2.4 版手册页,位于 TLS 模式选项部分。那里的示例仅使用 C、ST、L 和 CN 部分组成 DN,但它看起来应该可以与其他 DN 组件一起使用
答案2
您必须--tls-remote name
用新--verify-x509-name name type
指令替换:
https://community.openvpn.net/openvpn/wiki/DeprecatedOptions#a--tls-remote
因此,不要使用 tls-remote 命令,而应使用以下命令:
verify-x509-name 'C=de, L=SomeTown, O=Something, CN=asg.myserver.de, [email protected]'
奇怪的是,这在我的系统上不起作用,我收到一个错误:
VERIFY X509NAME ERROR: C=de, L=SomeTown, O=Something, CN=asg.myserver.de, [email protected], must be C=de, L=SomeTown, O=Something, CN=asg.myserver.de, [email protected]
这似乎是一个非常奇怪的消息,所以我尝试了更多选项并发现,它适用于类型name
而不是(默认)类型subject
:
verify-x509-name asg.myserver.de name