構成
今回は、生活用のLAN内にあるラズパイからにVPNサーバを立てて、検証環境内に安全にアクセスできるようにする。
やること
- VPNの中継として、LANポートに固定アドレスの設定
- インターネットからアクセスするためにグローバル固定IPの設定
- VPNサーバの設定
- フォワーディング設定
LANポートに固定アドレスの設定
静的IPを設定
パブリック固定IP取得
今回はおなじみ、マイIPを使用していく。固定IPを申し込み、接続方式を”WireGuard”に設定しconfigをダウンロードしておく。
ラズパイにWireGuardをインストール。
sudo apt install wireguard -y
固定IPの取得
#マイIPのconfigの導入
$ sudo vi /etc/wireguard/wg-myip.conf
#サーバに接続
$ sudo wg-quick up myip
#IPアドレスの確認
$ ip -a
4: wg-myip: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1350 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet "マイipからもらったアドレス"/32 scope global wg-myip
valid_lft forever preferred_lft forever
これで、パブリックIPに接続すれば、ラズパイまで通信が来る。
VPNサーバの設定
[Interface]
Address = 10.20.20.1/24
ListenPort = 51821
PrivateKey = sever-privatekey
[Peer]
PublicKey = client-publickey
AllowedIPs = 10.20.20.2/32
起動について
現在のままだと、VPNクライアント(固定IPの取得)もVPNサーバ(内部LAN接続)も、どちらも、再起動する度に手動で起動しなくてはならない。以下のコマンドで自動起動させる。
systemctl enable wg-quick@wg-lan
systemctl enable wg-quick@wg-myip
IP Forwarding設定
sysctl -w net.ipv4.ip_forward=1
永続化については、/etc/sysctl.d/99-ipforward.confに書き込む
(ファイル目については任意だが、辞書順に読み込まれるので上書きされないように注意)
ルーティング設定
RTX1200はVPNクライアントネットワークの10.20.20.0/24を知らず、すべて、ルータのデフォゲに投げてしまうので、静的ルーティングを追加する。
ip route 10.20.20.0/24 gateway "ラズパイのアドレス"
接続
外出先などから、クライアント端末でwireguardを起動
[Interface]
PrivateKey = "秘密鍵"
Address = 10.20.20.4/32
[Peer]
PublicKey = "公開鍵"
AllowedIPs = 10.20.20.0/24, LANのアドレス/24
Endpoint = ラズパイの固定IP:port
PersistentKeepalive = 25
AllowsIPs は0.0.0.0/0でも指定可能だが、できるだけ明確に絞ったほうが、セキュリティ的にいい気がする。。。。
