ラベル WireGuard の投稿を表示しています。 すべての投稿を表示
ラベル WireGuard の投稿を表示しています。 すべての投稿を表示
2022年4月9日土曜日

WireGuardの接続・切断のログをファイルに出力させる手順

WireGuardはOSSのVPNソフトウェアであり、ソースコードが4,000行程度と非常にコンパクトで、Linuxのカーネルモジュールとして動作するという特徴がある。

WireGuardにてVPN環境を構築する手順については、以下別記事で記載している。

WireGuardはVPN接続した際に、wgコマンドで接続状態を確認することができる。例えば、以下実行例ではpeer: YYYYYYYYの接続対象は、1時間36分前に接続があったことを確認できる (★箇所)。

# wg
interface: wg0
  public key: XXXXXXXX
  private key: (hidden)
  listening port: 51820

peer: YYYYYYYY
  endpoint: 12.34.56.78:52852
  allowed ips: 10.0.1.21/32
  latest handshake: 1 hours, 36 minutes, 38 seconds ago ★
  transfer: 150.96 KiB received, 903.67 KiB sent

しかし、WireGuardは接続・切断のログはファイルに出力されないため、アクセスログが残らないことからセキュリティ上問題となる場合がある。

そこで今回は、WireGuardの接続・切断のログをファイルに出力させる手順を記載する。

環境

今回はRHELクローンであるAlmaLinuxにて構築を行ったが、CentOSや本家RHELでも同様の手順で構築できるだろう。

  • OS : AlmaLinux release 8.5 (Arctic Sphynx)

WireGuardログ出力手順

1. kernelのDynamic debugを有効にする

WireGuardは設定ファイルなどではログを出力させることはできず、kernelのDynamic debugと呼ばれるデバッグログの出力機能を用いることによって、ログの出力が可能となる。

なお、Secure Bootが有効となっている場合は、本設定は「Operation not permitted」のエラーで失敗するため、Secure Bootを解除する必要がある。

Dynamic debugによるログの有効化・無効化は以下コマンドで実施できる。有効化されているかどうかは、/sys/kernel/debug/dynamic_debug/controlgrepし、=pという文字列が含まれているかどうかで確認できる (無効化されている場合は、=_という文字列になる)。

有効化

# echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control
# cat /sys/kernel/debug/dynamic_debug/control | grep -e 'wireguard.*=p'
/home/phil/rpmbuild/BUILD/wireguard-linux-compat-1.0.20211208/src/noise.c:818 [wireguard]wg_noise_handshake_begin_session =p "%s: Keypair %llu created for peer %llu\012"
/home/phil/rpmbuild/BUILD/wireguard-linux-compat-1.0.20211208/src/noise.c:125 [wireguard]keypair_free_kref =p "%s: Keypair %llu destroyed for peer %llu\012"
/home/phil/rpmbuild/BUILD/wireguard-linux-compat-1.0.20211208/src/device.c:420 [wireguard]wg_netns_pre_exit =p "%s: Creating namespace exiting\012"
~(以下略)~

無効化

# echo module wireguard -p > /sys/kernel/debug/dynamic_debug/control
# cat /sys/kernel/debug/dynamic_debug/control | grep -e 'wireguard.*=p'
★無効化されている場合は何も表示されない。

公式サイトではmodprobe wireguardを実行しエラーがない場合は、Dynamic debugによるログの有効化を行う手順になっている。本記事では、公式サイトのコマンドを採用する。

# modprobe wireguard && echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

2. 再起動時にDynamic debugを有効にする

Dynamic debugは一時的な設定であり、再起動すると設定は無効化される。そこで、cronを使ってOS起動時にDynamic debugを有効にするコマンドを実行するよう設定する。modprobeコマンドは絶対パスで記載する点に注意しよう。

# crontab -l
@reboot /usr/sbin/modprobe wireguard && echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

設定後は一度OSを再起動して問題なく実行されることを確認しておこう。

# reboot
# tail -10 /var/log/cron
~(中略)~
Apr  1 06:51:04 t3036vpns CROND[1132]: (root) CMD (/usr/sbin/modprobe wireguard && echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control)

3. rsyslogにて/var/log/messagesに出力させる

これでWireGuard接続時にログは出力されるようになり、journalctlではi以下のように接続ログが表示されるようになる。

# journalctl -n 10 --no-pager
~(中略)~
 4月 01 06:02:06 t3036vpns kernel: wireguard: wg0: Receiving handshake initiation from peer 1 (12.34.56.78:59755)
 4月 01 06:02:06 t3036vpns kernel: wireguard: wg0: Sending handshake response to peer 1 (12.34.56.78:59755)
 4月 01 06:02:06 t3036vpns kernel: wireguard: wg0: Keypair 4 created for peer 1
 4月 01 06:02:17 t3036vpns kernel: wireguard: wg0: Sending keepalive packet to peer 1 (12.34.56.78:59755)

しかし、このままでは/var/log/messagesには出力されないため、rsyslogの/var/log/messagesの設定にkern.debugを追加する。

# vi /etc/rsyslog.conf
~(中略)~
*.info;mail.none;authpriv.none;cron.none;kern.debug     /var/log/messages
~(以下略)~

# systemctl restart rsyslog

4. 動作確認

最後に、実際にWireGuardで接続・切断した際のログ出力を確認しておこう。

まずは接続時のログは以下となる。Receiving handshake initiationのメッセージにてWireGuardの接続が開始されたことを確認できる。

# tail -f /var/log/messages
~(中略)~
Apr  1 08:03:35 t3036vpns kernel: wireguard: wg0: Receiving handshake initiation from peer 1 (12.34.56.78:59511)
Apr  1 08:03:35 t3036vpns kernel: wireguard: wg0: Sending handshake response to peer 1 (12.34.56.78:59511)
Apr  1 08:03:35 t3036vpns kernel: wireguard: wg0: Keypair 2 created for peer 1
Apr  1 08:03:47 t3036vpns kernel: wireguard: wg0: Sending keepalive packet to peer 1 (12.34.56.78:59511)

切断時のログは以下となる。WireGuardは、接続対象から応答がなくなってから20回接続確認を行い、すべて失敗したらあきらめて (did not complete after 20 attempts, giving up) 切断するようだ。最終的なWireGuardの切断は、Zeroing out all keysのメッセージにて確認できる。

# tail -f /var/log/messages
~(中略)~
Apr  1 08:08:13 t3036vpns kernel: wireguard: wg0: Handshake for peer 1 (12.34.56.78:59511) did not complete after 5 seconds, retrying (try 19)
Apr  1 08:08:13 t3036vpns kernel: wireguard: wg0: Sending handshake initiation to peer 1 (12.34.56.78:59511)
Apr  1 08:08:19 t3036vpns kernel: wireguard: wg0: Handshake for peer 1 (12.34.56.78:59511) did not complete after 5 seconds, retrying (try 20)
Apr  1 08:08:19 t3036vpns kernel: wireguard: wg0: Sending handshake initiation to peer 1 (12.34.56.78:59511)
Apr  1 08:08:24 t3036vpns kernel: wireguard: wg0: Handshake for peer 1 (12.34.56.78:59511) did not complete after 20 attempts, giving up
Apr  1 08:13:00 t3036vpns kernel: wireguard: wg0: Zeroing out all keys for peer 1 (12.34.56.78:59511), since we haven't received a new one in 540 seconds
Apr  1 08:13:00 t3036vpns kernel: wireguard: wg0: Keypair 2 destroyed for peer 1

以上で、WireGuardの接続・切断のログをファイルに出力させる手順は完了となる。

参考

2021年12月25日土曜日

PowerShellでMTUを計測する

先日WireGuardを使って、外部からインターネット回線経由で自宅にVPN接続できるよう構成した。

しかし、インターネット回線で接続する際に、ファイル共有やSSHによる接続は問題なくできるが、リモートデスクトップ接続が黒い画面で接続・切断を繰り返すという事象が発生し悩まされた。

結論としては、MTUの問題であった。自宅のv6プラスのインターネット回線 (ドコモ光) は最大MTUサイズが1460byteであり、WireGuardのヘッダーサイズを考慮して、MTUサイズを小さくしなければ、フラグメント禁止フラグ (DFフラグ; Don’t Fragmentフラグ) が設定されたパケットが通過できず通信が不安定になっていたのだ。

具体的にWireGuardで必要となるヘッダーサイズは以下の通り。

項目 ヘッダーサイズ (byte)
IPヘッダー 20 (IPv4の場合)、40 (IPv6の場合)
UDPヘッダー 8
WireGuardで必要なヘッダーサイズ 32
合計 60 (IPv4の場合)、80 (IPv6の場合)

上記の通りとなるため、回線の最大MTUサイズから60または80byteを引いた値をWireGuardのサーバ側のMTU設定にて指定する必要がある。

今回は、このような状況を想定して、通過可能なMTUサイズをPowerShellを使って測定するコマンドを記載する。

MTUを計測用PowerShellコマンド

1. PowerShellコマンド

MTUサイズを1500から1ずつ下げながら、DFフラグを付けたpingを実行し、成功した際のMTUサイズを表示するコマンドとなる。ping先はwww.yahoo.co.jpとさせてもらった。

for($mtu = 1500; $mtu -ge 1420; $mtu--){
  ping -f -l ${mtu} -n 1 www.yahoo.co.jp > $null
  if($? -eq $true){
    Write-Host "回線のMTUは"($mtu + 28)"です。"
    break
  }
}

実際の実行結果を以降に示す。

2. ドコモ・AUをテザリングで使用した場合の測定結果

ドコモ・AUをテザリングで利用した際のMTUサイズは1500byteのようだ。

PS C:\> for($mtu = 1500; $mtu -ge 1420; $mtu--){
>>   ping -f -l ${mtu} -n 1 www.yahoo.co.jp > $null
>>   if($? -eq $true){
>>     Write-Host "回線のMTUは"($mtu + 28)"です。"
>>     break
>>   }
>> }
回線のMTUは 1500 です。

3. v6プラスのインターネット回線 (ドコモ光) の測定結果

v6プラスのインターネット回線 (ドコモ光) のMTUサイズは1460byteのようだ。

PS C:\> for($mtu = 1500; $mtu -ge 1420; $mtu--){
>>   ping -f -l ${mtu} -n 1 www.yahoo.co.jp > $null
>>   if($? -eq $true){
>>     Write-Host "回線のMTUは"($mtu + 28)"です。"
>>     break
>>   }
>> }
回線のMTUは 1460 です。

参考

2021年11月13日土曜日

WireGuardを使ってスマホから自宅にVPN接続する

先日、WireGuardサーバをLinux上で構築し、Windows用のWireGuardクライアントを用いてVPN接続を行う手順を記事にした。

WindowsのPCから接続できるだけでなく、スマホからもVPNで接続できると自宅のNASのデータなどにアクセスできて便利であることから、今回は、Android用のWireGuardクライアントを使ってインターネット越しに自宅にVPN接続する手順を記載する。

環境

WireGuardサーバの構築手順は前回の記事を参照いただきたい。

  • スマホOS : Android 11
  • WireGuardサーバOS : AlmaLinux 8.3

Android用WireGuardクライアント設定手順

1. WireGuardクライアントのインストール

Google Playストアより「wireguard」で検索を行い、「WireGuard」をインストールする。

2. WireGuardのconfファイル作成

Windows用のWireGuardクライアントと同一の設定ファイルを作成し、スマホに保存しておく。今回は以下の通り作成した。

[Interface]

設定値 設定内容
Address WireGuardクライアントで使用するIPアドレスを指定。
PrivateKey wgclient.keyの内容を指定。

[Peer]

設定値 設定内容
PublicKey wgserver.pubの内容を指定。
AllowedIPs 対向先の接続機器と通信をさせるIPアドレスを記載する。通常はWireGuardサーバのIPアドレスと自宅のプライベートアドレスを指定すればよい。もしすべての通信をWireGuardのVPN経由とさせる場合は、0.0.0.0/0を指定する。
Endpoint 自宅のグローバルIPまたはDDNS名などを設定している場合はFQDNを用いて[IP or FQDN]:[ポート番号]の形式で接続先のWireGuardサーバを指定する。

今回は以下のように設定ファイルを作成した。

[Interface]
PrivateKey = [wgclient.keyの内容を指定]
Address = 10.0.33.11/32

[Peer]
PublicKey = [wgserver.pubの内容を指定]
AllowedIPs = 10.0.33.1/32, 192.168.0.0/16
Endpoint = [自宅のグローバルIP or FQDN]:[ポート番号]

3. 設定ファイルのインポート

青色の「+」ボタンを選択すると、設定方法の選択肢が表示される。

「IMPORT FROM FILE OR ARCHIVE」を選択する。

先ほど作成した設定ファイル (私の環境ではwgclient.conf) を選択する。

インポートに成功すると、以下の通りVPN接続用の設定が追加される。

4. 接続確認

先ほど追加されたVPN設定のボタンを押し有効化する。特に問題なければすぐに接続状態になり、Androidの上部ステータスバーに鍵マークが表示される。

実際に自宅のQNAPのNASのファイル閲覧をしてみたところ、問題なくインターネット越しにファイル閲覧をすることができた。

以上で、Android用のWireGuardクライアントを使ってインターネット越しに自宅にVPN接続する手順は完了となる。

2021年11月8日月曜日

WireGuardを使って自宅にVPN接続する方法

自宅環境ではインターネット経由でVPN接続をできるように、QNAP NASのQVPN Serviceの機能を利用してOpenVPNサーバを構築している。OpenVPNによる接続手順は以下記事にて記載している。

最近はWireGuardと呼ばれる比較的新しいOSSのVPNソフトウェアが存在する。ソースコードが4,000行程度と非常にコンパクトで、Linuxのカーネルモジュールとして動作するという特徴がある。

QNAP NASの最新OSであるQTS 5.0.0でもWireGuardによるVPN接続がサポートされたとのことだが、残念ながらx86のCPUのみ利用可能となっており、私のQNAP TS-231Pでは対応していなかった。

そこで、今回はWireGuardをLinux上に構築し、Windows用のWireGuardクライアントからインターネット越しに自宅にVPN接続する手順を記載する。

環境

今回はRHELクローンであるAlmaLinuxにて構築を行ったが、CentOSや本家RHELでも同様の手順で構築できるだろう。なお、8.xと9.xのOSにおいて一部手順に差異がある。

  • OS : AlmaLinux 8.3、AlmaLinux 9.2

なお、スマホからもWireGuardでVPN接続は可能であり、設定方法は別記事「WireGuardを使ってスマホから自宅にVPN接続する」を参照いただきたい。

WireGuard構築手順 (Linux)

1. パッケージのインストール

今回はRed Hat系LinuxにおけるWireGuardの構築手順となる。その他のディストリビューションにおける構築手順は、以下公式サイトの内容を確認いただきたい。

WireGuardは、RHEL 8.xはEPELのリポジトリに用意されており、RHEL 9は通常のリポジトリ存在する。したがって、dnfyumを用いてパッケージによるインストールが可能となる。注意点として、RHEL 8.xの場合は、一度OSを再起動しなければ以降の手順でエラーとなるため注意すること(RHEL 9.xの場合は再起動は不要)。

★RHEL 8.xの場合
# dnf install elrepo-release epel-release -y
# dnf install kmod-wireguard wireguard-tools -y
# reboot
★RHEL 9.xの場合
# dnf install wireguard-tools -y

以下に、RHEL 8.xのパッケージインストール後にリブートしなかった場合のエラー情報を参考までに記載する。WireGaurd用のインタフェースを作成しようとしても、以下の通りError: Unknown device typeにてエラーとなる。

# ip link add dev wg0 type wireguard
Error: Unknown device type.
# modprobe wireguard
modprobe: FATAL: Module wireguard not found in directory /lib/modules/4.18.0-240.el8.x86_64

2. サーバ用の秘密鍵と公開鍵を作成

WireGuardは、サーバもクライアントも必ず秘密鍵と公開鍵のペアを設定する必要がある。wgコマンドにて鍵作成をすることができるたため、以下の通りサーバとクライアント用の鍵を作成する。

ファイル名 説明
wgserver.key サーバ用秘密鍵
wgserver.pub サーバ用公開鍵
wgclient.key クライアント用秘密鍵
wgclient.pub クライアント用公開鍵
# cd /etc/wireguard
# wg genkey > wgserver.key
# wg pubkey < wgserver.key > wgserver.pub
# wg genkey > wgclient.key
# wg pubkey < wgclient.key > wgclient.pub

# chmod 600 wgserver.key
# chmod 600 wgclient.key
# ls -l wg*
-rw------- 1 root root  45 10月 30 19:52 wgclient.key
-rw-r--r-- 1 root root  45 10月 30 19:52 wgclient.pub
-rw------- 1 root root  45 10月 27 06:46 wgserver.key
-rw-r--r-- 1 root root  45 10月 27 06:46 wgserver.pub

3. ポートフォワードの設定

WireGuardはVPN用途としてインタフェースとIPアドレスが作成される。このインタフェースとLinuxサーバの本来の通信を行うインタフェース間で通信をできるようにする必要があるため、以下の通りポートフォワードを有効にする。

# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
# sysctl -p
net.ipv4.ip_forward = 1

4. WireGuardのconfファイル作成

WireGuardの設定はwgコマンドによる設定もできるが、今回はwg0.confというファイル名で設定ファイルを作成し、wg-quickコマンドを用いて読み込ませることで設定反映を行う。

設定ファイルの内容は以下の通りとなる。[Interface]は自分側の設定となり、[Peer]は対向側の設定となる。

[Interface]

設定値 設定内容
Address WireGuardで使用するIPアドレスを指定。
MTU 接続時のMTUを記載。デフォルトでは1420が設定されるが、環境によってはリモートデスクトップ接続がうまく動作しない (黒い画面が表示され接続・切断を繰り返す) ため1400や1380に設定する。私の環境では1380に設定すると問題なく動作するようになった。
PrivateKey wgserver.keyの内容を指定。
ListenPort WireGuardが使用するポート番号を指定。デフォルトは51820。
PostUp WireGuard起動時に実行するコマンドを指定。WireGuardで使用するIPアドレスはセグメントが異なることから、そのままでは通信ができないため、iptablesを用いてNATを有効にする。
PostDown WireGuard停止時に実行するコマンドを指定。

[Peer]

設定値 設定内容
PublicKey wgclient.pubの内容を指定。
AllowedIPs 対向先の接続機器と通信をさせるIPアドレスを記載する。通常はクライアントに割り当てるIPアドレスを指定すればよい。

設定ファイルは、以下のように新規作成する。

# cat << EOF > /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.33.1/32
MTU = 1380
PrivateKey = [wgserver.keyの内容を指定]
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens192 -j MASQUERADE

[Peer]
PublicKey = [wgclient.pubの内容を指定]
AllowedIPs = 10.0.33.11/32
EOF

5. WireGuard起動確認

設定ファイルを作成後、一度手動でWireGuardを起動させる。コマンドはwg-quick upコマンドを使用する。

# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.33.1/32 dev wg0
[#] ip link set mtu 1400 up dev wg0
[#] ip -4 route add 10.0.33.11/32 dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE

WireGuardを停止する際は、wg-quick downコマンドを使用する。

# wg-quick down wg0
[#] ip link delete dev wg0
[#] iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens192 -j MASQUERADE

6. systemctlにて自動起動設定

先ほどの起動・停止が問題なくできることを確認したら、systemctlにてWireGuardを自動起動するよう設定する。

# systemctl start wg-quick@wg0
# systemctl enable wg-quick@wg0
# systemctl status wg-quick@wg0
● [email protected] - WireGuard via wg-quick(8) for wg0
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor p>
   Active: active (exited) since Sat 2021-10-30 15:42:05 JST; 2s ago
     Docs: man:wg-quick(8)
           man:wg(8)
           https://www.wireguard.com/
           https://www.wireguard.com/quickstart/
           https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
           https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
  Process: 8128 ExecStop=/usr/bin/wg-quick down wg0 (code=exited, status=0/SUCC>
  Process: 8156 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCE>
 Main PID: 8156 (code=exited, status=0/SUCCESS)

10月 30 15:42:05 t3036vpns systemd[1]: Starting WireGuard via wg-quick(8) for w>
10月 30 15:42:05 t3036vpns wg-quick[8156]: [#] ip link add wg0 type wireguard
10月 30 15:42:05 t3036vpns wg-quick[8156]: [#] wg setconf wg0 /dev/fd/63
10月 30 15:42:05 t3036vpns wg-quick[8156]: [#] ip -4 address add 10.0.33.1/32 d>
10月 30 15:42:05 t3036vpns wg-quick[8156]: [#] ip link set mtu 1400 up dev wg0
10月 30 15:42:05 t3036vpns wg-quick[8156]: [#] ip -4 route add 10.0.33.11/32 de>
10月 30 15:42:05 t3036vpns wg-quick[8156]: [#] iptables -A FORWARD -i wg0 -j AC>
10月 30 15:42:05 t3036vpns systemd[1]: Started WireGuard via wg-quick(8) for wg

ブロードバンドルータの設定

WireGuardはUDPの58120ポートを使うため、ブロードバンドルータでポート開放を行う必要がある。設定方法は各社のルーターのマニュアルを確認すること。通常は「ポートマッピング」といった呼ばれ方の設定項目があるはずで、外部からの特定ポートのアクセスをLAN側の特定のサーバに転送する設定を行えばよい。

以下NECのAtermでの設定例を記載する。

  • LAN側ホスト:WireGuardサーバのIPアドレスを設定
  • プロトコル : UDP
  • 変換対象ポート番号:任意で指定
  • 宛先ポート番号:58120

WireGuard接続手順 (Windows)

1. WireGuardクライアントのインストール

Windows用のWireGuardクライアントは、以下公式サイトからダウンロードする。

インストーラのサイズは約80KBと極めて容量が小さく、インターネット経由でダウンロードしてインストールをするようだ。

2. WireGuardのconfファイル作成

Windows用のWireGuardクライアントも設定ファイルを読み込ませることで設定投入が可能となる。

設定ファイルの内容は以下の通りとなる。[Interface]は自分側の設定となり、[Peer]は対向側の設定となる。

[Interface]

設定値 設定内容
Address WireGuardクライアントで使用するIPアドレスを指定。
PrivateKey wgclient.keyの内容を指定。

[Peer]

設定値 設定内容
PublicKey wgserver.pubの内容を指定。
AllowedIPs 対向先の接続機器と通信をさせるIPアドレスを記載する。通常はWireGuardサーバのIPアドレスと自宅のプライベートアドレスを指定すればよい。もしすべての通信をWireGuardのVPN経由とさせる場合は、0.0.0.0/0を指定する。
Endpoint 自宅のグローバルIPまたはDDNS名などを設定している場合はFQDNを用いて[IP or FQDN]:[ポート番号]の形式で接続先のWireGuardサーバを指定する。

今回は以下のように設定ファイルを作成した。

[Interface]
PrivateKey = [wgclient.keyの内容を指定]
Address = 10.0.33.11/32

[Peer]
PublicKey = [wgserver.pubの内容を指定]
AllowedIPs = 10.0.33.1/32, 192.168.0.0/16
Endpoint = [自宅のグローバルIP or FQDN]:[ポート番号]

3. 設定ファイルのインポート

WireGuardクライアントにて「トンネルの追加」→「トンネルをファイルからインポート」を選択し、先ほど作成した設定ファイルをインポートする。

4. 接続確認

インポート後「有効化」ボタンを押す。ただし、WireGuardサーバと接続の成功・失敗に関係なく有効化はされるので、実際の接続状況はPingなどで確認をすること。

WireGuardサーバ側ではwgコマンドにて接続状態を確認することができる。

# wg
interface: wg0
  public key: XXXX
  private key: (hidden)
  listening port: 51820

peer: XXXX
  endpoint: 1.2.3.4:1025
  allowed ips: 10.0.33.11/32
  latest handshake: 18 seconds ago
  transfer: 902.41 KiB received, 897.92 KiB sent

以上でWireGuardサーバを構築しインターネット経由で自宅環境へアクセスすることができた。

参考

更新履歴

  • 2021/11/6 新規作成
  • 2021/11/8 リモートデスクトップ接続不可の事象を解消するため、MTUを設定する旨を追記

人気の投稿