ラズパイにVPNを構築します。


破られたくないので、設定内容は公開しないかも。


あと、このHPは外部のサーバーで、VPN構築しているネットワークとは全然違いますからね。破ろうとしないでね。


 


と、前置きは以上で、以下サイトを参考に構築しました。


https://nobuntu.jp/raspberrypi-vpn-server-softethervpn/


SoftEtherVPNというソフトを使うといいみたい。


これ、すごいのは、ダイナミックDNSを提供してくれている。


要は、固定IPじゃなくてもVPN構築できるありがたいシステムだが、これを構築するには固定IPが必要なので、誰かが提供してくれないと出来ない。大変助かる。


aptでget出来ないのが少し不便だが仕方がない。


古風なunix伝統に基づき、makeするスタンスで。


まずは、パッケージを取得。


# wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.32-9731-beta/softether-vpnserver-v4.32-9731-beta-2020.01.01-linux-arm_eabi-32bit.tar.gz


パッケージ選択で、CPUを選ぶところもあったので、コンパイルまではしてくれているのか?


解凍からmake


# tar zxf softether-vpnserver-v4.32-9731-beta-2020.01.01-linux-arm_eabi-32bit.tar.gz


# cd vpnserver/


# make


思いのほかあっという間に終わる。Pi4のパワーの恩恵か?


フォルダの移動と権限変更


# mv vpnserver /usr/local/


# cd /usr/local/vpnserver/


# chmod 600 *


# chmod 700 vpncmd


# chmod 700 vpnserver


 


追記:以下、自動起動設定は最新バージョンではうまくいかない。


Systemdを使った方法に変更したので以下ページを参考に。


https://rnu12.com/modules/pico_2/index.php?content_id=256


さらに追記:


結局、chkconfigでの方法に戻した。


ただし、


# chkconfig --add vpnserver


は、バグの影響で失敗するので、手動で登録。

以下参考に。

https://rnu12.com/modules/pico_2/index.php?content_id=257

 

 

 


 


サーバー管理ユーティリティーのchkconfigを導入するそうだ。


# apt-get install -y chkconfig


スクリプト作成。基本は、参考サイトのものを丸コピー


# pico /etc/init.d/vpnserver


ファイル内容は以下。


#!/bin/sh

### BEGIN INIT INFO

# Provides: vpnserver

# Required-Start: $local_fs $network

# Required-Stop: $local_fs $network

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Description: SoftEther VPN Server

### END INIT INFO



DAEMON=/usr/local/vpnserver/vpnserver

LOCK=/var/lock/vpnserver



vpn_start() {

${DAEMON} start

}



vpn_stop() {

${DAEMON} stop

}



test -x ${DAEMON} || exit 0



case "$1" in

start)

vpn_start

touch ${LOCK}

;;

stop)

vpn_stop

rm ${LOCK}

;;

restart)

vpn_stop

sleep 3

vpn_start

;;

*)

echo "Usage: $0 {start|stop|restart}"

exit 1

esac



exit 0


以上。


そして、サービスの登録と開始。


# chmod +x /etc/init.d/vpnserver


# chkconfig --add vpnserver


ん~~なんかエラーはいてるなぁ。


# /etc/init.d/vpnserver start


が、スタートするとスタートできたようだ。


まずは、ローカルIP限定で。