(参考)ラズパイでVPN(SoftEther) L2TP/IPsec

注意!!!!!ラズパイに新しくいれて試したのですが、うまく接続できなかったので参考程度に見てください!!!

断念した理由

  • スマホから接続できなかった
  • ルータからのポート転送がうまくできてない?
  • ラズパイにwiresharkを入れてパケットが来ているか見たけど来てなさそうだった
  • 別のIPからパケットがたくさん来ているようだった
  • なんか心配になったのでwireguardのほうが良さそうだったのでそっちにすることにした

手順の概要

  • SoftEtherがラズパイ自身に接続できるように設定
  • SoftEtherをダウンロードして解凍、コンパイル、設置
  • チェック
  • サービスの設定ファイル作成
  • 自動起動設定
  • SoftEtherの設定(Windowsにて管理ツールで設定)
  • SoftEtherへ接続(Windowsから接続)
  • SoftEtherへ接続(スマホandroidから接続)

SoftEtherがラズパイ自身に接続できるように設定

ブリッジのインストール

sudo apt install bridge-utils

/etc/network/interfaces修正

sudo vi /etc/network/interfaces

下記を追記

auto br0
iface br0 inet manual
bridge_ports eth0
bridge_maxwait 10

/etc/dhcpcd.conf修正

sudo vi /etc/dhcpcd.conf

変更

interface eth0
static ip_address=192.168.20.100/24
static routers=192.168.20.1
static domain_name_servers=192.168.20.1
static domain_search=

変更後

denyinterfaces eth0 ←追記

interface br0 ←eth0からbr0に変更
static ip_address=192.168.20.100/24
static routers=192.168.20.1
static domain_name_servers=192.168.20.1
static domain_search=

再起動して確認

ifconfig

br0が増えています
eth0にIPが割り当てられていないことがわかります

SoftEtherをダウンロードして解凍、コンパイル、設置

ダウンロード

ダウンロードサイトからダウンロード

wgetでファイルをダウンロードする
wgetの後ろのurlはファイルのリンクをコピる

sudo wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.38-9760-rtm/softether-vpnserver-v4.38-9760-rtm-2021.08.17-linux-arm_eabi-32bit.tar.gz

解凍

sudo tar zxvf softether-vpnserver-v4.38-9760-rtm-2021.08.17-linux-arm_eabi-32bit.tar.gz

コンパイル

cd vpnserver/
make
※途中に「すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。」みたいな文字が出ているので問題なさそう

設置

コンパイルして作成されたファイルを/usr/localに移動して、ファイルのアクセス権限を設定する

pi@raspberrypi:~/vpnserver $ cd ..
pi@raspberrypi:~ $ sudo mv vpnserver /usr/local
pi@raspberrypi:~ $ cd /usr/local/vpnserver/
pi@raspberrypi:/usr/local/vpnserver $ sudo chmod 600 *
pi@raspberrypi:/usr/local/vpnserver $ sudo chmod 700 vpncmd
pi@raspberrypi:/usr/local/vpnserver $ sudo chmod 700 vpnserver

チェック

sudo ./vpncmd
「3.VPN Tools コマンドの使用 (証明書作成や通信速度測定)」を選択
exitで閉じる

サービスの設定ファイル作成

sudo vi /etc/systemd/system/vpnserver.service
ファイルを新規作成
下記を貼り付け
※コメント行の「#ExecStartPost=/bin/sleep・・・」は管理マネージャで tap を設定した後、コメントアウトを解除する予定

[Unit]
Description=SoftEther VPN Server
After=network.target network-online.target

[Service]
User=root
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
Type=forking
RestartSec=3s
WorkingDirectory=/usr/local/vpnserver/
#ExecStartPost=/bin/sleep 10 ; brctl addif br0 tap_vlan

[Install]
WantedBy=multi-user.target

起動と確認

ひとまず起動

sudo systemctl start vpnserver

サービスの状態の確認

sudo systemctl status vpnserver.service

自動起動設定

sudo systemctl enable vpnserver.service

再起動

sudo reboot

再起動後に自動でサービスが動いているか確認
sudo systemctl status vpnserver.service

SoftEtherの設定(Windowsにて管理ツールで設定)

ラズパイに入れたSoftEtherの設定を行うツールが必要です
管理ツールをダウンロードしてインストールします

インストーラを実行します
管理ツールのみを入れます

管理ツールを起動

ラズパイのIPアドレスを入れます

パスワードを設定
パスワード:vpnpass1234

適当に名前をつける

SoftEtherのダイナミックDNSは使用しないので「閉じる」

L2TPサーバー機能を有効にする(L2TP over IPsec)にチェック
IPsec事前共有キーを適当に設定:vpnsharekey

使用しない

ローカルブリッジはeth0を選択しておく
ユーザを追加する

接続するユーザを追加する
ユーザ:vpnuser
パスワード:vpnuser

ローカルブリッジの設定

まず、ローカルブリッジを一旦削除する
仮想HUBを「VPN」を選択
作成する種類を「新しいtapデバイスとのブリッジ接続」を選択
新しいtapデバイス名に「vlan」 ※「/etc/systemd/system/vpnserver.service」のtap_xxxとあわせる
ローカルブリッジを追加
追加したローカルブリッジが動作中になったことを確認する

「はい」

暗号化の設定

ラズパイの設定を修正

sudo vi /etc/systemd/system/vpnserver.service

#ExecStartPost=/bin/sleep 10 ; brctl addif br0 tap_vlan
ここのコメントを外す

ラズパイを再起動
sudo reboot

確認
brctl show br0

tap_vlanが表示されていないといけないようだ

DDNS無効

sudo /usr/local/vpnserver/vpnserver stop
一旦停止
sudo vi /usr/local/vpnserver/vpn_server.config

SoftEtherへ接続(Windowsから接続)

SoftEtherへ接続(スマホandroidから接続)

VPNの設定

タイプ:L2TP/IPSec PSK
サーバーアドレス:接続先ドメイン名
IPSec事前共有鍵:vpnkey
ユーザ名:vpnuser
パスワード:vpnuser



最新情報をチェックしよう!