使用 Dnsmasq 在 OpenVPN 上实现内部域

使用 Dnsmasq 在 OpenVPN 上实现内部域

我正在尝试让 dnsmaq 和 OpenVPN 在 DigitalOcean 上协同工作。我想创建一个 VPN,将以 *.local 结尾的请求转发到 droplet,其他请求则由 Google DNS 解析。

这是我的/etc/dnsmasq.conf

address=/.local/10.8.0.1
resolv-file=/etc/resolv.dnsmasq
listen-address=127.0.0.1
listen-address=10.8.0.1
bind-interfaces
server=8.8.8.8
server=8.8.4.4

这是我的/etc/openvpn/server.conf

dev tun
proto udp
port 1194
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"
push "dhcp-option DNS 10.8.0.1"
push "redirect-gateway def1 bypass-dhcp"
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

此刻我已连接到 VPN,并且一切正常。除了以 *.local 结尾的网站(出现 ERR_NAME_NOT_RESOLVED),我可以打开所有网站。

编辑:

这是我的/etc/resolv.conf文件:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 2001:4860:4860::8844
nameserver 2001:4860:4860::8888
nameserver 8.8.8.8

安装 dnsmasq 后就可以了nameserver 127.0.0.1,但每次我重新启动服务器时它都会返回到上面的状态。

答案1

经过一番搜索,我发现我没有在防火墙上打开 DNS 服务器端口。这就是问题所在。

相关内容