8.2. WireGuard がトンネル IP アドレス、公開鍵、およびリモートエンドポイントを使用する方法

WireGuard がピアにネットワークパケットを送信する場合は、次のコマンドを実行します。

  1. WireGuard は、パケットから宛先 IP を読み込み、ローカル設定で許可されている IP アドレスのリストと比較します。ピアが見つからない場合、WireGuard はパケットを破棄します。
  2. ピアが有効な場合、WireGuard は、ピアの公開鍵を使用してパケットを暗号化します。
  3. 送信側ホストは、ホストの最新のインターネット IP アドレスを検索し、暗号化したパケットを送信します。

WireGuard がパケットを受信すると、以下が行われます。

  1. WireGuard は、リモートホストの秘密鍵を使用してパケットを復号します。
  2. WireGuard は、パケットから内部ソースアドレスを読み込み、ローカルホストのピア設定で許可されている IP アドレスのリストに IP が設定されているかどうかを調べます。ソース IP が許可リストにある場合、WireGuard はパケットを受け入れます。IP アドレスがリストにない場合は、WireGuard がパケットを破棄します。

公開鍵と許可された IP アドレスの関連付けは、Cryptokey Routing Table と呼ばれます。つまり、IP アドレスのリストは、パケットの送信時にはルーティングテーブルと同様に動作し、パケットの受信時にはアクセス制御リストのように動作します。