Итак, насколько я понимаю, у меня все части, а именно DNSmasq и OpenVPN, работают нормально, хотя и независимо. Что я сделал?
- Установил OpenVPN с помощью этого:https://github.com/Nyr/openvpn-install
- После установки могу подключить клиент (ПК, телефон), работает. Никаких проблем.
- Я установил DNSmasq, и он тоже, похоже, работает так, как и ожидалось.
- Я заблокировал один или два сайта, т.е. указал их
0.0.0.0
в/etc/hosts
файле, и когда я это делаюnslookup thatdomain.com
, я получаю0.0.0.0
ответ
- Я заблокировал один или два сайта, т.е. указал их
В настоящее время это мой/etc/openvpn/server/server.conf
local 134.122.60.252
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 10.8.0.1"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
explicit-exit-notify
duplicate-cn
И единственное изменение, которое я внес в /etc/dnsmasq.conf
файл по умолчанию, — это раскомментирование и указание интерфейса в этой строке:
interface=tun0
Где мне нужна помощь?
Как заставить OpenVPN использовать DNSmasq длявсеDNS-запросы. Я просто не могу найти точного ответа, как этого добиться, какие файлы менять и что добавлять.
Я пропустил какие-то шаги?
Редактировать: С помощью приведенной выше конфигурации, когда я подключаюсь по ssh к серверу OpenVPN (dnsmasq также работает на том же сервере), и я делаю
nslookup google.com 10.8.0.1
, он разрешится правильно
Когда я nslookup blockthis.com 10.8.0.1
это делаю, все решается правильно 0.0.0.0
, как и ожидалось, как описано в /etc/hosts
файле.
Проблема в том, что когда я подключаюсь с клиента к OpenVPN, OpenVPN каким-то образом не передает разрешение DNS в DNSmasq, хотя линия interface=tun0
включена в DNSmasq, а a netstat -plunt
указывает на то, что порт 53 включен и работает, прослушивается DNSmasq.
решение1
Ладно, решил. Нужно открыть брандмауэр.
ufw allow out on tun0
ufw allow in on tun0