読者です 読者をやめる 読者になる 読者になる

おのかちお の ブログ

一日一投稿してます。

vpnサーバーを構築してみた

こんにちは!

タイトル通り、raspberrypi 2 Bにvpnを導入してみます。
参考にしたサイト様は以下です。

Raspberry Pi 2 Model B で L2TP/IPSec VPNサーバを構築してみた(その1)



rootになり、パッケージをインストールします。

su

次にipアドレスの設定をします。

# vi /etc/network/interfaces
iface eth0 inet manual
 
auto br0
iface br0 inet static
address 192.168.0.20
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth0
bridge_maxwait 10

そして再起動

reboot

起動した後に確認

su
ifconfig

ちゃんとできてそうです。
そしてとうとうソフトをインスコ

cd
mkdir src
cd src
wget http://jp.softether-download.com/files/softether/v4.20-9608-rtm-2016.04.17-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-arm_eabi-32bit.tar.gz
tar zxf softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-arm_eabi-32bit.tar.gz
cd vpnserver
make

利用規約に同意するかどうか聞かれるので1を入力、からのエンター。ずら~っと出てくるのでまた1を入力。エンター。また1を入力。エンター。
どうやら完了したようです。
ソフトをusr/localに移動させます。

cd ../
mv vpnserver /usr/local/
cd /usr/local/vpnserver

そして権限を変更します。

chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver

そのあと起動スクリプトを作らねばならないようですが、さっぱりわからないのでコピペ。

# vi /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

そしてchkconfigとやらをインストール、設定、起動。

apt-get install chkconfig
chkconfig --add vpnserver
/etc/init.d/vpnserver start

あれれ、許可がないと怒られたので許可をします。

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

できました!
ということでここからはほかのパソコンからguiで遠隔設定できるのでそれに頼ります。

http://jp.softether-download.com/files/softether/v4.20-9608-rtm-2016.04.17-tree/Windows/Admin_Tools/VPN_Server_Manager_and_Command-line_Utility_Package/softether-vpn_admin_tools-v4.20-9608-rtm-2016.04.17-win32.zip
これをダウンロード、解凍、vpnsmgr.exeを起動。
新しい接続設定→接続設定名に適当名前、ホスト名にラズパイのip→OK。
一覧に表示されるので、選択して接続。
新しいパスワードを決めろ、と出てきたので入力。
すると簡易セットアップが起動。
リモートアクセスvpnサーバーを選択、次へ。
初期化するけどいいか聞いてくるのではいを選択。
任意の名前を入れろと出てきたのでVPNと入れてOK。
ダイナミックDNS名を適当に決めて(後で使うらしい)、というかそのままで閉じるをクリック。
L2TPサーバー機能を有効にするにチェックを入れて、右真ん中らへんのやつはVPNに、下の事前共有鍵とやらはパスワードらしいので入力、OKをクリック。
VPN Azureは使わないので、無効をクリックしてOK。
ユーザーを作成する、をクリック。
ユーザー名、パスワードを入力、OKをクリック。
ユーザーの管理が出てくるので、閉じるをクリック。
戻ってくるので、ローカルブリッジをbr0かeth0どちらでもいいので選択、閉じる。
左下の、ローカルブリッジ設定をクリック。
VPNを選択し、ローカルブリッジの削除、をクリック。
仮想HUB名にVPN、作成する種類は、新しいtapデバイスとのブリッジ接続を選択、新しいtapデバイス名にvlanを入力し、ローカルブリッジを追加をクリック。閉じるをクリック。
管理画面に戻ったら、VPNを選択し、仮想HUBの管理をクリック。
以後、管理はここからできるらしいです。
閉じる、をクリックで戻り、暗号化と通信関係の設定をクリック。暗号化アルゴリズム名をDHE-RSA-AES256-SHAに変更、OKをクリックして戻ってきます。
OpenVPN/MS-SSTP設定をクリック、OpenVPNサーバー機能を有効にする、MS-SSTP VPNサーバー機能を有効にするのチェックをともに外し、OKをクリック。
以上で、windowsでの操作は終了です。
ラズパイに戻ります。

chkconfig --del vpnserver
vi /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
sleep 2
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'` tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
brctl addif br0 ${tap}
}

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

再度登録し有効にします。そして再起動。

chkconfig --add vpnserver
chkconfig vpnserver on
reboot

ifconfigをするとtap_vlanというのが表示されています。成功!

では実際にスマホから接続してみます。
設定→その他の設定→vpn、+を押して、名前を適当に、タイプはL2TP/IPSec PSK、サーバーアドレスにはラズパイのグローバルip、事前共有鍵には設定の時入力したものを、そして保存をタップ。
そしてもう一度タップし、ユーザー名とパスワードを入力すれば完了です。

以上!