據我所知,我的所有部分(即 DNSmasq 和 OpenVPN)雖然獨立,但工作正常。我做了什麼?
- 使用以下命令安裝 OpenVPN:https://github.com/Nyr/openvpn-install
- 安裝後,我可以連接客戶端(PC、手機),工作正常。沒有任何問題。
- 我已經安裝了 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 請求。我似乎無法找到關於如何實現這一目標、要更改哪些文件以及要添加哪些內容的明確答案。
我是否缺少任何步驟?
編輯:使用上面的conf,當我 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 中啟用,並且 anetstat -plunt
指示端口 53 已啟動並正在運行,由 dnsmasq 監聽。
答案1
好的,已經解決了。需要打開防火牆。
ufw allow out on tun0
ufw allow in on tun0