ゲートウェイとして機能するサーバー(vps)を設定しました。私のプライベートネットワーク全体がワイヤガードを介して背面に接続されています。すべてのアイデアは効果があり、私はある程度従っています。https://openbsdrouterguide.netそしてpf文書。
今私の問題は、私のゲートウェイがwireguardを使ってprotonvpnを介してインターネット(プライベートネットワークに加えて)と通信したいということです。私はproton設定を使って新しいwgインターフェイスを構築しましたが、明らかにうまくいきます。しかし、出る前に私のプライベートLAN(wg0)の発信トラフィック(インターネットへ)をプロトンインターフェイス(wg1)を介して転送する方法がわかりません。
ルーティングの問題ですか、それともpfルールの問題ですか?
いくつかのヒントを教えてくれたら、よろしくお願いします。
答え1
wg1
まず、VPSの送信インターフェイス(つまり、インターネットへのすべてのトラフィックがこのインターフェイスに出る)を確認する必要があります。これは、VPSに異なるインターフェイスがある場合は、wg1
リモート側をデフォルトゲートウェイとして設定を使用して達成できます。route
およびゲートウェイ)、変更可能なwg1
優先順位は route
、すべてが期待どおりに機能していることを確認するのに役立ちます。route -n show
ルーティングテーブルを確認し、route -n get <some_external_ip_address>
パケットがコンピュータを通過するインターフェイスを確認します。
次に、PFを使用して、次の方法を使用して着信トラフィックをwg0
(つまりfrom)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
開いてください/etc/pf.conf
(無作為にコピーして貼り付けないで状況に合わせて調整してください)。
実際に各ステップを個別に試してみましょう。まず、NATingを設定し、ProtonVPNを使用せずにVPSがゲートウェイとして機能することを確認します。その後、NATを無効にしてProtonVPNをデフォルトゲートウェイに設定し、VPSがデフォルトでそれを介してインターネットにアクセスしていることを確認します。そして最後に、これら2つを1つにまとめます。
また、リモートシステムでルーティングテーブルとPFルールを変更することは、自分自身をロックする試みられテストされた方法であることに注意してください。私たち全員がそこに行ったことがあります。コンソールアクセス権を持つことをお勧めします。
答え2
本当にありがとうございます。これは役に立ちます。行く道がわからない!より多くのマニュアルページを読んでください。 o「安全な」構成かどうかはわかりませんが、うまくいきます!他の人に役立つ場合は、いくつかの手順を提供します。 vpsサーバーに2つのwgインターフェイスをインストールした後:
デフォルトパスをwg1(protonvpn)インターフェイスのIPに変更します。発信するすべてのトラフィックはwg1を通過します。
ターゲット protonvpn エンドポイント (wg1 でエンドポイントとしてデプロイしたエンドポイント) と、元の ISP プロバイダーゲートウェイのゲートウェイを含むパスを追加します。これにより、protonvpnエンドポイントをインターネット接続インターフェイスに追加できます。
ターゲット、プライベートLANのコンピュータの外部IP、およびISPプロバイダのゲートウェイを含むルートを追加します。実際、私のプライベートLANであるwg0はprotonvpnを介して通信してはいけません。そうでなければ、通信が私のvps IPに到達し、protonvpnを介して出るので、すべてがめちゃくちゃになります...このステップは私にとって効果的でした。必要です。他のオプションがありますか?流動IPのために詰まったんですよ。 wgの場合は、接続を維持するオプションを使用してください。しかし、ルーティングテーブルの場合はスクリプトを作成する必要がありますか? pf rdr-toを使用する必要がありますか?
pfに翻訳ルールを追加します(同時にwg0とwg1の両方で受信されます)。
- wg0:network to any nat-to $ext # これにより、プライベート LAN との通信が可能になり、$ext はインターネットに接続するインターフェースです。
- $ext の wg1:network から nat-to $ext に渡す
- $wg1 の wg0:network から nat-to $ext に転送 # プライベート LAN から Proton VPN への nat トラフィック
3番アイテムについて考えていますか?