web-dev-qa-db-ja.com

ポート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が機能しない理由がわかりません。

NATルールをopenvpnがリッスンしているIPアドレスにバインドします。現在のルールは、宛先ポートが53のサーバーを通過するすべてのトラフィック(この場合はトラフィック)をインターセプトしています。 tunインターフェースをトラバースします)。常にルールをできるだけ具体的にするようにしてください。そうしないと、このような奇妙なことが起こります。

次のようなものを試してください。

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

5
Andrew B

私もこの問題に直面し、iptablesをフラッシュすることで解決しました:

Sudo iptables -F

次に、OpenVPNサーバー管理パネル>ネットワーク設定でリスニングポート番号を53に変更し、サーバーボタンを更新します。ポート転送やDNSの問題が発生することなく機能します。お役に立てば幸いです。

0
Eslam Hamouda