Ubuntu にインストールした SoftEther VPN クライアントをコマンド操作で設定する

前書き

前回の記事の続きである。前回の記事では Ubuntu に SoftEther VPN クライアント (以下 VPN クライアントと略することあり) をインストールする方法を書いた。

本稿では、インストールした VPN クライアントをコマンド操作で設定する方法を書いていく。SoftEther VPN Server Manager は一切使いません。

設定作業は、Ubuntu に ssh ログインして行う。

最初にやること

VPN クライアントの設定を始める前に以下を決めることが肝心です。テキストエディターとかにメモすることをおすすめします。

以下の表にあるコマンドというのは、SoftEther VPN に付帯している vpncmd (コマンドライン管理ユーティリティソフトウェア) で使うコマンド名です。「この項目の設定にはこのコマンドを使うのか〜」とご理解いただけます。

項目 コマンド
[1] 仮想 LAN カード名 hoge_vnic NicCreate
[2] VPN 接続名 vpn_to_hoge AccountCreate
[3] VPN サーバの IP / FQDN hoge.softether.net AccountCreate
[4] VPN サーバの tcp ポート番号 5555 AccountCreate
[5] VPN サーバの仮想 HUB 名 hoge-vhub AccountCreate
[6] VPN サーバに接続するユーザ名 yourname AccountCreate
[7] 上記ユーザーのパスワード yourpassword AccountPasswordSet

これが決まっていないと VPN クライアントの設定が進められないので最初にきちっと用意する。

VPN クライアントを起動させておく

VPN クライアントの設定をするためには、まずプロセスを起動する必要がある。

$ cd /usr/local/vpnclient/
$ sudo ./vpnclient start
The SoftEther VPN Client service has been started.
$

ここからが VPN クライアントの設定です。

VPN クライアントの設定

vpncmd コマンドでコマンドライン管理ユーティリティを起動

以下のようにして vpncmd を実行して VPN クライアントに接続する。

$ sudo ./vpncmd
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.34 Build 9745   (English)
Compiled 2020/04/05 23:39:56 by buildsan at crosswin
Copyright (c) SoftEther VPN Project. All Rights Reserved.

By using vpncmd program, the following can be achieved.

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: 2

Specify the host name or IP address of the computer that the destination VPN Client is operating on.
If nothing is input and Enter is pressed, connection will be made to localhost (this computer).
Hostname of IP Address of Destination:

Connected to VPN Client "localhost".

VPN Client>

プロンプトが VPN Client> になればオーケー。

①仮想 LAN カードを作る

Ubuntu の中 = VPN クライアントに仮想 LAN カードを作ります。この仮想 LAN カードが、インターネットを経由して VPN サーバの仮想 HUB につながって VPN 接続が成り立ちます。

NicCreate コマンドで作って、NicList コマンドで確認します。

VPN Client>NicCreate
NicCreate command - Create New Virtual Network Adapter
Virtual Network Adapter Name: hoge_vnic

The command completed successfully.

VPN Client>NicList
NicList command - Get List of Virtual Network Adapters
Item                        |Value
----------------------------+-----------------------------------
Virtual Network Adapter Name|hoge_vnic
Status                      |Enabled
MAC Address                 |5E564176D551
Version                     |Version 4.34 Build 9745   (English)
The command completed successfully.

VPN Client>

② VPN 接続を作る

この工程では、最初に作った表で言うところの、

  • [2] VPN 接続名
  • [3] VPN サーバの IP / FQDN
  • [4] VPN サーバの tcp ポート番号
  • [5] VPN サーバの仮想 HUB 名
  • [6] VPN サーバに接続するユーザ名

と、①で作った 仮想 LAN カード名が必要になります。

AccountCreate コマンドで VPN 接続の定義を作るわけです。作った後は AccountList コマンドで確認します。

VPN Client>AccountCreate
AccountCreate command - Create New VPN Connection Setting
Name of VPN Connection Setting: vpn_to_hoge

Destination VPN Server Host Name and Port Number: hoge.softether.net:5555

Destination Virtual Hub Name: hoge-vhub

Connecting User Name: yourname

Used Virtual Network Adapter Name: hoge_vnic

The command completed successfully.

VPN Client>AccountList
AccountList command - Get List of VPN Connection Settings
Item                        |Value
----------------------------+----------------------------------------------------
VPN Connection Setting Name |vpn_to_hoge
Status                      |Offline
VPN Server Hostname         |hoge.softether.net:5555 (Direct TCP/IP Connection)
Virtual Hub                 |hoge-vhub
Virtual Network Adapter Name|hoge_vnic
The command completed successfully.

VPN Client>

③ VPN ユーザーのパスワードと VPN 接続の紐付け

ここで②で作った VPN 定義と VPN ユーザーのパスワード (最初の表内の [7]) を紐付けます。

AccountPasswordSet コマンドで紐付けて、AccountGet コマンドで確認します。

VPN Client>AccountPasswordSet
AccountPasswordSet command - Set User Authentication Type of VPN Connection Setting to Password Authentication
Name of VPN Connection Setting: vpn_to_hoge

Please enter the password. To cancel press the Ctrl+D key.

Password: yourpassword
Confirm input: yourpassword

Specify standard or radius: radius

The command completed successfully.

VPN Client>AccountGet
AccountGet command - Get Setting of VPN Connection Setting
Name of VPN Connection Setting: vpn_to_hoge

Item                                                 |Value
-----------------------------------------------------+----------------------------------
VPN Connection Setting Name                          |vpn_to_hoge
Destination VPN Server Host Name                     |hoge.softether.net
Destination VPN Server Port Number                   |5555
Destination VPN Server Virtual Hub Name              |hoge-vhub
Proxy Server Type                                    |Direct TCP/IP Connection
Verify Server Certificate                            |Disable
Device Name Used for Connection                      |hoge_vnic
Authentication Type                                  |RADIUS or NT Domain Authentication
User Name                                            |yourname
Number of TCP Connections to Use in VPN Communication|1
Interval between Establishing Each TCP Connection    |1
Connection Life of Each TCP Connection               |Infinite
Use Half Duplex Mode                                 |Disable
Encryption by SSL                                    |Enable
Data Compression                                     |Disable
Connect by Bridge / Router Mode                      |Disable
Connect by Monitoring Mode                           |Disable
No Adjustment for Routing Table                      |Disable
Do not Use QoS Control Function                      |Disable
The command completed successfully.

VPN Client>

以上で VPN クライアントのひととおり設定ができました。

VPN クライアント起動時に自動で VPN 接続させる

VPN クライアントが起動したら VPN 接続を自動的に始める動作にしたい場合、AccountStartupSet コマンドを使います。

VPN Client>AccountStartupSet
AccountStartupSet command - Set VPN Connection Setting as Startup Connection
Name of VPN Connection Setting: vpn_to_hoge

The command completed successfully.

VPN Client>

これでほとんどの VPN 設定が終わりましたが、VPN クライアント = Ubuntu のネットワーク周りの設定をする必要があります。

今回、仮想 LAN カードには DHCP でなく固定 IP を設定することにしますが、それは次の投稿で書きます。

(おまけ) ヤマハルータの NAT 設定追加

これは関係ある人は少ないと思いますが、一応書いておきます。VPN サーバー側にあるルータ設定のお話です。

ここまで設定してきた VPN クライアントは、さくらの VPS 上にある Ubuntu 上で稼働します。VPN クライアントが VPN 接続する相手 = VPN サーバーは、インターネットを介して我が家のルータを超えて、パナソニックのレッツノートにインストールしてある Ubuntu 上で稼働しています。

VPN 通信が成立するためには、さくらの VPS の Ubuntu から我が家にある Ubuntu まで tcp: 5555 で疎通できる必要があります。

tcp:5555 で疎通させるために、我が家のルータ (ヤマハ RTX1100) に NAT 設定を足す必要があります。それが、

# nat descriptor masquerade static 2 7 172.16.1.2 tcp 5555

の 1 行です。

このコマンドの意味は細かく説明しませんが、こういうのが僕の環境では必要だから設定した。その程度に捉えて頂ければと思います。

(おまけ) Ubuntu のファイアウオール設定追加

我が家の Ubuntu = VPN サーバーではファイアウオールを動かして余計な通信は許可しないようにしています。

インターネット側から tcp: 5555 が疎通するためには、この Ubuntu でファイアウオールの許可設定を追加してやる必要があります。ufw で以下のように設定しました。

$ sudo ufw allow in on enp0s25 from ww.xx.yy.zz/23 to 172.16.1.2 port 5555 proto tcp

こちらも詳しくは解説しませんが、ww.xx.yy.zz は、さくらの VPS の Ubuntu が持っている固定グローバル IP です。

この固定 IP からの tcp 5555 は許可する、という意味になります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください