見出し画像

リモートネットワーク接続(vpn接続)の設定をした話 その2

こんにちは!

前回の続きとして、Softether VPNの接続の設定について書いていきます。前回の記事で、Softether VPNの概要とインストールまでの手順を書いているので、まだ呼んでいない方はまずはそちらをご覧下さい。今回はSoftether VPN serverの自動起動化と設定について書いていきます。


Softether VPNの自動起動化

前回インストールしたVPNサーバーですが、このままだとPCを再起動するたびに手動でサーバーを起動しなくてはなりません。もちろんそんなことはやってられないので、その自動化の設定をしておきます。幸いなことに、公式サイトにLinuxにおける自動起動化については詳細に記載されています。

公式サイトしたがって下記のようにコマンドを打ち込んでいきます。

$ sudo touch /etc/init.d/vpnserver
$ sudo vim /etc/init.d/vpnserver 

丁寧なことに、init.dに追加するファイルについてもきちんと掲載されています。下記をコピペすればOK。

#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/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
$ /sbin/chkconfig --add vpnserver 

とすれば良い……と思いきや、エラーを吐き出されて上手く行かず。。。

ちょっと調べてみたところ、「chkconfig」をソフトの自動起動として使うのは、Linuxの中でも「Red hat系(CentOS等)」だけらしく、僕がサーバー用マシンとして使っているubuntu系のxubuntuではその代わりに「update-rc.d」を使うらしいです。

ここで素直に「update-rc.d」を使っても良いのですが、今回はその代わりに「systemd」使った自動起動方式を使いたいと思います。いくつか理由はありますが、まあそれはあまり気にしなくてもいいでしょうw 

まずは、下記コマンドでserviceファイルを作成・編集します。

$ sudo vim /etc/systemd/system/vpnserver.service

実際に記載する内容はこんな感じ。

[Unit]
Description=Softether VPN server
After=network.target

[Service]
Type=forking
User=root
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
Restart=on-abort
WorkingDirectory=/usr/local/vpnserver

[Install]
WantedBy=multi-user.target

詳細を説明しだすと長くなるのでここでは割愛。こんな感じでservice fileを作成できたら、あとはこれをdaemon(デーモン)としてsystemdに登録して起動をかければOK。

$ sudo systemctl daemon-reload
$ sudo systemctl start vpnserver.service
$ sudo systemctl enable vpnserver.service

これで自動起動化は無事に完了です。PCを起動するたびにvpnサーバーが自動的に立ち上がってくれて、トラブルがあっても自動で再起動かけてくれるので一安心です。


Softether VPN server manager

自動起動の設定までは出来たので、ここからは実際のvpnの設定に移っていきます。ここで問題になってくるのが、「Softether VPN server manager」というソフトについて。Softetherはコマンドラインとこのソフト(GUI)の両方での管理が可能ですが、公式ページを見る限りではGUIでの操作が推奨とのことです。


それの何が問題なのかと言うと、この「Softether VPN server manager」というのがwindowsにしか対応していないということ。既に述べているとおり、今回vpnを設置しているサーバー用PCはLinuxなので、このGUIソフトを利用することが出来ません。諦めてコマンドをつかって設定をしようかとも思ったのですが、幸いなことにこのソフト自体は必ずしもサーバー用PCに入っている必要があるわけではないようです。ネットワーク内の別PCでこの管理ソフトを立ち上げて、サーバー用PCの設定をネットワーク経由で行えるらしい。

メインPCはメインPCでやはりLinuxが入っているわけですが、以前少し紹介したとおり、このメインPCには仮想マシンとしてwindowsが入っています。そこで、この仮想マシン経由でのVPNサーバーの設定を試みます。


まずやらなければならないのは、仮想マシンを自宅ネットワーク内に組み入れること。virtual boxは初期設定ではメインマシンとホストマシンの間のネットワーク接続はNAT形式になっているので、このままだと仮想マシンからサーバー用PCは別ネットワークになってしまっています。そこで、Virtualboxの設定を変更して、NAT接続からブリッジ接続に変更。ブリッジ接続については、以前書いた自宅ネットワーク改善の話でも少し話題にしましたね。

画像1

こんな感じでネットワーク割り当てを「NAT」から「ブリッジアダプター」に変更すればOK。

ソフトウェアのダウンロード自体は公式ページの手順に従ってやればOK。特に難しいことは無いので、ここはサクサク進めます。

画像2

ソフトを開いた時の画面はこんな感じ(この画面は既に「Home VPN」という名前で接続設定済みのものです)。実際に、サーバーマシンのIPアドレスの「192.168.179.7」に接続をしてみたら、無事に接続することができました。これで仮想マシン経由でVPN serverの設定が出来る環境が構築できました!

基本的に、このGUIの管理ソフトはかなりよく出来ているので、あまり詳しいことがわかっていなくても、直感的にいじっていればそれなりにきちんと設定できちゃいます。なので、あえてここで書くことはあまりないのですが、設定していて詰まった点はいくつかあるので、それは次回詳しく書いていきたいと思います。


まとめ

今回はSoftether VPNをつかったリモートネットワーク環境の構築について、起動の自動化と設定ソフトのセットアップを行いました。ポイントは、Windowsでしか動かないソフトを、仮想マシンを使って動かすようにした部分ですかね。実際にこれをやっているときには仮想マシンの存在が完全に頭から抜けていたので結構焦りましたw

次回はクライアント(AndroidとiOS)接続用の設定と、設定中のトラブル&その解決について書くつもりです。一応、次回でvpn関連は最終回になる予定です。

それでは、また!

この記事が気に入ったらサポートをしてみませんか?