明日の通勤は・・・

概要

あなたはA社に勤めています。
A社では明日からVPNサーバーを用いたリモートワークの予定でしたが、構築を担当から連絡が入り、VPNサーバーが正常に動作していなかったことが発覚しました。
あなたは、明日からのリモートワークのため、VPNサーバーで起きているの問題を特定し解決してください。

前提条件

担当者から受け取った前提条件は以下のものでした。

  • 必要であれば192.168.3.17を踏み台としてのみ使用してもよい
  • VPNへ接続する際は192.168.3.2を接続先アドレスとする

初期状態

hostからvpnへ接続を行うことができない。

終了状態

hostからvpnへ正常に接続を行うことができる。

解説

この問題では SoftEther の VPN サーバの SecureNAT にて 192.168.3.0/29 を使用する設定となっており、VPN サーバのインターフェースに振られた IP アドレスのネットワークと重複していることが原因でトラブルが発生していました。

まず、SecureNAT で使用するネットワークの範囲を変更します。ここでは 192.168.33.0/29 を設定します。DNS などは任意の値で構いません。

VPN Server/DEFAULT> SecureNatHostSet /MAC:none /IP:192.168.33.2 /MASK:none
VPN Server/DEFAULT> DhcpSet /START:192.168.33.3 /END:192.168.33.5 /MASK:255.255.255.248 /GW:192.168.33.2 

DhcpGet コマンドで設定を確認します。

VPN Server/Default>DhcpGet
DhcpGet command - Get Virtual DHCP Server Function Setting of SecureNAT Function
Item                           |Value
-------------------------------+---------------
Use Virtual DHCP Function      |Yes
Start Distribution Address Band|192.168.33.3
End Distribution Address Band  |192.168.33.5
Subnet Mask                    |255.255.255.248
Lease Limit (Seconds)          |7200
Default Gateway Address        |192.168.33.2
DNS Server Address 1           |1.1.1.1
DNS Server Address 2           |1.0.0.1
Domain Name                    |
Save NAT and DHCP Operation Log|No
Static Routing Table to Push   |
The command completed successfully.

次に、上記の VPN サーバの変更を host にて反映します。

sudo systemctl restart vpnclient.service

設定が反映されているか vpncmd にて確認します。

VPN Client>AccountList
AccountList command - Get List of VPN Connection Settings
Item                        |Value
----------------------------+------------------------------------------
VPN Connection Setting Name |prob03
Status                      |Connected
VPN Server Hostname         |192.168.3.2:443 (Direct TCP/IP Connection)
Virtual Hub                 |DEFAULT
Virtual Network Adapter Name|DEFAULT
The command completed successfully.

最後に VPN サーバでも host の接続を確認します。

VPN Server/Default>SessionList
SessionList command - Get List of Connected Sessions
Item            |Value
----------------+-----------------
Session Name    |SID-SECURENAT-1
VLAN ID         |-
Location        |SecureNAT Session
User Name       |SecureNAT
Source Host Name|Virtual Host
TCP Connections |None
Transfer Bytes  |126,856
Transfer Packets|2,131
----------------+-----------------
Session Name    |SID-USER-3
VLAN ID         |-
Location        |Local Session
User Name       |user
Source Host Name|192.168.3.10
TCP Connections |2 / 2
Transfer Bytes  |46,414
Transfer Packets|702
The command completed successfully.

別解として、SecureNAT ではなくローカルブリッジで接続するような設定も正答としています。

ただし、踏み台となっている VyOS に DHCP の設定を加えるようなことは前提条件に反するので不正としています。