実際の理由は不明もルータを変更したところ、ポートフォワーディングを設定してもIPSEC/L2TPでのVPN接続ができなかった。 そこでwireguardを使ってのvpnを設定しなおした。
参考としたサイト
'https://chirashi.twittospia.com/技術/windowsでwireguardを設定する方法/2021-02-26/
'https://qiita.com/naomori/items/1ee1a314cbdd3010f3ee
'https://asiavp.net/guide/windows/wireguard/
環境
サーバー: raspberry pi (buster)
外部端末: タブレットPC(windows10)
ルータ使用: NAT転送(ポートフォワーディング)使用
なお、下記手順中のxxxxxxx,yyyyy,zzzzz,vvvvv, aaaaa, mydomain, 192.168.123.200, 192.168.123.100は自分の環境や設定したい値に合わせること。
サーバー側設定
sudo apt update
sudo apt upgrade
sudo apt install wireguard
mkdir wgkeys
cd wgkeys
umask 077
wg genkey > server_private.key
wg pubkey > server_public.key < server_private.key
wg genkey > client_private.key
wg pubkey > client_public.key < client_private.key
cd
sudo nano /etc/wireguard/wg0.conf
sudo wg-quick up wg0
sudo wg-quick down wg0
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo ufw allow aaaaa/udp
wg0.confの内容は
[Interface]
# virtual IP address for server
Address = 192.168.123.200/24
# port for wireguard . any number available
ListenPort = aaaaa
# server_private.key
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxx
# nat mantra
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
# client_public.key
PublicKey = yyyyyyyyyyyyyyyyyyyyyyyyyyy
# virtual IP address in VPN for client
# allowed virtual IP
AllowedIPs = 192.168.123.100/32
タブレット側設定
windows用wireguardソフトをwireguardサイトからダウンロード
次にwindows上でnotepadか何かを使ってconfファイルを作成する。ここではwg1.confとする。
[Interface]
# client_private.key
PrivateKey = zzzzzzzzzzzzzzzzzzzzzzzzzzz
# virtual IP for client
Address = 192.168.123.100/24
[Peer]
# server_public.key
PublicKey = vvvvvvvvvvvvvvvvvvvvvvvvv
# set virtual IP address for VPN server as allowed IPs
AllowedIPs = 192.168.123.200/32,192.168.123.0/24
# set url and port
Endpoint = mydomain:aaaaa
windows用wireguardソフトをインストール&起動し、上記confファイルを読ませる。
その後は、有効化や無効化で制御可能
その他
ルータでポートaaaaa/udpをポート転送できる様にする。
Leave a Comment