Openbsd

Openbsd 線衛到線衛

  • April 18, 2022

我建立了一個伺服器(vps),它扮演我的網關角色。我的整個個人網路都通過wireguard 連接在後面。每個想法都很好,我或多或少地遵循https://openbsdrouterguide.net和 pf 文件。

我現在的問題是:我希望我的網關使用wireguard通過protonvpn與網際網路(我的個人網路除外)通信。我在其上建構了一個新的 wg 界面,帶有質子配置,它顯然執行良好。但我不知道如何在外出之前通過質子介面(wg1)將我的私人區域網路(wg0)的傳出流量(到網際網路)傳遞。

是路由問題還是 pf 規則的東西?

如果您能給我一些提示,請提前致謝。

首先,您需要確保wg1是 VPS 上的出口介面(即,所有到網際網路的流量都將在該介面上流出。這可以通過將遠端端設置wg1為預設網關來實現,使用route。如果 VPS 有其他介面(和網關),您可能想要更改wg1的優先級。 route也將有助於確保一切按預期工作:route -n show檢查路由表並route -n get <some_external_ip_address>檢查數據包將通過哪些介面離開機器。

然後,您需要使用 PF將傳入流量(即從wg0) NAT 到wg1

vps = <ip_addresses of the vps>
my_lan = <ip addresses of the LAN, or its network range>

pass in on wg0 from $my_lan to !$vps
pass out on wg1 from $my_lan nat-to wg1

on /etc/pf.conf(請不要盲目複製粘貼,並根據您的情況進行調整)。

我實際上會分別嘗試每個步驟:首先簡單地嘗試設置 NAT 並查看 VPS 是否充當網關,而不使用 ProtonVPN。然後禁用NAT,將ProtonVPN設為預設網關,查看VPS是否預設通過它訪問網際網路。然後最後把這兩件事聯繫在一起。

另外,請注意,在遠端機器上更改路由表和 PF 規則是一種將自己鎖定在外的久經考驗的方法。我們都去過那裡。控制台訪問是可取的。

引用自:https://unix.stackexchange.com/questions/699406