ALIXSoftEther VPNをインストールする

今まで別のソフトウェアの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
  • LOCK=/run/lock/vpnserver
に書き換えて/etc/init.d/vpnserverという名前で保存する。
このままだとパーミッションが異なるために起動できないので、
  • chmod 755 /etc/init.d/vpnserver
でパーミッションの変更を行う。
そして、
  • service vpnserver start
で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
タグ