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 は許可する、という意味になります。