はじめに
ゲームショウもオンライン開催となり、やっぱりプレイアブルがいいなーと思うgrnishiです。こんにちわ。
本題
新型コロナの影響でリモートワークも本格化している昨今。VPNが良いか悪いかはともかく便利なのは間違いありません。仮に新型コロナが無くなったとしても台風や大雪、家庭の事情などリモートワークについては無視できない働き方だと思います。
弊社ではYAMAHAのRTXでVPNの設定をして使っていますが、ビルの定期メンテによる停電だったり何かしらのトラブルが発生した事を想定して某社の固定IPサービスを人数分契約しています。
基本的には使っていません。何かあったらの予備です。その予備にお金がかかるなーと思っていまして、これはクラウドでVPNサーバを構築して必要な時だけ起動すれば良いのでは?と思い、GCEでVPNサーバを立ててみました。
というわけで今日はさくっと小ネタです。
注意点
インスタンス作成時にIP転送をオンにする必要があります。
またファイアウォールでUDP 500とUDP 4500をあける必要があります。
環境
# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core)
VPNクライアント端末
Windows、Mac、iOS、Android
インストール
まずは基本的なものを
dnf install -y wget make gcc
SoftEther_VPN_Serverをインストール
ダウンロードするファイルはこのあたりから SoftEther ダウンロード センター
wget https://jp.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz tar zxvf softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz cd vpnserver/ make cd .. mv vpnserver /usr/local/ cd /usr/local/vpnserver/ chmod 600 * chmod 700 vpncmd chown -R root:root *
管理者パスワードの作成
cd /usr/local/vpnserver/ ./vpncmd
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: 1
Specify the host name or IP address of the computer that the destination VPN Server or VPN Bridge is operating on. By specifying according to the format 'host name:port number', you can also specify the port number. (When the port number is unspecified, 443 is used.) If nothing is input and the Enter key is pressed, the connection will be made to the port number 8888 of localhost (this computer). Hostname of IP Address of Destination:
If connecting to the server by Virtual Hub Admin Mode, please input the Virtual Hub name. If connecting by server admin mode, please press Enter without inputting anything. Specify Virtual Hub Name:
If connecting to the server by Virtual Hub Admin Mode, please input the Virtual Hub name. If connecting by server admin mode, please press Enter without inputting anything. Specify Virtual Hub Name: Connection has been established with VPN Server "localhost" (port 443). You have administrator privileges for the entire VPN Server. VPN Server>ServerPasswordSet
ServerPasswordSet command - Set VPN Server Administrator Password Please enter the password. To cancel press the Ctrl+D key. Password: ********** Confirm input: **********
仮想ハブの作成
VPN Server>HubCreate gracetory_hub
ハブを選択
VPN Server>HUB gracetory_hub
ユーザを作成
VPN Server/gracetory_hub>UserCreate
パスワードの設定
VPN Server/gracetory_hub>UserPasswordSet
IPsecを有効化する
VPN Server/gracetory_hub>IPsecEnable
You cannot make a blank specification. Enable L2TP over IPsec Server Function (yes / no): You cannot make a blank specification. Enable L2TP over IPsec Server Function (yes / no): yes Enable Raw L2TP Server Function (yes / no): no Enable EtherIP / L2TPv3 over IPsec Server Function (yes / no): no Pre Shared Key for IPsec (Recommended: 9 letters at maximum): 共有キー Default Virtual HUB in a case of omitting the HUB on the Username: ユーザ名
SecureNatの有効化
VPN Server/gracetory_hub>SecureNatEnable
その他
IPアドレスは静的アドレスを作っておいた方が良いかと思います
windowsから接続
接続名: 適当に
サーバ名またはアドレス: GCEのIPアドレス
VPNの種類: 事前共有キーを使った L2TP/IPsec
事前共有キー: 上で設定したキー
サインイン情報の種類: ユーザ名とパスワード
ユーザ名: 上で作ったユーザ名@上で作った仮想HUB名
パスワード: 上で作ったパスワード
結果
とりあえず接続出来る事は確認しましたが、いまいち速度が出ないのでチューニングする必要があります。とはいえ、緊急用途としてはありだなと思いました。