wireguard
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| wireguard [2025/12/11 06:28] – 作成 araki | wireguard [2025/12/12 01:05] (現在) – [サーバ] araki | ||
|---|---|---|---|
| 行 39: | 行 39: | ||
| 別にどこに保存してもいいですが、ばらけるとめんどくさいのでとりあえず/ | 別にどこに保存してもいいですが、ばらけるとめんどくさいのでとりあえず/ | ||
| 一応中身を見られないように600にしておきます。 | 一応中身を見られないように600にしておきます。 | ||
| + | |||
| + | VPNから別のネットワークにアクセスするにはIPフォワーディングを有効化する必要があります。 | ||
| + | / | ||
| + | |||
| + | <code ini> | ||
| + | # Uncomment the next line to enable packet forwarding for IPv4 | ||
| + | net.ipv4.ip_forward=1 | ||
| + | </ | ||
| + | |||
| + | 即座に有効化するには以下のコマンドを発行します。 | ||
| + | |||
| + | <code bash> | ||
| + | $ sudo sysctl -p | ||
| + | </ | ||
| + | |||
| 次に、設定ファイルを作りますが、これはVPNのインターフェイスごとに作ります。 | 次に、設定ファイルを作りますが、これはVPNのインターフェイスごとに作ります。 | ||
| 行 44: | 行 59: | ||
| これも600で作成します。 | これも600で作成します。 | ||
| - | < | + | < |
| [Interface] | [Interface] | ||
| Address = 192.168.10.1/ | Address = 192.168.10.1/ | ||
| 行 71: | 行 86: | ||
| Peerは接続してくるクライアントごとに持たせることができる。 | Peerは接続してくるクライアントごとに持たせることができる。 | ||
| - | DHCP機能はないので、IPはここで設定されたものが渡される。 | + | DHCP機能はないので、IPはここで設定されたものが渡される。((とはいえ、DHCPで新しいデバイスをばかばかつなぐような性質のものではないので、これでいいと思われる。DHCPでアドレスを静的割り当てする設定と大差ないので実用上問題はないと思う。)) |
| クライアント側で生成されたPublicKeyに従って割り当てが行われる。 | クライアント側で生成されたPublicKeyに従って割り当てが行われる。 | ||
| + | -o eth0 の部分は実際に動かすサーバのネットワークインターフェイスと置き換える必要がある。 | ||
| 外部に対して、192.168.1.2: | 外部に対して、192.168.1.2: | ||
| 行 78: | 行 94: | ||
| <code bash> | <code bash> | ||
| $ sudo systemctl enable wg-quick@wg0 | $ sudo systemctl enable wg-quick@wg0 | ||
| - | $ sudu systemctl start wg-quick@wg0 | + | $ sudo systemctl start wg-quick@wg0 |
| </ | </ | ||
| ==== クライアント ==== | ==== クライアント ==== | ||
| + | |||
| + | === Linux (Ubuntu) === | ||
| + | |||
| + | サーバと同じく wireguard パッケージをインストールする。 | ||
| + | |||
| + | <code bash> | ||
| + | $ sudo apt install -y wireguard | ||
| + | </ | ||
| + | |||
| + | 設定も鍵を作って、/ | ||
| + | |||
| + | <code bash> | ||
| + | $ sudo wg genkey | sudo tee / | ||
| + | $ sudo cat / | ||
| + | $ sudo chmod 600 / | ||
| + | </ | ||
| + | |||
| + | <file ini wg0.conf> | ||
| + | [Interface] | ||
| + | PrivateKey = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy= | ||
| + | Address = 192.168.10.2/ | ||
| + | DNS = 192.168.1.1 | ||
| + | |||
| + | [Peer] | ||
| + | PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | ||
| + | EndPoint = vpn.example.com: | ||
| + | AllowedIPs = 192.168.10.0/ | ||
| + | </ | ||
| + | |||
| + | 上の例では、LAN内へのトラフィックだけをVPNへ流すようにしていますが、AllowedIPs = 0.0.0.0/0 とすればすべてのトラフィックをVPN経由とします。 | ||
| + | |||
| + | デスクトップ版を使っている場合はタスクバーに統合されているウィジェットから起動することもできますが、手動で起動する場合には、コマンドラインから以下のようにします。 | ||
| + | |||
| + | <code bash> | ||
| + | $ sudo wg-quick up wg0 | ||
| + | </ | ||
| + | |||
| + | 停止は次のようになります。 | ||
| + | |||
| + | <code bash> | ||
| + | $ sudo wg-quick down wg0 | ||
| + | </ | ||
| + | |||
| + | === Windows === | ||
| + | |||
| + | クライアントを[[https:// | ||
| + | |||
| + | |||
| + | === Android === | ||
| + | |||
| + | クライアントを[[https:// | ||
| + | |||
| + | ==== メモ ==== | ||
| + | |||
| + | === 鍵の転送 === | ||
| + | |||
| + | 設定ファイルには、鍵を書込む必要があるが、当然鍵をネットワーク越しに渡すのは注意が必要である。 | ||
| + | 秘密鍵は外部に出さないように注意すること。 | ||
| + | 公開鍵だけがわかったところで簡単にはクラックされないが両方そろうとそれは問題である。 | ||
| + | |||
wireguard.1765434509.txt.gz · 最終更新: by araki
