自宅サーバをInternet公開にするためSoftEther VPNをVPS上に設定する(5)

ISP によるPrivate network内にある自宅サーバをInternet公開サーバにするため,VPS serverを借りてSoftEther VPNによるVPNを構築する.

今回は,いよいよ自宅サーバ(VPN Bridge)とVPS server(VPN Server)を接続する.
SoftEther のWebページでいうところの拠点間接続というところだ.

状況確認

  • VPN Server (on Conoha VPS) :
    (local bridge: tap_vpn = 192.168.xx.1)
  • VPN Bridge (on home server) :
    (local bridge: tap_vpn = 192.168.xx.11)

自分で決めてこう言うのもなんだが,local bridgeのNetwork interface名がどちらも同じなのは紛らわしいな(笑).

この両者をカスケード接続する.これは「10.6 拠点間接続VPNの構築(IP routingを使用)」( https://ja.softether.org/4-docs/1-manual/A/10.6 )に該当する方法だと理解している.ただし,今回のケースはVPNらしい使い方をしていない.VPN Bridge側は計算機1台だけであり,その先にnetworkがあるという想定ではないので「拠点」とは言いがたいからである.
(もしかしたら,今回の用途であればVPN BridgeでなくてVPN Clientでも十分なのかもしれない.そこは不勉強で試していない)
この接続が確立すると,VPS serverと自宅サーバ間に「192.168.xx.0/24」のVirtual Private networkができることになる.

カスケード接続

VPN Bridge側からVPN Serverへ接続する.仮想Hub同士の接続なので「カスケード接続」というのだろう.私はCUI派なので,vpncmdコマンドで行う.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
$ sudo /usr/local/vpnbridge/vpncmd localhost:5555 /SERVER 
(サーバ管理目的でvpncmdコマンド起動)
[sudo] password for user:
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.38 Build 9760 (English)
Compiled 2021/08/17 22:32:49 by buildsan at crosswin
Copyright (c) SoftEther VPN Project. All Rights Reserved.

Connection has been established with VPN Server "localhost" (port 5555).

You have administrator privileges for the entire VPN Server.

VPN Server>Hub BRIDGE
(Hub "BRIDGE" に移動)

VPN Server/BRIDGE>statusget
(Hub "BRIDGE"の状態確認)
StatusGet command - Get Current Status of Virtual Hub
Item |Value
-----------------------------+-------------------
Virtual Hub Name |BRIDGE
Status |Online
Type |Standalone
SecureNAT |Disabled
... 以下省略

VPN Server/BRIDGE>sessionlist
(現在のHub に接続されているsessionの確認)
接続前は設定済みのローカルブリッジがセッションとして表示される.
SessionList command - Get List of Connected Sessions
Item |Value
----------------+------------------
Session Name |SID-LOCALBRIDGE-1
VLAN ID |-
Location |Local Session
User Name |Local Bridge
Source Host Name|Ethernet Bridge
TCP Connections |None
Transfer Bytes |1,356
Transfer Packets|1,361
The command completed successfully.


VPN Server/BRIDGE>CascadeList
(全カスケード接続の状態確認)
... まだ未設定なので何も表示されないはず ...

VPN Server/BRIDGE>CascadeCreate cascade0 /SERVER:xx.yy.ww.zz:5555 /HUB:DEFAULT /USERNAME:userA
(カスケード接続(=VPN Serverへの接続)の設定)
"cascade0"という名称でカスケード接続の設定をした(これは接続名なのでなんでも良い).
設定には以下の3情報が必要.VPN server側の情報を事前に準備しておくこと
1) IP address and Port of VPN Server
(当然だが,ここでのIP addressは 192.168.xx.1ではなくて VPS serverのGlobal IP addr.である)
2) Hub name
(私はDEFAULTをそのまま使ったが,自分で作成した場合はそのHUB名を指定する)
3) User name
(どのHubのどのUserでVPN Serverに接続するのか?という意味)

VPN Server/BRIDGE>CascadePasswordSet cascade0 /PASSWORD:password /TYPE:standard
(カスケード接続時のパスワードと認証方法を指定.上記で設定したカスケード接続
"cascade0" について接続時の認証方法とパスワードを設定した.
このパスワードは,接続先であるVPN Server:Hub内に設定したユーザのパスワードで
VPN Server側で "userpasswordset" コマンドで設定したものを指定)

VPN Server/BRIDGE>CascadeOnline cascade0
(カスケード接続を行う.コマンドのOnline/Offlineで接続・切断処理を行う.
接続状態はCascadeListコマンドで確認できる(下記))

VPN Server/BRIDGE>CascadeList (全カスケード接続の状態確認)
CascadeList command - Get List of Cascade Connections
Item |Value
----------------------+-------------------------
Setting Name |cascade0
Status |Online (Established)
Established at |2021-10-07 (Thu) 03:33:07
Destination VPN Server|192.168.xx.1
Virtual Hub |
The command completed successfully.

VPN Server/BRIDGE>CascadeStatusGet cascade0
(カスケード接続の状態確認)
... 指定したカスケード接続に関する詳細表示が出てくる ...

これでVPN ServerとVPN Bridgeが接続されたことになる.
pingコマンドで互いに導通確認をすると良いだろう.
$ ping 192.168.xx.1 (自宅サーバから)
$ ping 192.168.xx.11 (VPS serverから)

今日はとりあえずここまで.

参考資料:

ends here

自宅サーバをInternet公開にするためSoftEther VPNをVPS上に設定する(5)

http://the.netaro.info/2021/10/09/2021-1009_softether-kyoten-connect/

Author

T.T

Posted on

2021-10-09

Updated on

2021-11-16

Licensed under