Вот мой 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)
В моем случае не был понят параметр сжатия. Кроме того, я мог туннелировать трафик простого текста между клиентом, но ssh не работал. Мне установили последний пакет на ОС Raspbian.
Здесь ошибочное сообщение, что я имел:
ошибка Опций: Нераспознанная опция или недостающий параметр (параметры) в [ОПЦИЯХ НАЖАТИЯ]:1: сжатие (2.3.4)
localhost ovpn-клиент [633]: запишите в БОЧКУ/TAP: Недействительный аргумент (code=22)
я решил свои проблемы путем создания последней версии из источника.
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. Это будет жаловаться на версию, таким образом, необходимо будет установить его вручную.
sudo mkdir -p /usr/lib/openpvn # checkinstall failed on my system because the folder did not exist.
sudo checkinstall
Это создаст deb пакет и установит двоичные файлы и файлы конфигурации к корректному местоположению.
Насколько я понимаю, что Вам не нужна эта команда в Linux. Команда block-outside-dns
для окон только. Для достижения надлежащей конфигурации DNS, Вам нужны, по крайней мере, три после строк в Вашем client.conf
:
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
/etc/openvpn/update-resolv-conf
стандартный путь, если Вы не изменили его после openvpn
установка через apt-get
.
Отправьте 4 в https://github.com/ValdikSS/openvpn-fix-dns-leak-plugin/issues/12
https://github.com/Nyr/openvpn-install/commit/acca10ba1a87b86da3f402ef08e07ad42126913e