こんにちは!
タイトル通り、raspberrypi 2 Bにssl vpnを導入してみます。
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
そして再起動
起動した後に確認
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/
そして権限を変更します。
chmod /usr/local/vpnserver
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で遠隔設定できるのでそれに頼ります。
これをダウンロード、解凍、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というのが表示されています。成功!
では実際にPCから接続できればおわりです。
以上!