无法在端口 53 上运行 OpenVPN(DNS 停止工作)

无法在端口 53 上运行 OpenVPN(DNS 停止工作)

因此我尝试让 OpenVPN 在端口 53 上运行 - 但遗憾的是这不起作用。

我使用 IP 表将端口 53 映射到端口 1194(标准 OpenVPN 端口)

以下是我为此所做的事情:

iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port 1194
iptables -I INPUT -p udp --dport 53 -j ACCEPT

这很管用,因为除了我尝试访问新域名时,连接都很好!DNS 根本就不起作用了。

这是我的服务器配置:

local xxx.xxx.xxx.xxx #- your_server_ip goes here
port 1194 #- port
proto udp #- protocol
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
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
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
#status 1194.log
verb 3

我将 DNS 服务器指定为 8.8.8.8(Google 的 DNS 服务器),所以我不知道为什么 DNS 不起作用!

答案1

将 NAT 规则绑定到正在监听的 IP 地址openvpn。您当前的规则是拦截通过目标端口为 53 的服务器的所有流量(在本例中,即穿越您的tun接口的流量)。始终尝试使您的规则尽可能具体;否则,就会发生类似这样的奇怪事情。

尝试这样的操作:

iptables -t nat -A PREROUTING -p udp -d xxx.xxx.xxx.xxx -i appropriate_interface --dport 53 -j REDIRECT --to-port 1194

答案2

我也遇到了这个问题,并通过刷新 iptables 解决了它:

sudo iptables -F

然后将 OpenVPN 服务器管理面板 > 网络设置中的监听端口号更改为 53,然后更新服务器按钮,这样对我来说就没有任何端口转发或 DNS 问题了,希望对您有所帮助。

相关内容