Ubuntu 22.04 OpenVpn 服务器错误:写入 TUN/TAP:参数无效(代码=22)

Set*_*thi 2 linux ubuntu vpn openvpn

openvpn --dev tun --ifconfig 172.16.0.1 172.16.0.2 --cipher AES-256-CBC我在 Ubuntu 22.04 Linux Box 上启动 openvpn 服务器

我使用 easycert 生成证书和密钥,并在 Windows 10 客户端上复制所有内容。

连接不起作用,在系统日志中我发现很多

write to TUN/TAP : Invalid argument (code=22)
write to TUN/TAP : Invalid argument (code=22)
...
Run Code Online (Sandbox Code Playgroud)

怎么了?这是我的客户端配置文件:

client
dev tun
proto udp
remote *MYSERVERIP* 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
cipher AES-256-CBC

Run Code Online (Sandbox Code Playgroud)

小智 6

问题是您的服务器使用comp-lzo adaptive默认压缩(即使没有添加到server.conf文件中),但客户端根本没有启用压缩。因此,客户端正在发送未压缩的数据包,而服务器正在等待压缩标头。/var/log/openvpn/openvpn.log 请检查您服务器上的日志: 。要解决该问题,请添加以下行:comp-lzo adaptive 或仅添加comp-lzo 到您的client.conf文件中,因为 adaptive 是 的默认模式comp-lzo,因此您可以省略它。您还可以将相同的选项添加到您的server.conf文件中,然后您可以确定您的服务器使用相同类型的压缩。