SoftEther VPNを使ってみた
softeatherVPNというものがオープンソース化されました
外部から自宅LAN内に接続する際のVPNの構築が
簡単そうなので、ちょっと興味を持ったのでやってみた。
以下、メモ書き
2014/8/17 自動起動について追記
2014/10/05 更新する際は、そのまま上書きでインストールすれば、更新されるようです
2016/01/10 自動起動について追記
2016/05/08 自動起動とカードリーダについて追記
epgrecとか使用する予定の人は、先にカードリーダ関係を入れてから設定しないと
依存関係で面倒くさいことになるので注意
OpenSSHのインストール
$ sudo tasksel
OpenSSH serverを選択してインストール
1 必要なパッケージのインストール
$ sudo apt-get install gcc make binutils chkconfig libc-dev zlib1g-dev openssl libreadline-dev libncurses-dev #gitから入れるので多分、これはいらない chkconfigは使われていないので入らないと思う
$ sudo apt-get install git build-essential libreadline-dev libssl-dev libncurses5-dev
2 softeatherVPNの導入
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
$ cd SoftEtherVPN
$ ./configure
Welcome to the corner-cutting configure script !
Select your operating system below:
1: Linux
2: FreeBSD
3: Solaris
4: Mac OS X
5: OpenBSD
Which is your operating system (1 – 5) ? : 1 # Ubuntuなので 1を選択
Select your CPU bits below:
1: 32-bit
2: 64-bit
Which is the type of your CPU (1 – 2) ? : 2 # 64bitなので2を選択
The Makefile is generated. Run ‘make’ to build SoftEther VPN.
$ make
$ sudo make install
$ sudo vpnserver start #Serverの起動をしておく
($ sudo vpnserver stop)で、停止らしい
3 softeatherVPNを使う
設定は、Windows用サーバー管理ツールをを使う方法が一番簡単らしい。
softeather ダウンロードセンター から、SoftEther VPN Server Manager for Windows を選択
softether-vpnserver_vpnbridge-v4.05-9423-beta-2014.02.18-windows-x86_x64-intel.exe をダウンロードした
SoftEther VPN Server Manager for Windowsをインストールする際は、管理マネージャのみのインストール
サーバーの設定
1. 接続設定
「新しい接続設定」をクリック
「接続設定名」に任意の名称を入力
「ホスト名」は VPN サーバーの IP アドレスを入力
「ポート番号」は 443(HTTPS)
入力が終わったら「OK」
「ログイン」画面でパスワードを入力せずに「OK」しているので、
「管理者パスワードの設定」になる ここで管理者パスワードを入力
これでサーバー管理マネージャに接続できるはず
2. 簡易セットアップ
VPN サーバーの設定
初めて設定する時は簡易セットアップ画面が表示されるはずなので、
「リモートアクセス VPN サーバー」を選択
3. 仮想 HUB 名
クライアントはこの仮想 HUB に接続する 好きにつけて良い
4. ダイナミック DNS 機能
特に変更無し
5. IPsec/L2TP/EtherIP/L2TPv3 サーバー機能
Androidからの接続用に「L2TP サーバー機能を有功にする (L2TP over IPsec)」にチェックを入れて、
「IPsec 事前共有鍵」を設定します。
6. VPN Azure クラウド
「有効にする」を選択して「OK」します。
7. ユーザーの作成
ユーザー名とパスワードを設定します。認証方法は「パスワード認証」
必要数だけ作成
8. ローカルブリッジの設定
VPN サーバーからサーバー側の LAN にアクセスするために、仮想 HUB と物理的な LAN カードをブリッジ接続
LAN カードは eth0 を選択します。
9. 簡易セットアップと設定箇所
「閉じる」をクリックすると簡易セットアップが終了
サーバー管理マネージャを終了
クライアントの設定
1 仮想LANカードの作成
「接続」→「接続設定の新規作成」
「仮想 LAN カードを作成しますか?」と聞かれるので「はい」をクリック
仮想 LAN カードに好きな名前を入力して「OK」 面倒なのでデフォルト
2 接続設定
仮想 LAN カードが作成されたら、もう一度「接続設定の新規作成」を選択
「新しい接続設定のプロパティ」画面が開くので、「接続設定名」に任意の名称を入力
「ホスト名」は VPN サーバーのダイナミック DNS ホスト名を入力
「ポート番号」は デフォルトのまま(443)
「仮想 HUB 名」を開くと、 ホストを検出できればサーバー側で設定した仮想 HUB 名が表示されるので選択
「ユーザー認証」の「認証の種類」は「標準パスワード認証」、「ユーザー名」と「パスワード」を設定
「OK」をクリックしてプロパティ画面を閉じます。
3. VPN 接続の開始
作成した接続設定名を右クリックして「接続」を選択すると、VPN サーバーに接続
接続の終了は、接続先名を右クリックして「切断」を選択します。
自動起動の設定は、init.dへの記述が必要です
7.3 Linux へのインストールと初期設定を参照すると、記載があるので、その通りやる
自動起動の設定(シェルスクリプト)
sudo gedit /etc/init.d/vpnserver
#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther Server
DAEMON=/usr/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case “$1” in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac
exit 0
パーミッションの変更
$ sudo chmod 755 /etc/init.d/vpnserver
シェルスクリプトに実行権限の付与
$ sudo chmod +x /etc/init.d/vpnserver
chkconfigの代わりに「sysv-rc-conf」というのが用意されているので、インストール。
$ sudo apt-get install sysv-rc-conf
sysv-rc-confに登録
$ sudo sysv-rc-conf vpnserver on
vpnserver を on にする
$ sudo sysv-rc-conf vpnserver on
$ sudo sysv-rc-conf –list vpnserver
vpnserver 2:on 3:on 4:on 5:on
vpnserver を起動
$ sudo /etc/init.d/vpnserver start
再起動して自動起動されているかを確認
$ ps aux | grep vpnserver
3行くらい出てくればOK
SoftEther VPN Server Manager で、接続できればOK
ルータの設定
静的IPマスカレード設定
https :
500/udp :
1701/udp :
4500/udp :
これらを、サーバーに通すように設定する
Androidの設定
ルータの設定がきちんと出来ていれば、普通に設定すればVPNで接続できるはず
2/28 追加