WireGuardを展開できる別の通常のVPN構成は、インターネット上で2つの異なるネットワークを接続することです。ここに簡略化された図があります:
┌┌。-七面にあるトンネル──#七張トンネル──~……┐10.10.9.0/31SITE│EXTXX XXext││ベータサイト│├。。‑ ‑ ┬− 10.10.10.11 xx x│10.10.11.1...┐...│...│xxxxxxx││││││┌┌。‑そして··果
ここでの目標は、ネットワークをシームレスに統合することですアルファネットワーク付きベータ、Alphaサイトのシステムがベータサイトのシステムに透過的にアクセスできるように、その逆も同様です。
このようなセットアップには、いくつかの特別な詳細があります。
- 両方のピアは常に稼働している可能性があります。
- コーヒーショップのシナリオのラップトップのように、片側が常にイニシエーターになるとは思いません。
- 上記のため、両方のピアには、固定IPアドレスや有効なドメイン名などの静的エンドポイントが必要です。
- 各側のすべてのシステムにVPN IPSを割り当てていないため、ここのVPNネットワークは非常に小さくなります(
/31
、2つのipsを可能にし、ルーティングにのみ使用します。VPNネットワークにIPを持つ唯一のシステムは、ゲートウェイ自体です。 - WireGuardネットワークを介してトラフィックに適用されるNATはありません。したがって、両方のサイトのネットワークしなければならない違って、重複しないでください。
これは、ベータネットワーク内のシステムからアルファシステムへのMTR(私のTraceroute)のレポートが次のように見えるものです。
ubuntu@b1:〜$ mtr -n -r 10.10.10.230Start:2022-09-02T18:56:51+0000HOST:B1 loss%snt last avg best wrst stdev 1. | - 10.10.11.1 0.0%10 0.1 0.10.1 0.2 0.0 2. | - 10.10.9.0 0.0%10 299.6 299.3 298.3 300.0 0.6 3. | - 10.10.10.230 0.0%10 299.1 299.1 298.0 300.2 0.6
注記:
技術的には、a/31
クラスレスインタードメインルーティング(CIDR)ネットワークには、最初のものはネットワークアドレスであり、2番目(および最後の)がブロードキャストアドレスであるため、使用可能なIPアドレスはありません。RFC 3021それを許可しますが、ルーティングやその他のネットワーキングの問題に遭遇した場合は、/30
CIDRとその2つの有効なホストIP。
WireGuardを構成します
各サイトのゲートウェイであるシステム(インターネット接続がある)では、WireGuardをインストールしてキーを生成することから始めます。のためにアルファサイト:
$ sudo apt install wireguard $ wg genkey |sudo tee /etc/wireguard/wga.key$ sudo cat /etc/wireguard/wga.key |wg pubkey |sudo tee /etc/wireguard/wga.pub
そして、アルファの構成は次のとおりです。
[インターフェイス] Postup = WG Set%I Private-Key /etc/wireguard/%i.keyaddress = 10.10.9.0/31Listenport = 51000 [Peer]10.10.11.0/24,10.10.9.0/31Endpoint = :51000
のゲートウェイでベータサイトも同様の措置を講じます。
$ sudo apt install wireguard $ wg genkey |sudo tee /etc/wireguard/wgb.key$ sudo cat /etc/wireguard/wgb.key |wg pubkey |sudo tee /etc/wireguard/wgb.pub
ベータの対応する構成ファイルを作成します。
[インターフェイス]アドレス= 10.10.9.1/31Postup = wg set%i private-key/etc/wireguard/%kelistenport = 51000 [Peer]10.10.10.0/24,10.10.9.0/31Endpoint = :51000
重要:
WireGuardは、これら2つのネットワークのゲートウェイにセットアップされています。そのため、各ネットワークの個々のホストに必要な変更は必要ありませんが、ワイヤガードのトンネルと暗号化が発生していることに留意してください。アルファそしてベータゲートウェイ、そしてない各ネットワークのホスト間。
インターフェイスを上げます
このVPNは静的サイト間で永続的であるため、SystemDユニットファイルを使用するのが最善ですwg-quick
インターフェイスを上げて、一般的に制御するため。特に、再起動イベントで自動的に育てられることを望んでいます。
の上アルファ:
$ sudo systemctl enable - now wg-quick@wga
そして同様にベータ:
$ sudo systemctl enable - now wg-quick@wgb
これにより、再起動時にインターフェイスが可能になり、すぐに起動します。
ファイアウォールとルーティング
両方のゲートウェイには、おそらくすでにいくつかのルーティングとファイアウォールのルールがあります。これらは、セットアップ方法に応じて変更が必要になる場合があります。
各ネットワークの個々のホストは、リモートアルファまたはベータネットワークに関する変更は必要ありません。これは、そのトラフィックをデフォルトゲートウェイに(他の非ローカルトラフィックとして)送信するだけで、それをルーティングしますwg-quick
追加した。
これまで行った構成では、制限がなかったため、両方のサイト間のトラフィックが障害なしに流れます。
一般的に、行う必要があるかチェックする必要があるのは次のとおりです。
両方のゲートウェイが指定されたエンドポイントアドレスとUDPポートで互いに連絡できることを確認してください。この例の場合、それはポートです
51000
。追加のセキュリティのために、インターネット全体ではなく、各ピアがこのポートに連絡できるようにするファイアウォールルールを作成します。内部ネットワークから来て、他のサイトに向かってワイヤーガードインターフェイスを介して出て行くトラフィックを誇張したり、NATしたりしないでください。これは純粋にルーティングされたトラフィックです。
ゲートウェイに必要なルーティングの変更は必要ないはずです。
wg-quick
リモートサイトのルートを追加するのに役立ちますが、ルーティングテーブルを確認して、それが理にかなっているかどうかを確認してください。ipルート
そしてIPルート|grep wg
良いスタートです)。アルファネットワークとベータネットワーク間のトラフィックを制限する必要がある場合は、新しいファイアウォールルールを作成する必要がある場合があります。
たとえば、サイト間のSSHを防ぐ場合は、このようなファイアウォールルールを追加できます。アルファ:
$ sudo iptables -a forward -i wga -p tcp - dport22 -j拒否
そして同様にベータ:
$ sudo iptables -a forward -i wgb -p tcp - dport22 -j拒否
これらを追加できます
アプローチ
ワイヤガードインターフェイス構成のアクション。対応するものでそれらを削除することを忘れないでくださいプレハ
フック、またはあなたは複数のルールになってしまいます。
以前のピアツーサイト(内部デバイス) 次のデフォルトゲートウェイ
このページは5日前に最後に変更されました。フォーラムでこの文書を改善するのに役立ちます。