ConoHaのVPSを借りてSoftEtherでVPN接続したときの備忘録
タイトルの通りです。Qiitaに書くか悩みましたがブログに書くことにします。
proxyのせいで開発に必要なツールの導入がブロックされたりして煩わしいことが多々あったため構築しようと思いました。ゲームとかTwitterもしたいしね
- 環境・前提
- サーバー初期設定
- CentOSにSoftEtherをダウンロード
- 自動起動・動作チェック
- 仮想Hubを構築する
- ドメインを登録する
- 接続設定
- 接続設定
- 仮想Hubの管理
- ローカルブリッジ接続の設定
- 接続
- 参考にしたサイト
- 更新情報
環境・前提
[Client]
OS :Windows 10 pro
作業OS :Ubuntu 18.04 LTS(WSL)
[Server]
OS :CentOS 7.6(64bit)
プラン :630円/月
リージョン :東京
接続許可ポート :全て許可
[前提]
ConoHaサーバーを契約済み
Ubuntuが使えるpcがある
SSH接続ができる状態(私は設定がめんどくさかったのでテザリングでやりました)
Linuxコマンドについてcdとかだけでいいので少しは知識がある
まだConoHaサーバーを契約していなければ契約しましょう。このリンクから契約すると1000円のクーポンがもらえます。約1ヶ月半分のサーバー代ですね。
サーバー初期設定
サーバーへのSSH接続ができたところから初めます。
SSH接続のコマンドは
[Client:~]$ ssh root@IPアドレス -p 22
password:
ですね。
で、設定に移るんですが既にQiitaに書いてしまったのでそちらを見てください()
qiita.com
CentOSにSoftEtherをダウンロード
準備
SoftEtherをCentOSにダウンロードするのに必要なソフトをインストールします。
途中、インストールするかどうか聞かれたらyを入力しましょう。
[User@IP :~]$ sudo yum install zlib-devel.x86_64
password:
[User@IP :~]$ sudo yum install gcc.x86_64
次にWindowsにSoftEtherのダウンロードをします。
このように選択し、好きなバージョンのSoftEther VPN Serverを選択してください(一番上ので問題ないと思います)。
ダウンロードが完了したらこれをサーバー上のCentOSに転送します。
WSL Ubuntuなのでmntを挟んでいますがmacやLinuxの場合は不要です。
[Client:~]$ scp /mnt/e/Documents/server/softether-vpnserver-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz conoha:/tmp
password:
softether-vpnserver-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz 100% 6135KB 2.0MB/s 00:04
解凍・パーミッション付与
サーバー上で転送したファイルを解凍してビルドします。
[User@IP :~]$ cd /tmp [User@IP :~]$ ls -l soft* -rw-r--r--. 1 User wheel 6275265 Feb 19 14:36 softether-vpnserver-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz [User@IP :tmp]$ tar zxvf softether-vpnserver-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz : : : vpnserver/lib/License.txt vpnserver/hamcore.se2 [User@IP :tmp]$ ls -l # vpnserverが出現していることを確認する total 6156 -rwxr-xr-x 1 User wheel 6281445 Feb 18 15:32 softether-vpnserver-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz drwxrwxr-x. 4 User wheel 4096 Feb 18 15:32 vpnserver # makeコマンドでビルドする [User@IP :tmp]$ cd vpnserver/ [User@IP :vpnserver]$ sudo make # ライセンス読むかとか理解できたかとか同意するかしないかとか聞かれるので全部1を入力
SoftEtherのマニュアルに従い /usr/local にSoftEther VPNを移動しパーミッションを付与する。
[User@IP :vpnserver]$ cd .. # ファイルの移動 [User@IP :tmp]$ sudo mv vpnserver/ /usr/local password: [User@IP :tmp]$ ls -l /usr/local/vpnserver/ total 10512 -rw------- 1 User User 2955 Sep 11 12:35 Authors.txt -rw------- 1 User User 3010 Sep 11 12:35 Makefile -rw------- 1 User User 30801 Sep 11 12:35 ReadMeFirst_Important_Notices_cn.txt -rw------- 1 User User 36296 Sep 11 12:35 ReadMeFirst_Important_Notices_en.txt -rw------- 1 User User 50695 Sep 11 12:35 ReadMeFirst_Important_Notices_ja.txt -rw------- 1 User User 58903 Sep 11 12:35 ReadMeFirst_License.txt drwx------ 2 User User 4096 Feb 19 16:03 backup.vpn_server.config drw------- 2 User User 4096 Feb 18 15:34 chain_certs drw------- 2 User User 4096 Feb 18 15:34 code -rw------- 1 User User 1296639 Sep 11 12:35 hamcore.se2 -rw------- 1 User User 867 Feb 18 15:34 lang.config drw------- 2 User User 4096 Feb 18 15:33 lib drwx------ 3 User User 4096 Feb 18 15:53 packet_log drwx------ 3 User User 4096 Feb 18 15:38 security_log drwx------ 2 User User 4096 Feb 19 00:00 server_log -rw------- 1 User User 15051 Feb 19 16:18 vpn_server.config -rwx------ 1 User User 4611800 Feb 18 15:34 vpncmd -rwx------ 1 User User 4611880 Feb 18 15:34 vpnserver # パーミッション付与 [User@IP :tmp]$ cd /usr/local/vpnserver/ [User@IP :vpnserver]$ sudo chmod 600 * [User@IP :vpnserver]$ sudo chmod 700 vpncmd [User@IP :vpnserver]$ sudo chmod 700 vpnserver [User@IP :vpnserver]$ sudo chown root:root * [User@IP :vpnserver]$ ls -l # User が root に変わってるか確認
自動起動・動作チェック
動作チェック
SoftEther VPNには動くかどうかチェックしてくれる機能があるのでそれを使って動作確認をする。
[User@IP :~]$ cd /usr/local/vpnserver/ [User@IP :vpnserver]$ sudo ./vpncmd : : 1. Management of VPN Server or VPN Bridge 2. Management of VPN Client 3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool) Select 1, 2 or 3: #3を入力 VPN Tools>check : : If this operation environment check tool is run on a system and that system passes, it is most likely that SoftEther VPN software can operate on that system. This check may take a while. Please wait... # 全てPass(合格)したか確かめる Checking 'Kernel System'... Pass Checking 'Memory Operation System'... Pass Checking 'ANSI / Unicode string processing system'... Pass Checking 'File system'... Pass Checking 'Thread processing system'... Pass Checking 'Network system'... Pass : : VPN Tools>exit [User@IP :vpnserver]$
自動起動させる
OSが起動したときにSoftEther VPNをサーバーが自動起動するように設定する。
[User@IP :~]$ cd /etc/systemd/system [User@IP :system]$ sudo vim softethervpn.service # 以下を記述 [Unit] Description=SoftEther VPN Server After=network.target [Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target [User@IP :system]$ ls -l softethervpn.service -rw-r--r-- 1 root root 215 Feb 18 15:36 softethervpn.service
# 自動起動ON
[User@IP :system]$ sudo systemctl enable softethervpn # 自動起動がenableになったか確認する [User@IP :system]$ sudo systemctl list-unit-files --type=service | grep softether softethervpn.service enabled # ここで自動起動が有効かどうか確認するためにConoHaサーバーを再起動する。 # 再ログイン [User@IP :~]$ cd /etc/systemd/system [User@IP :system]$ ps -ef | grep vpn root 3091 1 0 Feb18 ? 00:00:00 /usr/local/vpnserver/vpnserver execsvc root 3092 3091 3 Feb18 ? 00:55:48 /usr/local/vpnserver/vpnserver execsvc User 6650 6595 0 16:40 pts/0 00:00:00 grep --color=auto vpn [User@IP :system]$ uptime 16:42:12 up 23:18, 1 user, load average: 0.00, 0.01, 0.05 # ログを見て見るのも良い [User@IP :system]$ sudo grep VPN /var/log/messages Feb 18 17:23:38 150-95-135-37 systemd: Starting SoftEther VPN Server... Feb 18 17:23:38 150-95-135-37 vpnserver: The SoftEther VPN Server service has been started. Feb 18 17:23:39 150-95-135-37 systemd: Started SoftEther VPN Server.
仮想Hubを構築する
私の環境ではローカル(Windows)でGUIでHubを作成するとProxyを抜ける事ができなかったので、試しにサーバー側で作ると抜けれました。なのでサーバー側で仮想Hubを作ることにします。詳しい人理由を教えてください。
あと、自動起動の設定をしたあとそのままやったらうまくできませんでした。サーバーを再起動したらできました。なのでこの項に進む前にサーバーを再起動することをおすすめします。
管理者パスワードの設定
[User@IP :~]$ cd /usr/local/vpnserver/ [User@IP :~]$ sudo ./vpncmd : : 1. Management of VPN Server or VPN Bridge 2. Management of VPN Client 3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool) Select 1, 2 or 3: #1を入力 : : Hostname of IP Address of Destination: #空白,Enter : : Specify Virtual Hub Name: #空白,Enter Connection has been established with VPN Server "localhost" (port 443). You have administrator privileges for the entire VPN Server. VPN Server> # 管理者パスワードを設定する VPN Server>ServerPasswordSet パスワード入力 : もう一度 : The command ended normally. VPN Server>exit
仮想Hubを作成する
管理者パスワードでログインします。
[User@IP :~]$ sudo ./vpncmd : : 1. Management of VPN Server or VPN Bridge 2. Management of VPN Client 3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool) Select 1, 2 or 3: #1を入力 : : Hostname of IP Address of Destination: #空白,Enter : : Specify Virtual Hub Name: #空白,Enter
Password: #さっき設定したパスワードを入力 Connection has been established with VPN Server "localhost" (port 443). You have administrator privileges for the entire VPN Server. VPN Server>
実はデフォルトで「DEFAULT」というHubが作成されているのでそれを確認します。あればokです。
VPN Server>hublist HubList command - Get List of Virtual Hubs Item |Value ------------------+------------------- Virtual Hub Name |DEFAULT Status |Online Type |Standalone Users |0 Groups |0 Sessions |0 MAC Tables |0 IP Tables |0 Num Logins |0 Last Login |2019-02-19 13:48:22 Last Communication|2019-02-19 17:24:45 Transfer Bytes |0 Transfer Packets |0 The command completed successfully. VPN Server>
もしも万が一無かった時は
VPN Server>hubcreate
と入力しましょう。Hubの名前はなんでもいいです。
ドメインを登録する
これはやらなくてもいいですが、私はConoHaの初期ドメイン(コントロールパネルでの逆引きホスト名)がProxyサーバーの管理者から規制された時に備えて独自ドメインをVPSに設定しました。同じことをしている記事があるのでリンクを貼っておきます。
cmdで[nslookup ドメイン名]を入力し、VPSのIPアドレスが確認できたら設定成功です。
接続設定
ゴールは目の前です。ここからはGUIでの操作です。
必要なソフトのダウンロード
このように選択してダウンロードしてください。もう一つ、VPN Clientもダウンロードしておきます。
インストーラーを起動しインストールしましょう。全て[次へ]を選択していって問題ないです。
接続設定
インストールが完了したら「SoftEther VPN サーバー管理」を起動します。
[新しい接続設定]をクリックするとこのような画面になると思います。
この3つを入力↓
[接続設定名]自由
[ホスト名]VPSのIPアドレスまたは逆引きホスト名、ドメイン
[管理者パスワード]上で設定した管理者パスワード
[OK]をクリックし、[接続]をクリック
※接続後ポップアップが出てくるかも知れませんが無視でいいです
仮想Hubの管理
赤枠で囲ったところを設定します。
ユーザー設定
[ユーザーの管理]をクリック。
左下の[新規作成]をクリック。
[ユーザー名]好きな名前。あだ名とか
[パスワード認証]ユーザー固有のパスワード
の2つを最低でも設定しましょう。ユーザーは好きなだけ増やせますが接続人数が多いほどサーバーに負荷がかかります。(=速度の低下)
仮想NAT・DHCPサーバーの設定
[仮想NATおよび仮想DHCPサーバー機能]をクリック。
[SecureNATの機能を有効にする]をクリック。ポップアップがいくつか出てきますがokとかを押して進んでください。
有効になったら[SecureNATをの設定]をクリック。
[MACアドレス]最初の部分だけ00-ACに変更
[IPアドレス]192.168.xx.xx (xxは数字)
[配布IPアドレス帯]192.168.30.10 から 192.168.30.200
[デフォルトゲートウェイのアドレス]空白またはVPSのIP
ローカルブリッジ接続の設定
[ローカルブリッジ設定]をクリック
「新しいローカルブリッジの定義」の「仮想HUB」でDEFAULTを選択してください。
「作成する種類」では「新しいtapデバイスとのブリッジ接続」を選択し、tapデバイス名をつけて[ローカルブリッジを追加]をクリックします。
これで「SoftEther VPN サーバー管理」での設定は完了です。次はいよいよ接続です。
接続
先程インストールした「SoftEther VPN クライアント接続」を起動してください。
[新しい接続設定の作成]をダブルクリックします。
赤枠で囲った所を設定していきます。
[接続設定名]自由。好きなの
[ホスト名]VPSのIPアドレスまたは逆引きホスト名、ドメイン
[仮想HUB名]DEFAULT
[プロキシの種類]HTTPプロキシサーバー経由接続
[ユーザー名]設定したもの
[パスワード]設定したもの
[プロキシサーバーの接続設定]をクリックしてください。
あなたの環境に合わせて設定してください。ユーザー名とパスワードは学内ネットに接続する時のものです。
参考にしたサイト
とても助かりました。ありがとうございました。
更新情報
2020/04/21
・SoftEhterを自動起動させるところに
# 自動起動ON
[User@IP :system]$ sudo systemctl enable softethervpn
を追記しました
・「参考にしたサイト」の項目を追加しました。