选项错误:[PUSH-OPTIONS]:1 中无法识别的选项或缺少参数

选项错误:[PUSH-OPTIONS]:1 中无法识别的选项或缺少参数

这是我的 openvpn.conf。

server 192.168.255.0 255.255.255.0
verb 3
key /etc/openvpn/pki/private/VPN.SERVERNAME.COM.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/VPN.SERVERNAME.COM.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun

proto udp
# Rely on Docker to do port mapping, internally always 1194
port 1194
dev tun0
status /tmp/openvpn-status.log

user nobody
group nogroup

### Route Configurations Below
route 192.168.254.0 255.255.255.0

### Push Configurations Below
push "block-outside-dns"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

push "route 10.2.0.0 255.255.255.0"

当我从我的客户端连接时,出现此错误 -

 Options error: Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:1: block-outside-dns (2.3.2)

答案1

据我所知,在 Linux 中不需要此命令。该命令block-outside-dns仅适用于 Windows。要实现正确的 DNS 配置,您至少需要在client.conf:

script-security 2 
up /etc/openvpn/update-resolv-conf 
down /etc/openvpn/update-resolv-conf

/etc/openvpn/update-resolv-confopenvpn如果您在通过 安装后没有更改它,则是标准路径apt-get

帖子 4 在https://github.com/ValdikSS/openvpn-fix-dns-leak-plugin/issues/12

https://github.com/Nyr/openvpn-install/commit/acca10ba1a87b86da3f402ef08e07ad42126913e

答案2

就我而言,无法理解压缩参数。此外,我可以在客户端之间传输纯文本流量,但 ssh 不起作用。我在 Raspbian 操作系统上安装了最新的软件包。

这是我收到的错误信息:

选项错误:[PUSH-OPTIONS] 中无法识别的选项或缺少参数:1:压缩(2.3.4)

localhost ovpn-client[633]: 写入 TUN/TAP: 参数无效 (code=22)

我通过从源代码构建最新版本解决了我的问题。

首先,安装构建依赖项:

sudo apt update
sudo apt install git build-essential
sudo apt build-dep openvpn

然后运行以下命令:

git clone https://github.com/OpenVPN/openvpn.git
cd openvpn
git tag # check for the latest release tag, in my case it was v2.4.3
git checkout v2.4.3
git submodule update --init --recursive
autoreconf -i
sudo apt install libssl-dev liblz4-dev liblzo2-dev libpam-dev # More library might be required or the version might be different. The configure script will tell if something is missing.
./configure
make -j4
make check -j4
sudo make install

编辑:要使用 systemd,请安装 libsystemd-dev 并进行如下配置:

./configure --prefix=/usr --enable-systemd

要安装,您可以使用 checkinstall 而不是 make install。它会抱怨版本,因此您需要手动设置。

sudo mkdir -p /usr/lib/openpvn # checkinstall failed on my system because the folder did not exist.
sudo checkinstall

这将创建一个 deb 包并将二进制文件和配置文件安装到正确的位置。

相关内容