Я определил несвязанный DNS-сервер на моем VPS, и он, кажется, работает. Мне нужно использовать DNS-сервер вместо публичных DNS-серверов, потому что некоторые интернет-провайдеры заблокировали публичные IP-адреса DNS. Мой файл openvpn.conf:
dev tun
proto tcp
# Notice: here I set the listening port to be 80 to avoid possible port blockage
port 80
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
#status openvpn-status.log
#verb 3
client-to-client
push "redirect-gateway def1"
#pushing public DNS IPs
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.222.220"
comp-lzo
Как предлагается здесь , я попытался использовать IP-адреса моего сервера (скажем, 11.22.33.44). Так что вместо
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.222.220"
Я просто положил
push "dhcp-option DNS 11.22.33.44"
В openvpn.conf выше. Тем не менее, после перезапуска openvpn я вижу, что мой клиент все еще может подключиться к серверу OpenVPN, но никакие страницы больше не могут отображаться.
Что здесь может быть не так? Как я могу решить эту проблему?
Вы говорите, что «похоже, работает». Как вы это проверили? Вы основываете это на факте, что сервер запустился без каких-либо ошибок, или вы действительно выполняли некоторые запросы к нему?
Первое, что я хотел бы сделать, это использовать nslookup или dig для подключения к несвязанному серверу и выполнения некоторых запросов. Я знаю, что копать больше в моде в наши дни, но я лучше знаю nslookup.
Если это не работает, то вам придется снова посмотреть на конфигурацию DNS.
Это основной DNS-сервер или кеширующий DNS-сервер? Вы пытаетесь запросить местные ресурсы или интернет-ресурсы? Работает ли он так, как ожидается, если вы не отправляете свой DNS-сервер клиенту?
Если вы пропускаете весь трафик через свой сервер OpenVPN, вам больше не нужно беспокоиться о том, что ваш интернет-провайдер блокирует общедоступные DNS-серверы, поскольку ваш интернет-провайдер генерирует трафик только на свой VPS; если VPS не находится за тем же провайдером.
источник
Оказывается, что если вы пытаетесь подключиться не из Windows-клиента, вам нужно выполнить пару дополнительных шагов:
В линуксе
Поместите эту строку в конфигурацию вашего клиента (
client.conf
илиxxxx.ovpn
файл)Вызовите клиент OpenVPN следующим образом:
Это сработало для меня.
источник
Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: script-security
Есть еще полезные команды для настройки того, что вам нужно через командную строку. Но в моем случае вы можете управлять своим VPN-соединением как с помощью командной строки, так и с помощью графического интерфейса.
sudo nmcli connection add type vpn vpn-type openvpn con-name la.vpn.contoso.com ifname --
sudo nmcli connection modify la.vpn.contoso.com ipv4.dns 172.16.27.1 sudo nmcli connection modify la.vpn.contoso.com ipv4.dns-search int.contoso.com sudo nmcli connection modify la.vpn.contoso.com ipv4.never-default yes
И еще много интересного, последний штрих:
nmcli connection modify la.vpn.contoso.com vpn.data 'ca = /tmp/la.vpn.contoso.com/you/ca.crt, key = /tmp/you.key, dev = tun, cert = /tmp/you.crt, cert-pass-flags = 1, comp-lzo = adaptive, remote = la.vpn.contoso.com:1194, connection-type = tls'
После этого вы можете управлять vpn с помощью GUI или использовать следующие команды:
sudo nmcli --ask connection up la.vpn.contoso.com sudo nmcli connection down la.vpn.contoso.com
источник