僅將連接埠 53 重定向到 VPN

僅將連接埠 53 重定向到 VPN

我有一個 4G 路由器,透過 OpenVPN 連接到 VPS。

當我透過 VPS 發送所有網路流量時,吞吐量速度太低而無法使用,但當我不透過 VPN 路由任何內容時,我的 ISP 會限制 DNS 請求的數量。所以我想透過VPN僅傳遞連接埠53,其餘流量透過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

無論目標連接埠如何,到 8.8.8.8 和 8.8.4.4 的網路流量都將透過您的 VPN 發送(假設 172.16.1.1 是您的隧道網關,並且 tun0 是您的隧道設備)。

請注意,為 ipv6 發出路由命令有點棘手,但您可能不需要這樣做。

或者,可以使用策略路由(ip 規則新增)基於防火牆標記(iptables 中的 fwmark)進行路由。但這設定起來有點複雜,並且可能會為您的路由器帶來工作負載開銷。

相關內容