ポート53のみをVPNにリダイレクトする

ポート53のみをVPNにリダイレクトする

VPS への OpenVPN 接続を備えた 4G ルーターがあります。

すべてのインターネット トラフィックを VPS 経由で送信すると、スループット速度が低すぎて使用できなくなりますが、VPN 経由で何もルーティングしない場合は、ISP によって DNS 要求の数が制限されます。そのため、ポート 53 のみを VPN で通過させ、残りのトラフィックは 4G 接続で直接通過させたいと思います。

IPTABLES を使用してこれを行う方法があると思うのですが、見つけることができません... ご協力いただければ幸いです。ありがとうございます!

答え1

「通常の」ルーティングは宛先アドレスを介して行われます。Google DNS のみを使用することもできます。

  • IPv4: 8.8.8.8、8.8.4.4
  • IPv6: 2001:4860:4860::8888、2001:4860:4860::8844

そして、たとえば ipv4 に対して次のコマンドを発行します。

ip route add 8.8.8.8/32 via 172.16.1.1 dev tun0
ip route add 8.8.4.4/32 via 172.16.1.1 dev tun0

宛先ポートに関係なく、172.16.1.1 がトンネル ゲートウェイで、tun0 がトンネル デバイスであると仮定すると、8.8.8.8 および 8.8.4.4 へのネットワーク トラフィックは VPN 経由で送信されます。

IPv6 のルート コマンドの発行は少し複雑ですが、必要がない場合もあることに注意してください。

あるいは、ポリシー ルーティング (ip rule add) を使用して、ファイアウォール マーク (iptables の fwmark) に基づいてルーティングすることも可能です。ただし、これは設定が少し複雑で、ルーターにワークロードのオーバーヘッドが発生する可能性があります。

関連情報