
WireGuard 使用時のメモです。自分で調べたりAIエージェントに聞いたりしながら書きました。間違えあればご指摘いただけると嬉しいです。インストールはこちらから。
公式によると、WireGuardとは「最先端の暗号技術を活用した極めてシンプルでありながら高速で現代的なVPN」とのこと。仕事先の開発用サーバに自宅からアクセスする時なんかに、VPNゲートウェイの役割をしてくれるっぽいです。
[自宅PC] [WireGuardクライアント]⇄(インターネットの砂漠)⇄ [WireGuardサーバ] [どこかの会社ネットワークにある開発用マシン(だいたいUbuntu)]
サーバ側
こっちは自分でやってないので概要だけ。いずれ追記するかも。
参考記事のみなさま。
クライアント側
忘れた頃に使うことになるので記事にしました。ちなみに私はMacOSです。
まずはWireGuardのクライアントアプリをインストールします。なぜか私の環境ではWireGuard.appをダブルクリックしても起動しなくて、コンテンツ内表示からの実行ファイル起動で開けました。
次にクライアント用の設定ファイルを用意してアプリで読み込みます。設定ファイルは以下の感じ。実際に設定する値はサーバ側を立ち上げた人が決めると思われ。
[Interface]
Address = [クライアント側のVPN用IPアドレス]
PrivateKey = [クライアント側で生成した秘密鍵]
DNS = [VPN内で名前解決に使いたいDNSサーバのIPアドレス]
[Peer]
PublicKey = [サーバ側で生成した公開鍵]
AllowedIPs = [VPN経由にするIPアドレスの範囲。全トラフィックを対象にする場合は0.0.0.0/0]
PersistentKeepalive = [一定間隔で ping 的な信号を送る間隔(秒)。NAT超え(参考)を維持するのに必要らしい。公式で推奨されているのは25秒。]
Endpoint = [サーバ側のグローバルIPと待ち受けポート(デフォルトは51820)]
設定ファイルを読み込んだら「有効化」ボタンを押下、アプリUI上に「受信したデータ」が表示されたら接続できています。その後はssh接続で開発用サーバに入って云々。
ちなみにここでターミナルを開くと、普段は「myname@MacBookPro ~ %」とか表示されているのが「myname@[WGアプリ上のインターフェース名] ~ %」になっています。これはMacのホスト名がVPNサーバ側で設定された内部名に置き換わっているからみたいです。有効化の前後でhostnameコマンド実行しても確認できます。
参考記事のみなさま。
以上、備忘録でした。ネットワーク周りは苦手意識がある。