ユーザ用ツール

サイト用ツール


wireguard

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
wireguard [2025/12/11 07:03] – [クライアント] arakiwireguard [2025/12/17 01:01] (現在) – [クライアント] araki
行 9: 行 9:
 クライアントとして、Windows, Android, iOSなどもサポートされている。 クライアントとして、Windows, Android, iOSなどもサポートされている。
  
 +nanoKVMは、Tailscaleに対応しており、独自にVPNを用意せずとも、外部からアクセス可能だが、正直、とても遅い。
 +また頻繁に切断される。
 +何か、問題があった時用のラインだと思って納得していたが、WireGuardでVPNを構築した場合、外部からWindows11のデスクトップにアクセスしても十分に使えるレベルでありしかも安定している。
 +WireGuardは非常に強力なリモートアクセスツールとして利用可能である。
 ===== 設定 ===== ===== 設定 =====
  
行 20: 行 24:
  
 パッケージがあるのでそれをインストールすればよい。 パッケージがあるのでそれをインストールすればよい。
 +パッケージにはサーバ、クライアントの別はなく、どちらであってもwireguardをインストールする。
  
 <code bash> <code bash>
行 39: 行 44:
 別にどこに保存してもいいですが、ばらけるとめんどくさいのでとりあえず/etc/wireguard に置きます。 別にどこに保存してもいいですが、ばらけるとめんどくさいのでとりあえず/etc/wireguard に置きます。
 一応中身を見られないように600にしておきます。 一応中身を見られないように600にしておきます。
 +
 +VPNから別のネットワークにアクセスするにはIPフォワーディングを有効化する必要があります。
 +/etc/sysctl.conf の中にある net.ipv4.ip_forward=1の行のコメントマークを削除しておきます。
 +
 +<code ini>
 +# Uncomment the next line to enable packet forwarding for IPv4
 +net.ipv4.ip_forward=1
 +</code>
 +
 +即座に有効化するには以下のコマンドを発行します。
 +
 +<code bash>
 +$ sudo sysctl -p
 +</code>
 +
  
 次に、設定ファイルを作りますが、これはVPNのインターフェイスごとに作ります。 次に、設定ファイルを作りますが、これはVPNのインターフェイスごとに作ります。
行 71: 行 91:
  
 Peerは接続してくるクライアントごとに持たせることができる。 Peerは接続してくるクライアントごとに持たせることができる。
-DHCP機能はないので、IPはここで設定されたものが渡される。+DHCP機能はないので、IPはここで設定されたものが渡される。((とはいえ、DHCPで新しいデバイスをばかばかつなぐような性質のものではないので、これでいいと思われる。DHCPでアドレスを静的割り当てする設定と大差ないので実用上問題はないと思う。))
 クライアント側で生成されたPublicKeyに従って割り当てが行われる。 クライアント側で生成されたPublicKeyに従って割り当てが行われる。
 +-o eth0 の部分は実際に動かすサーバのネットワークインターフェイスと置き換える必要がある。
  
 外部に対して、192.168.1.2:51800/UDP を公開して、サービスを起動すればVPN接続を待ち受ける。 外部に対して、192.168.1.2:51800/UDP を公開して、サービスを起動すればVPN接続を待ち受ける。
行 125: 行 146:
 $ 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 up wg0
 +        ;;
 +    esac
 +    ;;
 +  down)
 +    wg-quick down wg0
 +    ;;
 +esac
 +</file>
 +
 +自宅のアクセスポイントが myhomewifi* であると仮定しています。
 +ここを実際の自宅のWiFiのSSIDに置き換えれば機能します。
  
 === Windows === === Windows ===
wireguard.1765436624.txt.gz · 最終更新: by araki