#author("2018-08-27T20:46:55+09:00","","")

#author("2018-08-27T20:51:05+09:00","","")

[[CentOS7]]
*SoftEther VPN Client でVPN接続をする [#ze417073]
''SoftEther VPN'' を使用して''CentOS 7'' を''VPN''クライアントとして''VPN''サーバーに接続することを目的としたインストール手順、および、設定。



*ダウンロード [#tae511a3]
[[SoftEther ダウンロード センター>http://www.softether-download.com/ja.aspx?product=softether]]からダウンロードします。

-ダウンロードするソフトウェア:''SoftEther VPN (Freeware)''
-コンポーネント:''SoftEther VPN Client''
-プラットフォーム:''Linux''
-CPU:''Intel x64 / AMD 64 (64bit)''



*パッケージの解凍 [#w8407902]
''tar''で解凍します。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# tar zxvf softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz|



*実行可能ファイルの生成 [#hd607244]
''make''を実行して、使用権許諾契約書を読むために「1」を選択します。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# cd vpnserver/|
|[root@localhost ~]# make|
|-------------------------------------------------------------------- &br;  &br; SoftEther VPN Client (Ver 4.22, Build 9634, Intel x64 / AMD64) for Linux Install Utility &br; Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved. &br;  &br; -------------------------------------------------------------------- &br;  &br;  &br; Do you want to read the License Agreement for this software ? &br;  &br;  1. Yes &br;  2. No &br;  &br; Please choose one of above number: &br;  &br; &color(lightpink){1}; &color(lime){「1」を入力してEnterキー};|
|&color(lime){使用権許諾契約書を読んで承諾したら、それぞれ1をクリックします。};|
|Did you read and understand the License Agreement ? &br; (If you couldn't read above text, Please read 'ReadMeFirst_License.txt' &br;  file with any text editor.) &br;  &br;  1. Yes &br;  2. No &br;  &br; Please choose one of above number: &br; &color(lightpink){1}; &color(lime){「1」を入力してEnterキー}; &br;  &br;  &br; Did you agree the License Agreement ? &br;  &br; 1. Agree &br; 2. Do Not Agree &br;  &br; Please choose one of above number: &br; &color(lightpink){1}; &color(lime){「1」を入力してEnterキー}; &br;  &br; make[1]: Entering directory `/home/ec2-user/Installer/vpnclient' &br; Preparing SoftEther VPN Client... &br; ranlib lib/libcharset.a &br; ranlib lib/libcrypto.a &br; ranlib lib/libedit.a &br; ranlib lib/libiconv.a &br; ranlib lib/libintelaes.a &br; ranlib lib/libncurses.a &br; ranlib lib/libssl.a &br; ranlib lib/libz.a &br; ranlib code/vpnclient.a &br; gcc code/vpnclient.a -O2 -fsigned-char -pthread -m64 -lm -ldl -lrt -lpthread -L./ lib/libssl.a lib/libcrypto.a lib/libiconv.a lib/libcharset.a lib/libedit.a lib/libncurses.a lib/libz.a lib/libintelaes.a -o vpnclient &br; ranlib code/vpncmd.a &br; gcc code/vpncmd.a -O2 -fsigned-char -pthread -m64 -lm -ldl -lrt -lpthread -L./ lib/libssl.a lib/libcrypto.a lib/libiconv.a lib/libcharset.a lib/libedit.a lib/libncurses.a lib/libz.a lib/libintelaes.a -o vpncmd &br;  &br; -------------------------------------------------------------------- &br; The preparation of SoftEther VPN Client is completed ! &br;  &br;  &br; *** How to switch the display language of the SoftEther VPN Client Service *** &br; SoftEther VPN Client supports the following languages: &br;   - Japanese &br;   - English &br;   - Simplified Chinese &br;  &br; You can choose your prefered language of SoftEther VPN Client at any time. &br; To switch the current language, open and edit the 'lang.config' file. &br;  &br;  &br; *** How to start the SoftEther VPN Client Service *** &br;  &br; Please execute './vpnclient start' to run the SoftEther VPN Client Background Service. &br; And please execute './vpncmd' to run the SoftEther VPN Command-Line Utility to configure SoftEther VPN Client. &br;  &br; Of course, you can use the VPN Server Manager GUI Application for Windows / Mac OS X on the other Windows / Mac OS X computers in order to configure the SoftEther VPN Client remotely. &br;  &br;  &br; *** For Windows users *** &br; You can download the SoftEther VPN Server Manager for Windows &br; from the http://www.softether-download.com/ web site. &br; This manager application helps you to completely and easily manage the VPN server services running in remote hosts. &br;  &br;  &br; *** For Mac OS X users *** &br; In April 2016 we released the SoftEther VPN Server Manager for Mac OS X. &br; You can download it from the http://www.softether-download.com/ web site. &br; VPN Server Manager for Mac OS X works perfectly as same as the traditional Windows versions. It helps you to completely and easily manage the VPN server services running in remote hosts. &br;  &br; -------------------------------------------------------------------- &br;  &br; make[1]: Leaving directory `/home/ec2-user/Installer/vpnclient'|



*SoftEther VPN Client の設置 [#o67a17d7]
''make''したファイルをそのまま移動させます。
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# cd ..|
|[root@localhost ~]# mv vpnclient /usr/local|
|&color(lime){権限を変更しておきます。};|
|[root@localhost ~]# chown -R root:root /usr/local/vpnclient/|
|[root@localhost ~]# cd /usr/local/vpnclient/|
|[root@localhost ~]# chmod 600 *|
|[root@localhost ~]# chmod 700 vpncmd|
|[root@localhost ~]# chmod 700 vpnclient|



*vpncmd の check コマンドによる動作チェック [#n4654390]
''vpncmd''を実行して、''VPN Tools''で動作チェックを行います。
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# ./vpncmd|
|vpncmd command - SoftEther VPN Command Line Management Utility &br; SoftEther VPN Command Line Management Utility (vpncmd command) &br; Version 4.22 Build 9634   (English) &br; Compiled 2016/11/27 15:23:56 by yagi at pc30 &br; Copyright (c) SoftEther VPN Project. All Rights Reserved. &br;  &br; By using vpncmd program, the following can be achieved. &br;  &br; 1. Management of VPN Server or VPN Bridge &br; 2. Management of VPN Client &br; 3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool) &br;  &br; Select 1, 2 or 3: &color(lightpink){3}; &color(lime){「3」を入力してEnterキー}; &br;  &br; VPN Tools has been launched. By inputting HELP, you can view a list of the commands that can be used.|
|VPN Tools>&color(lightpink){check}; &color(lime){←「check」コマンド入力};|
|Check command - Check whether SoftEther VPN Operation is Possible &br; --------------------------------------------------- &br; SoftEther VPN Operation Environment Check Tool &br;  &br; Copyright (c) SoftEther VPN Project. &br; All Rights Reserved. &br;  &br; 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... &br;  &br; Checking 'Kernel System'... &br;               Pass &br; Checking 'Memory Operation System'... &br;               Pass &br; Checking 'ANSI / Unicode string processing system'... &br;               Pass &br; Checking 'File system'... &br;               Pass &br; Checking 'Thread processing system'... &br;               Pass &br; Checking 'Network system'... &br;               Pass &br;  &br; All checks passed. It is most likely that SoftEther VPN Server / Bridge can operate normally on this system. &br;  &br; The command completed successfully.|
|VPN Tools>&color(lightpink){exit}; &color(lime){←抜ける};|



*SoftEther Client の仮想NICにIPアドレスを設定するシェルを新規作成 [#yb46456d]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/vpnclient/setting_ip.sh|
|      #!/bin/bash &br;  &br;       # case Static IP &br;       TAP_IF="vpn_vpn" &br;  &br;       # 30sec Loop &br;       for i in {1..30} &br;       do &br;           sleep 1 &br;           ip tap | grep --quiet ${TAP_IF} &br;           STATUS=$? &br;           if [ "${STATUS}" == "0" ] &br;           then &br;               ifcfg  ${TAP_IF}  add  10.8.0.10/24 &br;               break; &br;           fi &br;       done &br;       exit 0|
|[root@localhost ~]# chmod 700 /usr/local/vpnclient/setting_ip.sh|



*SoftEther Client の起動スクリプト新規作成 [#ud17fe51]
サービスの起動時に、仮想''NIC'' (''vpn_vpn'') に固定IPアドレスを付与する

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/lib/systemd/system/vpnclient.service|
|      [Unit] &br;       Description=SoftEther VPN Client &br;       After=network.target &br;  &br;       [Service] &br;       Type=forking &br;       ExecStart=/usr/local/vpnclient/vpnclient start &br;       ExecStartPost=/usr/local/vpnclient/setting_ip.sh &br;       ExecStop=/usr/local/vpnclient/vpnclient stop &br;  &br;       [Install] &br;       WantedBy=multi-user.target|



*サービスの開始と停止 [#nb5b2cd8]
以下のコマンドでサービスを開始できます。ただ、自動起動の確認として、サーバを再起動したほうが良いかと思います。
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# systemctl daemon-reload|
|[root@localhost ~]# systemctl enable vpnclient|



*クライアントの設定・管理 [#t4a1924a]
次に、クライアントの設定を''vpncmd''で行っていきます。

''vpncmd''については[[こちら>https://ja.softether.org/4-docs/1-manual/6/6.5]]に記載されています。

なお、以下の設定は「''VPN'' クライアント接続マネージャ」の「別のコンピュータのSoftEther VPN Clientの管理」からでもできます。

その場合は''TCP''ポート''9930''を解放しておく必要があります。



*VPN Client へ接続 [#yd172190]
まだいろいろ設定していないので、サービス(''systemctl'')としてではなく直接 ''vpnclient'' を起動する。
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# cd /usr/local/vpnclient|
|[root@localhost vpnclient]# ./vpnclient  start|
|[root@localhost vpnclient]# ./vpncmd localhost /CLIENT|



*新規仮想''NIC'' の作成 [#we6c7525]
''NicCreate''コマンドで作成します。ここでは"''VPN''"という名前で作成します。
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# cd /usr/local/vpnclient|
|[root@localhost vpnclient]# ./vpncmd localhost /CLIENT|
|VPN Client>NicCreate vpn|
|NicCreate command - Create New Virtual Network Adapter &br; The command completed successfully.|
|VPN Client>NicList|
|      仮想 LAN カード名|vpn &br;       状態             |有効 (使用可能) &br;       MAC アドレス     |00AC71755582 &br;       バージョン       |Version 4.22 Build 9634   (Japanese)|
|VPN Client>|



*新しい接続設定の作成 [#w6f2b8bc]
''AccountCreate''コマンドで作成します。ここでは"''VPN_Server''"という名前で作成します。

サーバのホスト名や、''HUB''名、ユーザ名は''VPN''サーバ設定で行った設定を参照して下さい。

''NIC''名は''LAN'' カードの作成で作成した''NIC''名です。

|BGCOLOR(black):COLOR(white):|c
|VPN Client>AccountCreate VPN_Server /SERVER:XXX.XXX.XXX.XXX:443 /HUB:VPN /USERNAME:admin /NICNAME:VPN|
|AccountCreate command - Create New VPN Connection Setting &br; The command completed successfully.|
|VPN Client>AccountList|
|AccountList command - Get List of VPN Connection Settings &br; Item                        | Value &br; ----------------------------+-------------------------------------------- &br; VPN Connection Setting Name | VPN_Server &br; Status                      | Offline &br; VPN Server Hostname         | XXX.XXX.XXX.XXX:443 (Direct TCP/IP Connection) &br; Virtual Hub                 | VPN &br; Virtual Network Adapter Name | VPN &br; The command completed successfully.|



*接続設定のユーザー認証の種類をパスワード認証に設定 [#k4206977]
''AccountPasswordSet''コマンドで設定します。パスワードは''VPN''サーバ設定で行った設定を参照して下さい。

|BGCOLOR(black):COLOR(white):|c
|VPN Client>AccountPasswordSet VPN_Server /PASSWORD:Passw0rd /TYPE:standard|
|AccountPasswordSet command - Set User Authentication Type of VPN Connection Setting to Password Authentication &br; The command completed successfully.|
|VPN Client>|




*接続設定をスタートアップ接続に設定 [#ieea129e]
''AccountPasswordSet''コマンドで設定します。パスワードは''VPN''サーバ設定で行った設定を参照して下さい。

|BGCOLOR(black):COLOR(white):|c
|VPN Client>AccountStartupSet VPN_Server|
|AccountStartupSet command - Set VPN Connection Setting as Startup Connection &br; The command completed successfully.|
|VPN Client>exit|



*サーバー接続 [#ea6e7f49]
設定できたので接続してみます。もし、「接続完了」にならなければ、ユーザ名、パスワード、HUB名、サーバアドレス、ポート等々を確認してみてください。

サーバー側のログ( /usr/local/vpnserver/server_log/vpn_yyyymmdd.log )も確認した方が良いかも。

|BGCOLOR(black):COLOR(white):|c
|VPN Client>AccountConnect VPN_Server|
|VPN Client>AccountList|
|      接続設定名         |VPN_Server &br;       状態               |接続完了 &br;       接続先 VPN サーバー|10.8.0.10:44444 (直接 TCP/IP 接続) &br;       仮想 HUB 名        |VPN &br;       仮想 LAN カード名  |vpn_vpn|



*仮想NIC 確認 [#z78e6595]
仮想''NIC'' が作成されていることの確認。

|BGCOLOR(black):COLOR(white):|c
|VPN Client>Quit|
|[root@localhost ~]# ip tap|
|      vpn_vpn: tap|



*サービス停止 [#ff511c7f]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# ./vpnclient stop|



*UDPホールパンチングの無効化 [#i934934a]
設定ファイルを直接編集

※ 必要ないのでパンチしないようにします。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# cp -p vpn_client.config vpn_client.config.org|
|[root@localhost ~]# vi vpn_client.config|
|      declare AccountDatabase &br;       { &br;         declare Account0 &br;         { &br;           declare ClientOption &br;           { &br;             string AccountName USER1 &br;             bool NoUdpAcceleration true|



*サービス再起動(自動接続 & 自動IP付与) [#ob38088a]
サービスとして起動すると、ちゃんとIPアドレスを仮想''NIC''に設定してくれることを確認。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# systemctl start vpnclient|
|[root@localhost ~]# ip addr show vpn_vpn|
|      5: vpn_vpn: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 &br;           link/ether 00:ac:71:75:55:82 brd ff:ff:ff:ff:ff:ff &br;           inet 10.8.0.10/24 brd 10.8.0.255 scope global vpn_vpn &br;              valid_lft forever preferred_lft forever|



*自動接続ステータス確認(クライアント) [#a5517483]
アカウントがサービス起動時に自動的に接続に行っていることも確認。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# ./vpncmd localhost /CLIENT|
|VPN Client>AccountStatusGet VPN_Server|
|      接続設定名                    &#124;VPN_Server &br;       セッション接続状態            &#124;接続完了 (セッション確立済み) &br;       サーバー名                    &#124;xxx.xxx.xxx.xxx &br;       ポート番号                    &#124;TCP ポート 44444|
|VPN_Server>Quit|



*通信確認(クライアント → サーバー) [#e32f7893]
ちゃんとサーバーと接続されていることも確認。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# ping -c 3  10.8.0.111|
|      PING 10.8.0.111 (10.8.0.111) 56(84) bytes of data. &br;       64 bytes from 10.8.0.111: icmp_seq=1 ttl=64 time=2.42 ms &br;       64 bytes from 10.8.0.111: icmp_seq=2 ttl=64 time=1.02 ms &br;       64 bytes from 10.8.0.111: icmp_seq=3 ttl=64 time=1.01 ms &br;  &br;       --- 10.8.0.111 ping statistics --- &br;       3 packets transmitted, 3 received, 0% packet loss, time 2003ms &br;       rtt min/avg/max/mdev = 1.010/1.489/2.428/0.664 ms|



*クライアント同士の通信について [#b0da27b8]
[[公式ドキュメントで解説されている>https://ja.softether.org/4-docs/1-manual/A/10.3]]ように、上記と同様に''VPN Client''を導入した''PC''を用意すると、あとはクライアント同士で通信が可能です。

IPアドレスの割り当てに問題がある場合は、更に''route''の設定などが必要かもしれません。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS