今まで別のソフトウェアのIPSecで自宅と実家のVPNを構築していた。
使用していたマシンはルーター機能も負わせたALIXだ。
しかしギガビット級のインターネット回線が普及する今日において、イーサネットの速度が100BASEまでしか対応しないALIXをネットワークの根元に置くことに限界を感じた。
根元は別の装置に譲り、ALIXをVPN構築専用マシンにする。
そこでSoftEther VPNだ。
SoftEther VPNはレイヤー2イーサネットベースのVPNを構築できる。
つまり、自宅と実家とが同じネットワークに収められる。
まず、ALIXで使うコンパクトフラッシュにOSをインストールする。
OSはALIXと相性が良い
VoyageLinuxだ。
私はCentOSを常用しているので、CentOSの仮想マシンマネージャーを使ってコンパクトフラッシュにVoyageLinuxをインストールする。
そしてそのコンパクトフラッシュをALIXにセットして電源を入れる。
起動した直後のVoyageLinuxは読み込み専用になっている。
書き込み可能な状態にして、パッケージのアップデートなどを行う。
- remountrw
- apt-get update
- apt-get upgrade
ALIXにSoftEther VPN Serverをインストールする。
ダウンロードしたファイルを適当なディレクトリに展開するとvpnserverというディレクトリができているので、その中に移動する。
パッケージの追加を行ってからmakeする。
- 展開してvpnserverディレクトリに移動する
- apt-get install gcc make libc6-dev
- make
- 利用規約の質問に答えて、makeを終わらせる
makeが終わったら、本家サイトの説明に合わせるためにvpnserverを/usr/localへ移動させる。
- cd ..
- mv vpnserver /usr/local/
スタートアップスクリプトは
本家サイトの記述の
- LOCK=/var/lock/subsys/vpnserver
を
に書き換えて/etc/init.d/vpnserverという名前で保存する。
このままだとパーミッションが異なるために起動できないので、
- chmod 755 /etc/init.d/vpnserver
でパーミッションの変更を行う。
そして、
でvpnserverが起動する。
しかし、これではOSを起動した直後に自動で起動できない状態だ。
なぜならvpnserverのDAEMONはvpnserverディレクトリにプロセスIDのようなファイルを作るが、VoyageLinuxの読み込み専用モードがこれを阻む。
OSを起動したときにremountrwを行う方法があるが、別の方法をとる。
メモリ上に展開される/tmpディレクトリはOSの読み込み専用モードと関係なく書き込み可能なので、OSを起動するたびにvpnserverディレクトリを/tmpにコピーして使う。
/etc/init.d/vpnserverの
- DAEMON=/usr/local/vpnserver/vpnserver
を
- DAEMON=/tmp/vpnserver/vpnserver
に変更する。そして/etc/rc.localに
- cp -ap /usr/local/vpnserver /tmp
- service vpnserver start
を追加する。
これでOSを再起動すると自動的にvpnserverが起動する。
vpnbridgeもvpnserverを読み替えてインストールできる。
/tmpディレクトリにコピーする方法は接続に関する設定ファイルもコピーされるので、VPNに関する設定が済んでから/tmpにコピーする方法へ切り替える方が楽だ。
SoftEther VPNをインストールしたALIXで拠点間VPNを作る。 2016/05/14 15:30