ユーザ用ツール

サイト用ツール


wireguard

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
wireguard [2025/12/15 08:01] – [概要] arakiwireguard [2026/08/22 01:12] (現在) – [クライアント] araki
行 24: 行 24:
  
 パッケージがあるのでそれをインストールすればよい。 パッケージがあるのでそれをインストールすればよい。
 +パッケージにはサーバ、クライアントの別はなく、どちらであってもwireguardをインストールする。
  
 <code bash> <code bash>
行 101: 行 102:
 </code> </code>
  
 +=== 注意 ===
 +
 +サーバ側の wg0.conf を書き換えるときは、必ず適切な方法で行うこと。
 +基本的には wg は設定ファイルを読み込んで動作を開始し、終了時点で自分が持っている設定を wg0.confに書き出して終わるので、ただ単純にファイルを書き換えても反映されないし、終了時に設定がすべて消えてしまいます。
 +
 +一番確実なのは wg-quick down wg0 して、落としてから wg0.confを修正し、wg-quick up wg0することです。
 +
 +ほかにもwg setconf や wg addconf などのコマンドでも可能(なはず)ですので、ゆめゆめ wg0.conf を直接書き換えて、終わった終わったと油断しないように。((何度かそれでうまくつながらなくなってはまったらしい。))
 +
 +きちんと設定が反映されてないと、クライアントは接続は確立するものの、LAN内に到達できない状態になるので、大体ネットワークがおかしな状態になって終了となるのですぐにわかるとは思いますが、外からテストして、つながらなかったりすると、修正するためにまた帰ってこないといけなくなるやもしれないので要注意です。
  
 ==== クライアント ==== ==== クライアント ====
行 145: 行 156:
 $ sudo wg-quick down wg0 $ sudo wg-quick down wg0
 </code> </code>
 +
 +== 自動起動 ==
 +
 +NetworkManagerの機能を利用して、自宅のSSID以外のものに接続したら自動的にVPNを起動させることが可能です。
 +/etc/NetworkManager/dispatcher.d/99-wg0-autostart というスクリプトを実行権限をつけて作成します。
 +
 +<file bash 99-wg0-autostart>
 +#!/bin/bash
 +IFACE=$1
 +STATUS=$2
 +
 +case "$STATUS" in
 +  up)
 +    SSID=$(nmcli -t -f active,ssid dev wifi|grep '^yes'|cut -d: -f2)
 +    case "$SSID" in
 +      myhomewifi*)
 +        # no need to start VPN
 +        wg-quick down wg0
 +        ;;
 +      *)
 +        wg-quick up wg0
 +        ;;
 +    esac
 +    ;;
 +  down)
 +    wg-quick down wg0
 +    ;;
 +esac
 +</file>
 +
 +自宅のアクセスポイントが myhomewifi* であると仮定しています。
 +ここを実際の自宅のWiFiのSSIDに置き換えれば機能します。
  
 === Windows === === Windows ===
行 154: 行 197:
  
 クライアントを[[https://play.google.com/store/apps/details?id=com.wireguard.android|Google Play]]からダウンロードしてインストールします。 クライアントを[[https://play.google.com/store/apps/details?id=com.wireguard.android|Google Play]]からダウンロードしてインストールします。
 +
 +設定ファイルを、wg をインストールしてある任意の端末で生成して、qrencode コマンドを使って、QRコードに変換し、Android上の wgで読み込ませるのが簡単だろう。
 +
 +<code bash>
 +$ qrencode -t ansiutf8 < client.conf
 +</code>
  
 ==== メモ ==== ==== メモ ====
wireguard.1765785712.txt.gz · 最終更新: by araki