Amazon Web Services 上の AmazonLinux2 に SoftEther VPN Server をセットアップする

ラズパイにSoftEtherVPNClientやSoftEtherVPNBridgeをセットアップする手順をすでに投稿しましたが、「テレワーク&Webカメラ見回りシステム」ではAmazon Web Services上の Amazon Linux 2 で、SoftEther VPN Server を稼働して、拠点間のVPN通信を中継しています。

今回は、Amazon Web Services上に、Amazon Linux 2 を初期設定後、SoftEther VPN Server を稼働する手順を投稿します。

ちなみに、Amazon Web Services を使うメリットは、EC2インスタンスの1年間無料枠を使えば、費用を節約できることと、AWSのVPC(AWSクラウドの仮想ネットワーク)が持つネットワークの機能、具体的にはセキュリティグループや公開鍵暗号を使った認証機能などを使うことで、セキュリティ面でも何かと「わざ(技)」が効くからです。

それでは、AmazonLinuxの初期設定から行きます!

1.Amazon Linux 2 の初期設定

  • タイムゾーンの変更手順

/etc/sysconfig/clockの編集して、timezoneファイル差し替えて、再起動します

  1. /etc/sysconfig/clockの編集
    /etc/sysconfig/clockのバックアップを作成してから、/etc/sysconfig/clockを編集して、
    ZONE=UTCからZONE=”Asia/Tokyo”に変更します
    [ec2-user@ip-172-28-0-214 ~]$ sudo cp /etc/sysconfig/clock /etc/sysconfig/clock.org
    [ec2-user@ip-172-28-0-214 ~]$ sudo vi /etc/sysconfig/clock#ZONE=”UTC”
    ZONE=”Asia/Tokyo”
    UTC=true
  2. timezoneの変更
    /etc/localtimeを日本時間のファイル(/usr/share/zoneinfo/Asia/Tokyo)に差し替えます
    [ec2-user@ip-172-28-0-214 ~]$ sudo cp /etc/localtime /etc/localtime.org
    [ec2-user@ip-172-28-0-214 ~]$ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
  3. 再起動を実施
    [ec2-user@ip-172-28-0-214 ~]$ sudo reboot
    [ec2-user@ip-172-28-0-214 ~]$ date
    Tue Sep 15 10:10:02 JST 2020
  • root パスワード設定

root パスワードを設定(変更)します。(パスワードを決めておきます)

[root@ip-10-0-0-220 ~]# sudo passwd root
Changing password for user root.

ユーザー root のパスワードを変更。

New password:        →パスワード入力
Retype new password:    →パスワード再入力
passwd: all authentication tokens updated successfully.

su してみます。(rootになっている場合には、rootを抜けて、ec-userで実行)

[ec2-user@ip-10-0-0-220 ~]$ su
Password:

設定した root のパスワードを入力して root ユーザになれる事を確認してください。

  • SSHのポート番号を変更(セキュリティ対策)

[root@ip-10-0-0-220 ec2-user]# sudo vi /etc/ssh/sshd_config

以下内容(抜粋)で編集します。

#
#Port 22
Port XXX
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

※ 標準では22番ポートを使うが、セキュリティ対策のために、任意のポート番号に変更する。

編集したら、設定に問題ないか確認します。問題がない場合何も表示されません。

[root@ip-10-0-0-220 ec2-user]# sudo /usr/sbin/sshd -t

設定に問題がなければsshdを再起動します。

(Amazon Linux 2 の場合)
[root@ip-10-0-0-220 ec2-user]# sudo systemctl restart sshd

(注意) 新たなポート番号で接続可能かどうか確認してください。
(注意) 現在のセッションはそのままで、別セッションでの接続確認をお勧めします。
(注意) 繋がらなくなった場合に戻せなくなる可能性があります。

注意! EC2 の Security Group 設定で、ポートでの接続許可:

ポート番号 22 の許可を、任意のポート番号に変更して下さい。
TeraTermProから接続できなくなります。

  • メンテナンスユーザ追加 (miko というユーザを作成し、鍵はec2-user用のものを再利用 ※作っても良いが)

/etc/ssh/sshd_config を編集します。

初期ユーザの ec2-user を使いません。
公開鍵で、安全性は高いのですが、デフォルトユーザは使わないようにします。
ec2-user は削除する代わりに、SSHができなくなるよう制限をかけます。

[root@ip-10-0-0-220 ec2-user]# sudo useradd miko
[root@ip-10-0-0-220 ec2-user]# ls /home                      // 作成したユーザーは /home ディレクトリで確認できます
ec2-user miko

  • miko の設定変更

ec2-user にはパスワードが設定されていないため、設定を行います。
パスワードを二回問い合わせてくるので、適当なパスワードを設定して下さい。

[root@ip-10-0-0-220 ec2-user]# sudo passwd miko  // 新規ユーザーのパスワード設定
Changing password for user miko.
New password:        →パスワード入力
Retype new password:    →パスワード再入力
passwd: all authentication tokens updated successfully.

  • 新規ユーザーで管理コマンドを実行できるようにする

追加したユーザーは、初期設定のままでは sudo コマンドを実行できません。
sudoコマンドを実行するには、ユーザーを wheel と呼ばれるグループに登録する必要があります。
wheel はスーパーユーザー(root)権限をもつグループで、 ec2-user もこのグループに属しています。

[root@ip-10-0-0-220 ec2-user]# sudo usermod -aG wheel miko

wheelに所属しているユーザー確認

[root@ip-10-0-0-220 ec2-user]# less /etc/group | grep wheel
wheel:x:10:ec2-user,miko

  • 公開鍵のコピーとパーミッション設定

新規ユーザーでインスタンスへ接続するためには、EC2に登録した公開鍵を、ユーザーのホームディレクトリ配下に登録する必要があります。

$ su
[root@ip-10-0-0-220 ec2-user]# mkdir /home/miko/.ssh
[root@ip-10-0-0-220 ec2-user]# cp -a /home/ec2-user/.ssh/authorized_keys /home/miko/.ssh/

.ssh ディレクトリとファイルのパーミッションを制限します。
コピーした .ssh ディレクトリとその配下にあるキーの所有者をec2-userから新規ユーザーへ変更します。

[root@ip-10-0-0-220 ec2-user]# chmod 700 /home/miko/.ssh
[root@ip-10-0-0-220 ec2-user]# chmod 600 /home/miko/.ssh/authorized_keys
[root@ip-10-0-0-220 ec2-user]# chown -R miko:miko /home/miko/.ssh

ユーザビリティ優先して、mikoユーザで、sudoを許可します

[root@ip-10-0-0-220 ec2-user]# sudo visudo
miko ALL=(ALL) NOPASSWD:ALL

mikoユーザで、sudoを実行し、先に設定したパスワードを入力して root ユーザになれる事を確認します。

※ 変更後反映されないようなら、以下の方法でリロードするとよいかと思います。

$ sudo systemctl restart sshd

ec2-userユーザの削除までは行わないことにします。

// userdel -r ec2-user

新規ユーザーでSSHできること、rootになれることを確認します。

$ sudo su –

  • ec2-userのSSHを禁止する(セキュリティ対策)

SSHの設定ファイル /etc/ssh/sshd_config に DenyUsers ec2-user を追記

[root@ip-10-0-0-220 miko]# sudo echo “DenyUsers ec2-user” >> /etc/ssh/sshd_config

設定後、sshdを再起動します。

[root@ip-10-0-0-220 miko]# sudo systemctl restart sshd
[root@ip-10-0-0-220 miko]# sudo systemctl status sshd
● sshd.service – OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-05-18 21:20:28 JST; 9s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 4679 (sshd)
CGroup: /system.slice/sshd.service
mq4679 /usr/sbin/sshd -D

May 18 21:20:28 ip-10-0-0-220.ap-northeast-1.compute.internal systemd[1]: Starting OpenSSH server daemon…
May 18 21:20:28 ip-10-0-0-220.ap-northeast-1.compute.internal sshd[4679]: Server listening on 0.0.0.0 port 177.
May 18 21:20:28 ip-10-0-0-220.ap-northeast-1.compute.internal sshd[4679]: Server listening on :: port 177.
May 18 21:20:28 ip-10-0-0-220.ap-northeast-1.compute.internal systemd[1]: Started OpenSSH server daemon.

  • SSH接続高速化

SSHの接続開始遅い

[root@ip-10-0-0-220 miko]# vi /etc/ssh/sshd_config
#UseDNS yes
UseDNS no

  • スワップファイル作成 t1.microのメモリ約二倍のスワップファイル作成

「スワップ領域の容量は物理メモリの2倍で設定」と昔から言われていたが、物理メモリの容量が増えた今、必ずしもそうではない。

[root@ip-10-0-0-220 miko]# sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=1280
1280+0 records in
1280+0 records out
1342177280 bytes (1.3 GB) copied, 17.6196 s, 76.2 MB/s

作成したファイルをスワップ領域として設定します。

[root@ip-10-0-0-220 miko]# sudo mkswap /mnt/swapfile
mkswap: /mnt/swapfile: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 1.3 GiB (1342173184 bytes)
no label, UUID=a08c41fb-8dc2-4b2f-bc0c-bed9d29a3810

スワップを有効にします。

[root@ip-10-0-0-220 miko]# sudo swapon /mnt/swapfile
swapon: /mnt/swapfile: insecure permissions 0644, 0600 suggested.

有効になっているか確認します。(再起動後)

[root@ip-10-0-0-220 miko]# free
total used free shared buff/cache available
Mem: 1006960 64700 70784 460 871476 793320
Swap: 1310716 0 1310716

(再)起動時に自動的にマウントされるように設定を行います。

[root@ip-10-0-0-220 miko]# sudo vi /etc/fstab

以下内容で設定を追記します。

/mnt/swapfile none swap sw 0 0

※ 次回再起動時には自動マウントされているか確認した方が確実です。

  • パッケージ・アップデート

(rootユーザで実行)

$ su
パスワード:
[root@ip-10-0-0-220 miko]# yum -y update

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 2.4 kB 00:00:00
Resolving Dependencies
–> Running transaction check
—> Package awscli.noarch 0:1.16.300-1.amzn2.0.1 will be updated
—> Package awscli.noarch 0:1.16.300-1.amzn2.0.2 will be an update
—> Package freetype.x86_64 0:2.4.11-15.amzn2.0.2 will be updated

Updated:
awscli.noarch 0:1.16.300-1.amzn2.0.2 freetype.x86_64 0:2.8-14.amzn2
gdisk.x86_64 0:0.8.10-3.amzn2 glib2.x86_64 0:2.56.1-5.amzn2.0.1
libdrm.x86_64 0:2.4.97-2.amzn2 microcode_ctl.x86_64 2:2.1-47.amzn2.0.6
selinux-policy.noarch 0:3.13.1-192.amzn2.6.1 selinux-policy-targeted.noarch 0:3.13.1-192.amzn2.6.1
yum.noarch 0:3.4.3-158.amzn2.0.4

Complete!

  • Amazon Linux インスタンスにリポジトリを追加する

既にインストールされている yum レポジトリを調べる

[root@ip-172-28-0-58 manaka]# yum repolist all

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
repo id repo name status
!amzn2-core/2/x86_64 Amazon Linux 2 core reposit enabled: 21,018
amzn2-core-debuginfo/2/x86_64 Amazon Linux 2 core reposit disabled
amzn2-core-source/2 Amazon Linux 2 core reposit disabled
amzn2extra-docker/2/x86_64 Amazon Extras repo for dock enabled: 28
amzn2extra-docker-debuginfo/2/x86_64 Amazon Extras debuginfo rep disabled
amzn2extra-docker-source/2 Amazon Extras source repo f disabled
repolist: 21,046

Amazon Linux 2 で EPEL レポジトリを有効にする

[root@ip-172-28-0-58 manaka]# sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
epel-release-latest-7.noarch.rpm | 15 kB 00:00
Examining /var/tmp/yum-root-Gc9a5s/epel-release-latest-7.noarch.rpm: epel-release-7-12.noarch
Marking /var/tmp/yum-root-Gc9a5s/epel-release-latest-7.noarch.rpm to be installed
Resolving Dependencies
–> Running transaction check
—> Package epel-release.noarch 0:7-12 will be installed
–> Finished Dependency Resolution
amzn2-core/2/x86_64 | 3.7 kB 00:00

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
epel-release noarch 7-12 /epel-release-latest-7.noarch 24 k

Transaction Summary
================================================================================
Install 1 Package

Total size: 24 k
Installed size: 24 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : epel-release-7-12.noarch 1/1
Verifying : epel-release-7-12.noarch 1/1

Installed:
epel-release.noarch 0:7-12

Complete!

[root@ip-172-28-0-58 manaka]# yum repolist all

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
194 packages excluded due to repository priority protections
repo id repo name status
amzn2-core/2/x86_64 Amazon Linux 2 core rep enabled: 21,018
amzn2-core-debuginfo/2/x86_64 Amazon Linux 2 core rep disabled
amzn2-core-source/2 Amazon Linux 2 core rep disabled
amzn2extra-docker/2/x86_64 Amazon Extras repo for enabled: 28
amzn2extra-docker-debuginfo/2/x86_64 Amazon Extras debuginfo disabled
amzn2extra-docker-source/2 Amazon Extras source re disabled
epel/x86_64 Extra Packages for Ente enabled: 13,252+194
epel-debuginfo/x86_64 Extra Packages for Ente disabled
epel-source/x86_64 Extra Packages for Ente disabled
epel-testing/x86_64 Extra Packages for Ente disabled
epel-testing-debuginfo/x86_64 Extra Packages for Ente disabled
epel-testing-source/x86_64 Extra Packages for Ente disabled

  • Amazon Linux インスタンスでソフトウェアのコンパイルを準備する

インターネットにコンパイルされていないオープンソースソフトウェアが豊富に存在します。
パッケージリポジトリからダウンロードでき、自コンパイルが必要なソフトウェアパッケージが判明することがあります。
システムでコンパイルを可能にするには、make、gccなど、いくつかのインストールが必要です。

重要!! これらの手順は Amazon Linux専用

ソフトウェアのコンパイルはすべての Amazon EC2 インスタンスで必要なタスクではないため、そのようなツールはデフォルトでインストールされていません。
ただし、「Development Tools」という名前のパッケージグループで利用でき、yum groupinstall コマンドでインスタンスに簡単に追加されます。

[root@ip-172-28-0-58 manaka]# yum groupinstall “Development Tools”

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00
194 packages excluded due to repository priority protections
Resolving Dependencies
–> Running transaction check
—> Package autoconf.noarch 0:2.69-11.amzn2 will be installed
–> Processing Dependency: m4 >= 1.4.14 for package: autoconf-2.69-11.amzn2.noarch
:  :  :
:  :  :
–> Running transaction check
—> Package zlib-devel.x86_64 0:1.2.7-18.amzn2 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing for group install “Development Tools”:
autoconf noarch 2.69-11.amzn2 amzn2-core 701 k
automake noarch 1.13.4-3.1.amzn2 amzn2-core 679 k
bison x86_64 3.0.4-6.amzn2.0.2 amzn2-core 674 k
:  :  :
:  :  :
systemtap-devel x86_64 4.2-1.amzn2.0.1 amzn2-core 2.2 M
trousers x86_64 0.3.14-2.amzn2.0.2 amzn2-core 294 k
zlib-devel x86_64 1.2.7-18.amzn2 amzn2-core 50 k

Transaction Summary
================================================================================
Install 26 Packages (+49 Dependent packages)

Total download size: 104 M
Installed size: 343 M
Is this ok [y/d/N]: y     →y を入力
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/75): apr-util-1.6.1-5.amzn2.0.2.x86_64.rpm | 99 kB 00:00
(2/75): apr-1.6.3-5.amzn2.0.2.x86_64.rpm | 118 kB 00:00
(3/75): apr-util-bdb-1.6.1-5.amzn2.0.2.x86_64.rpm | 19 kB 00:00
:  :  :
:  :  :
(73/75): systemtap-client-4.2-1.amzn2.0.1.x86_64.rpm | 3.6 MB 00:00
(74/75): trousers-0.3.14-2.amzn2.0.2.x86_64.rpm | 294 kB 00:00
(75/75): zlib-devel-1.2.7-18.amzn2.x86_64.rpm | 50 kB 00:00
——————————————————————————–
Total 48 MB/s | 104 MB 00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mpfr-3.1.1-4.amzn2.0.2.x86_64 1/75
Installing : libmpc-1.0.1-3.amzn2.0.2.x86_64 2/75
Installing : m4-1.4.16-10.amzn2.0.2.x86_64 3/75
:  :  :
:  :  :
Installing : swig-3.0.12-11.amzn2.0.3.x86_64 73/75
Installing : ctags-5.8-13.amzn2.0.2.x86_64 74/75
Installing : 1:doxygen-1.8.5-3.amzn2.0.2.x86_64 75/75
Verifying : 1:emacs-filesystem-25.3-3.amzn2.0.1.noarch 1/75
Verifying : libitm-7.3.1-9.amzn2.x86_64 2/75
Verifying : 1:doxygen-1.8.5-3.amzn2.0.2.x86_64 3/75
:  :  :
:  :  :
Verifying : perl-XML-Parser-2.41-10.amzn2.0.2.x86_64 73/75
Verifying : systemtap-4.2-1.amzn2.0.1.x86_64 74/75
Verifying : avahi-libs-0.6.31-19.amzn2.0.1.x86_64 75/75

Installed:
autoconf.noarch 0:2.69-11.amzn2
automake.noarch 0:1.13.4-3.1.amzn2
bison.x86_64 0:3.0.4-6.amzn2.0.2
:  :  :
:  :  :
swig.x86_64 0:3.0.12-11.amzn2.0.3
system-rpm-config.noarch 0:9.1.0-76.amzn2.0.10
systemtap.x86_64 0:4.2-1.amzn2.0.1

Dependency Installed:
apr.x86_64 0:1.6.3-5.amzn2.0.2
apr-util.x86_64 0:1.6.1-5.amzn2.0.2
apr-util-bdb.x86_64 0:1.6.1-5.amzn2.0.2
:  :  :
:  :  :
systemtap-client.x86_64 0:4.2-1.amzn2.0.1
systemtap-devel.x86_64 0:4.2-1.amzn2.0.1
trousers.x86_64 0:0.3.14-2.amzn2.0.2
zlib-devel.x86_64 0:1.2.7-18.amzn2

Complete!

  • vim のインストール&設定

これは、インストールされていて、作業必要でないかもしれませんが、一応。

[1] Vim インストール

[root@ip-10-0-0-220 miko]# yum -y install vim-enhanced

[2] コマンドエイリアスを適用
(全ユーザーに適用する。ユーザー個別に適用するならばそれぞれのユーザーの「~/.bashrc」等に記述)

[root@ip-10-0-0-220 miko]# vi /etc/profile

# 最終行にエイリアス追記
alias vi=’vim’

[root@ip-10-0-0-220 miko]# source /etc/profile

[3] vim の設定 (ユーザー個別に適用する。
全ユーザーに適用するならば「/etc/vimrc」に記述。「/etc/vimrc」にはデフォルトである程度設定されている。

[root@ip-10-0-0-220 miko]# cp /etc/vimrc ~/.vimrc
[root@ip-10-0-0-220 miko]# vi ~/.vimrc

set ignorecase
set smartcase
set number
set showmatch
set wrap

2.SoftEtherVPNServerのインストール

  • サーバー(EC2)にSoftEtherをインストール

つくば大学ホームページ:https://www.softether-download.com/en.aspx?product=softether

以下すべてrootで行います

[miko@ip-10-0-0-120 ~]$ sudo su –

make で必要

[root@ip-10-0-0-120 ~]# yum install -y gcc
Last metadata expiration check: 2:21:44 ago on Tue 14 Jul 2020 06:00:04 AM JST.
Dependencies resolved.
========================================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================================
Installing:
gcc x86_64 8.3.1-5.el8 rhel-8-appstream-rhui-rpms 23 M
Installing dependencies:
binutils x86_64 2.30-73.el8 rhel-8-baseos-rhui-rpms 5.7 M
cpp x86_64 8.3.1-5.el8 rhel-8-appstream-rhui-rpms 10 M
glibc-devel x86_64 2.28-101.el8 rhel-8-baseos-rhui-rpms 1.0 M
glibc-headers x86_64 2.28-101.el8 rhel-8-baseos-rhui-rpms 473 k
isl x86_64 0.16.1-6.el8 rhel-8-appstream-rhui-rpms 841 k
kernel-headers x86_64 4.18.0-193.6.3.el8_2 rhel-8-baseos-rhui-rpms 4.0 M
libmpc x86_64 1.0.2-9.el8 rhel-8-appstream-rhui-rpms 59 k
libpkgconf x86_64 1.4.2-1.el8 rhel-8-baseos-rhui-rpms 35 k
libxcrypt-devel x86_64 4.1.1-4.el8 rhel-8-baseos-rhui-rpms 25 k
pkgconf x86_64 1.4.2-1.el8 rhel-8-baseos-rhui-rpms 38 k
pkgconf-m4 noarch 1.4.2-1.el8 rhel-8-baseos-rhui-rpms 17 k
pkgconf-pkg-config x86_64 1.4.2-1.el8 rhel-8-baseos-rhui-rpms 15 k

Transaction Summary
========================================================================================================================================
Install 13 Packages

Total download size: 46 M
Installed size: 122 M
Downloading Packages:
(1/13): libmpc-1.0.2-9.el8.x86_64.rpm 506 kB/s | 59 kB 00:00
(2/13): isl-0.16.1-6.el8.x86_64.rpm 6.2 MB/s | 841 kB 00:00
(3/13): libxcrypt-devel-4.1.1-4.el8.x86_64.rpm 266 kB/s | 25 kB 00:00
:  :  :
:  :  :
Verifying : binutils-2.30-73.el8.x86_64 11/13
Verifying : glibc-devel-2.28-101.el8.x86_64 12/13
Verifying : kernel-headers-4.18.0-193.6.3.el8_2.x86_64 13/13

Installed:
binutils-2.30-73.el8.x86_64 cpp-8.3.1-5.el8.x86_64 gcc-8.3.1-5.el8.x86_64
glibc-devel-2.28-101.el8.x86_64 glibc-headers-2.28-101.el8.x86_64 isl-0.16.1-6.el8.x86_64
kernel-headers-4.18.0-193.6.3.el8_2.x86_64 libmpc-1.0.2-9.el8.x86_64 libpkgconf-1.4.2-1.el8.x86_64
libxcrypt-devel-4.1.1-4.el8.x86_64 pkgconf-1.4.2-1.el8.x86_64 pkgconf-m4-1.4.2-1.el8.noarch
pkgconf-pkg-config-1.4.2-1.el8.x86_64

Complete!

AmazonLinux2 ではインストール済み RedHat Linux は未インストール

[root@ip-10-0-0-120 miko]# yum install -y wget
Last metadata expiration check: 2:25:14 ago on Tue 14 Jul 2020 06:00:04 AM JST.
Dependencies resolved.
========================================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================================
Installing:
wget x86_64 1.19.5-8.el8_1.1 rhel-8-appstream-rhui-rpms 735 k

Transaction Summary
========================================================================================================================================
Install 1 Package

Total download size: 735 k
Installed size: 2.9 M
Downloading Packages:
wget-1.19.5-8.el8_1.1.x86_64.rpm 5.3 MB/s | 735 kB 00:00
—————————————————————————————————————————————-
Total 4.1 MB/s | 735 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : wget-1.19.5-8.el8_1.1.x86_64 1/1
Running scriptlet: wget-1.19.5-8.el8_1.1.x86_64 1/1
Verifying : wget-1.19.5-8.el8_1.1.x86_64 1/1

Installed:
wget-1.19.5-8.el8_1.1.x86_64

Complete!
[root@ip-10-0-0-120 vpnserver]# yum install -y make
Last metadata expiration check: 2:32:27 ago on Tue 14 Jul 2020 06:00:04 AM JST.
Dependencies resolved.
========================================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================================
Installing:
make x86_64 1:4.2.1-10.el8 rhel-8-baseos-rhui-rpms 498 k

Transaction Summary
========================================================================================================================================
Install 1 Package

Total download size: 498 k
Installed size: 1.4 M
Downloading Packages:
make-4.2.1-10.el8.x86_64.rpm 3.8 MB/s | 498 kB 00:00
—————————————————————————————————————————————-
Total 3.1 MB/s | 498 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : make-1:4.2.1-10.el8.x86_64 1/1
Running scriptlet: make-1:4.2.1-10.el8.x86_64 1/1
Verifying : make-1:4.2.1-10.el8.x86_64 1/1

Installed:
make-1:4.2.1-10.el8.x86_64

Complete!

AmazonLinux2 ではインストール済み RedHat Linux は未インストール

[root@ip-10-0-0-120 vpnserver]# yum install -y make
Last metadata expiration check: 2:32:27 ago on Tue 14 Jul 2020 06:00:04 AM JST.
Dependencies resolved.
========================================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================================
Installing:
make x86_64 1:4.2.1-10.el8 rhel-8-baseos-rhui-rpms 498 k

Transaction Summary
========================================================================================================================================
Install 1 Package

Total download size: 498 k
Installed size: 1.4 M
Downloading Packages:
make-4.2.1-10.el8.x86_64.rpm 3.8 MB/s | 498 kB 00:00
—————————————————————————————————————————————-
Total 3.1 MB/s | 498 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : make-1:4.2.1-10.el8.x86_64 1/1
Running scriptlet: make-1:4.2.1-10.el8.x86_64 1/1
Verifying : make-1:4.2.1-10.el8.x86_64 1/1

Installed:
make-1:4.2.1-10.el8.x86_64

Complete!

ソースコードを落としてきます。( Intel x64 / AMD64 (64bit)) /home/ec2-ser にロード

[root@ip-10-0-0-220 ~]# cd /home/miko

[root@ip-10-0-0-220 miko]# wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.34-9745-beta/softether-vpnserver-v4.34-9745-beta-2020.01.01-linux-x64-64bit.tar.gz
–2020.04.05 12:15:32– https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.34-9745-beta/softether-vpnserver-32-9731-beta-2020.01.01-li
Resolving github.com (github.com)… 52.192.72.89
Connecting to github.com (github.com)|52.192.72.89|:443… connected.
HTTP request sent, awaiting response… 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/107487278/e9c5d700-2cd3-11ea-942e-503af55e23f3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz- Credential=AKIAIWNJYAX4CSVEH53A%2F20200111%2Fus-east-1%2Fs3%2Faws4_request&X-Amz -Date=20200111T031532Z&X-Amz-Expires=300&X-Amz-Signature=bddab12afef6cb711e8f161 e5df2539ab7a0267a01b13c3f96f43ccda5998d18&X-Amz-SignedHeaders=host&actor_id=0&re sponse-content-disposition=attachment%3B%20filename%3Dsoftether-vpnserver-v4.32- 9731-beta-2020.01.01-linux-x64-64bit.tar.gz&response-content-type=application%2F octet-stream [following]
–2020.04.05 12:15:32– https://github-production-release-asset-2e65be.s3.amazonaws.com/107487278/e9c5d700-2cd3-11ea-942e-23f3?X-Amz-Algorithm=AWS4-HMA
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)… 52.217.46.228
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-amazonaws.com)|52.217.46.228|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 7507657 (7.2M) [application/octet-stream]
Saving to: ‘softether-vpnserver-v4.34-9745-beta-2020.04.05-linux-x64-64bit.tar.gz’

100%[======================================>] 7,507,657 4.84MB/s in 1.5s

2020-01-11 12:15:34 (4.84 MB/s) – ‘softether-vpnserver-v4.34-9745-beta-2020.04.05-linux-x64-64bit.tar.gz’ saved [7507657/7507657]

解凍する

[root@ip-10-0-0-220 miko]# tar xvfz softether-vpnserver-v4.34-9745-beta-2020.04.05-linux-x64-64bit.tar.gz

vpnserver/
vpnserver/Makefile
vpnserver/.install.sh
:  :  :
:  :  :
vpnserver/lib/libz.a
vpnserver/lib/License.txt
vpnserver/hamcore.se2

[root@ip-10-0-0-220 miko]# cd vpnserver/

ビルド

make をした後に、ダラダラと文字が流れてきて、ライセンスに同意しますか?と聞いてくるので、すべて1と回答する。
作成したvpnserverを/usr/localに置く。

[root@ip-10-0-0-220 vpnserver]# make

——————————————————————–

SoftEther VPN Server (Ver 4.32, Build 9731, Intel x64 / AMD64) for Linux Install Utility
Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved.

——————————————————————–

Do you want to read the License Agreement for this software ?

1. Yes
2. No

Please choose one of above number:
1                       ← 1を入力

Copyright (c) all contributors on SoftEther VPN project in GitHub.
Copyright (c) Daiyuu Nobori, SoftEther Project at University of Tsukuba, and SoftEther Corporation.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.

DISCLAIMER
==========

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THIS SOFTWARE IS DEVELOPED IN JAPAN, AND DISTRIBUTED FROM JAPAN, UNDER JAPANESE LAWS. YOU MUST AGREE IN ADVANCE TO USE, COPY, MODIFY, MERGE, PUBLISH, DISTRIBUTE, SUBLICENSE, AND/OR SELL COPIES OF THIS SOFTWARE, THAT ANY JURIDICAL DISPUTES WHICH ARE CONCERNED TO THIS SOFTWARE OR ITS CONTENTS, AGAINST US (SOFTETHER PROJECT, SOFTETHER CORPORATION, DAIYUU NOBORI OR OTHER SUPPLIERS), OR ANY JURIDICAL DISPUTES AGAINST US WHICH ARE CAUSED BY ANY KIND OF USING, COPYING, MODIFYING, MERGING, PUBLISHING, DISTRIBUTING, SUBLICENSING, AND/OR SELLING COPIES OF THIS SOFTWARE SHALL BE REGARDED AS BE CONSTRUED AND CONTROLLED BY JAPANESE LAWS, AND YOU MUST FURTHER CONSENT TO EXCLUSIVE JURISDICTION AND VENUE IN THE COURTS SITTING IN TOKYO, JAPAN. YOU MUST WAIVE ALL DEFENSES OF LACK OF PERSONAL JURISDICTION AND FORUM NON CONVENIENS. PROCESS MAY BE SERVED ON EITHER PARTY IN THE MANNER AUTHORIZED BY APPLICABLE LAW OR COURT RULE.

USE ONLY IN JAPAN. DO NOT USE THIS SOFTWARE IN ANOTHER COUNTRY UNLESS YOU HAVE A CONFIRMATION THAT THIS SOFTWARE DOES NOT VIOLATE ANY CRIMINAL LAWS OR CIVIL RIGHTS IN THAT PARTICULAR COUNTRY. USING THIS SOFTWARE IN OTHER COUNTRIES IS COMPLETELY AT YOUR OWN RISK. THE SOFTETHER VPN PROJECT HAS DEVELOPED AND DISTRIBUTED THIS SOFTWARE TO COMPLY ONLY WITH THE JAPANESE LAWS AND EXISTING CIVIL RIGHTS INCLUDING PATENTS WHICH ARE SUBJECTS APPLY IN JAPAN. OTHER COUNTRIES’ LAWS OR CIVIL RIGHTS ARE NONE OF OUR CONCERNS NOR RESPONSIBILITIES. WE HAVE NEVER INVESTIGATED ANY CRIMINAL REGULATIONS, CIVIL LAWS OR INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENTS IN ANY OF OTHER 200+ COUNTRIES AND TERRITORIES. BY NATURE, THERE ARE 200+ REGIONS IN THE WORLD, WITH DIFFERENT LAWS. IT IS IMPOSSIBLE TO VERIFY EVERY COUNTRIES’ LAWS, REGULATIONS AND CIVIL RIGHTS TO MAKE THE SOFTWARE COMPLY WITH ALL COUNTRIES’ LAWS BY THE PROJECT. EVEN IF YOU WILL BE SUED BY A PRIVATE ENTITY OR BE DAMAGED BY A PUBLIC SERVANT IN YOUR COUNTRY, THE DEVELOPERS OF THIS SOFTWARE WILL NEVER BE LIABLE TO RECOVER OR COMPENSATE SUCH DAMAGES, CRIMINAL OR CIVIL
RESPONSIBILITIES. NOTE THAT THIS LINE IS NOT LICENSE RESTRICTION BUT JUST A STATEMENT FOR WARNING AND DISCLAIMER.

READ AND UNDERSTAND THE ‘src/WARNING.TXT’ FILE BEFORE USING THIS SOFTWARE. SOME SOFTWARE PROGRAMS FROM THIRD PARTIES ARE INCLUDED ON THIS SOFTWARE WITH LICENSE CONDITIONS WHICH ARE DESCRIBED ON THE ‘src/THIRD_PARTY.TXT’ FILE.

Did you read and understand the License Agreement ?
(If you couldn’t read above text, Please read ‘ReadMeFirst_License.txt’
file with any text editor.)

1. Yes
2. No

Please choose one of above number:
1                       ← 1を入力

Did you agree the License Agreement ?

1. Agree
2. Do Not Agree

Please choose one of above number:
1                       ← 1を入力

make[1]: Entering directory `/home/miko/vpnserver’
Preparing SoftEther VPN Server…
ranlib lib/libcharset.a
ranlib lib/libcrypto.a
ranlib lib/libedit.a
ranlib lib/libiconv.a
ranlib lib/libintelaes.a
ranlib lib/libncurses.a
ranlib lib/libssl.a
ranlib lib/libz.a
ranlib code/vpnserver.a
gcc code/vpnserver.a -fPIE -O2 -fsigned-char -pthread -m64 -lm -lrt -lpthread -L./ lib/libssl.a lib/libcrypto.a lib/libiconv.a lib/libcharset.a lib/libedit.a lib/libncurses.a lib/libz.a lib/libintelaes.a -ldl -o vpnserver
ranlib code/vpncmd.a
gcc code/vpncmd.a -fPIE -O2 -fsigned-char -pthread -m64 -lm -lrt -lpthread -L./ lib/libssl.a lib/libcrypto.a lib/libiconv.a lib/libcharset.a lib/libedit.a lib/libncurses.a lib/libz.a lib/libintelaes.a -ldl -o vpncmd
./vpncmd /tool /cmd:Check
vpncmd command – SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.34 Build 9745 (English)
Compiled 2020/01/01 18:16:55 by buildsan at crosswin
Copyright (c) SoftEther VPN Project. All Rights Reserved.

VPN Tools has been launched. By inputting HELP, you can view a list of the commands that can be used.

VPN Tools>Check
Check command – Check whether SoftEther VPN Operation is Possible
—————————————————
SoftEther VPN Operation Environment Check Tool

Copyright (c) SoftEther VPN Project.
All Rights Reserved.

If this operation environment check tool is run on a system and that system passes, it is most likely that SoftEther VPN software can operate on that system. This check may take a while. Please wait…

Checking ‘Kernel System’…
Pass
Checking ‘Memory Operation System’…
Pass
Checking ‘ANSI / Unicode string processing system’…
Pass
Checking ‘File system’…
Pass
Checking ‘Thread processing system’…
Pass
Checking ‘Network system’…
Pass

All checks passed. It is most likely that SoftEther VPN Server / Bridge can operate normally on this system.

The command completed successfully.

——————————————————————–
The preparation of SoftEther VPN Server is completed !

*** How to switch the display language of the SoftEther VPN Server Service ***
SoftEther VPN Server supports the following languages:
– Japanese
– English
– Simplified Chinese

You can choose your prefered language of SoftEther VPN Server at any time.
To switch the current language, open and edit the ‘lang.config’ file.

Note: the administrative password is not set on the VPN Server. Please set your own administrative password as soon as possible by vpncmd or the GUI manager.

*** How to start the SoftEther VPN Server Service ***

Please execute ‘./vpnserver start’ to run the SoftEther VPN Server Background Service.
And please execute ‘./vpncmd’ to run the SoftEther VPN Command-Line Utility to configure SoftEther VPN Server.

Of course, you can use the VPN Server Manager GUI Application for Windows / Mac OS X on the other Windows / Mac OS X computers in order to configure the SoftEther VPN Server remotely.

*** For Windows users ***
You can download the SoftEther VPN Server Manager for Windows
from the http://www.softether-download.com/ web site.
This manager application helps you to completely and easily manage the VPN server services running in remote hosts.

*** For Mac OS X users ***
In April 2016 we released the SoftEther VPN Server Manager for Mac OS X.
You can download it from the http://www.softether-download.com/ web site.
VPN Server Manager for Mac OS X works perfectly as same as the traditional Windows versions. It helps you to completely and easily manage the VPN server services running in remote hosts.

*** PacketiX VPN Server HTML5 Web Administration Console (NEW) ***
This VPN Server / Bridge has the built-in HTML5 Web Administration Console.

After you start the server daemon, you can open the HTML5 Web Administration Console is available at

https://127.0.0.1:5555/
or
https://ip_address_of_the_vpn_server:5555/

This HTML5 page is obviously under construction, and your HTML5 development contribution is very appreciated.

——————————————————————–

make[1]: Leaving directory `/home/miko/vpnserver’
[root@ip-10-0-0-220 vpnserver]#

  • コンパイルしたサーバプログラムを配置

[root@ip-10-0-0-220 vpnserver]# cd ..
[root@ip-10-0-0-220 miko]# mv vpnserver /usr/local

  • ファイルの権限を変更する。

[root@ip-10-0-0-220 miko]# cd /usr/local/vpnserver/
[root@ip-10-0-0-220 vpnserver]# chmod 600 *
[root@ip-10-0-0-220 vpnserver]# chmod 700 vpncmd
[root@ip-10-0-0-220 vpnserver]# chmod 700 vpnserver

  • SoftEtherのコマンドラインを使って、正しく設定ができているか確認する。

[root@ip-10-0-0-220 vpnserver]# ./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/01/01 18:16:55 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: 3           ← 3 を入力

VPN Tools has been launched. By inputting HELP, you can view a list of the commands that can be used.

VPN Tools>check           ← check を入力

Check command – Check whether SoftEther VPN Operation is Possible
—————————————————
SoftEther VPN Operation Environment Check Tool

Copyright (c) SoftEther VPN Project.
All Rights Reserved.

If this operation environment check tool is run on a system and that system passes, it is most likely that SoftEther VPN software can operate on that system. This check may take a while. Please wait…

Checking ‘Kernel System’…
Pass
Checking ‘Memory Operation System’…
Pass
Checking ‘ANSI / Unicode string processing system’…
Pass
Checking ‘File system’…
Pass
Checking ‘Thread processing system’…
Pass
Checking ‘Network system’…
Pass

All checks passed. It is most likely that SoftEther VPN Server / Bridge can operate normally on this system.

The command completed successfully.

VPN Tools>exit

  • スタートアップスクリプトへの登録

バックグラウンドで常に実行させるために、デーモンプロセスとして登録する。

/etc/init.d/vpnserverに以下を書き込む。

[root@ip-10-0-0-175 vpnserver]# vi /etc/init.d/vpnserver

(「/etc/init.d/vpnserver」は新規ファイルなので、以下の内容でそのままwriteする)

#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case “$1” in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac
exit 0

  • root以外のユーザが変更できないように、ファイルの権限を変更する。

[root@ip-10-0-0-220 vpnserver]# chmod 755 /etc/init.d/vpnserver

  • サーバーを再起動した時にも自動的にVPNサーバーが起動するように設定

[root@ip-10-0-0-220 vpnserver]# /sbin/chkconfig –add vpnserver

  • 動くかどうか試してみる

[root@ip-10-0-0-220 vpnserver]# service vpnserver start

The SoftEther VPN Server service has been started.

Let’s get started by accessing to the following URL from your PC:

https://10.0.0.220:5555/
or
https://10.0.0.220/

Note: IP address may vary. Specify your server’s IP address.
A TLS certificate warning will appear because the server uses self signed certificate by default. That is natural. Continue with ignoring the TLS warning.

[root@ip-10-0-0-220 vpnserver]#

となればOK。

  • クライアントのアカウント作成をサーバー側でCUIで設定する

コマンドラインを起動する。(上記までの操作をしている場合には引き続きSSH画面で続行)

[root@ip-10-0-0-220 vpnserver]# cd /usr/local/vpnserver/

[root@ip-10-0-0-220 vpnserver]# ./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/01/01 18:16:55 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)

今回はサーバーの設定をするので、1のモードを選択。

Select 1, 2 or 3: 1       ← 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).

接続先のホスト名 と 仮想HUB名 を聞かれるけど、空白のまま「Enter」を2回押せば良い。
ちゃんと「Enter」を押さないとコマンドが落ちて、やり直しになることがあるので、慎重に!!!

このコマンドラインで使えるコマンドはHELPと入力すると、全部見れる。全部で205個。
(コマンドの大文字小文字は関係なく、コマンドのスペル間違えを推測して訂正してくれる)

Hostname of IP Address of Destination:   → [ENTER]

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:         → [ENTER]

Connection has been established with VPN Server “localhost” (port 443).

You have administrator privileges for the entire VPN Server.

仮想HUBの作成

仮想Hubの一覧コマンドを打つと、DEFAULT仮想HUBが既に作られている。
[VPN-place1]という名前の仮想HUBを作ってみる。

VPN Server>HubList

HubList command – Get List of Virtual Hubs
Item |Value
——————+——————-
Virtual Hub Name |DEFAULT
Status |Online
Type |Standalone
Users |0
Groups |0
Sessions |0
MAC Tables |0
IP Tables |0
Num Logins |0
Last Login |2020-01-11 12:41:10
Last Communication|2020-01-11 12:41:10
Transfer Bytes |0
Transfer Packets |0
The command completed successfully.

VPN Server>HubCreate

HubCreate command – Create New Virtual Hub
Name of Virtual Hub to be created: VPN-place1 ← 作成する仮想 HUB の名前:「VPN-place1」を入力

Please enter the password. To cancel press the Ctrl+D key.
(パスワードを入力してください。キャンセルするには Ctrl+D キーを押してください。)

Password: *********    ← 作成する仮想 HUB の名前:「VPN-place1」を入力
Confirm input: *********  ← 仮想HUBのパスワード(再入力)

The command completed successfully.

ユーザの作成

既存のユーザを調べてみる

VPN Server>UserList   ← 指定した仮想HUBのユーザ一覧を表示

UserList command – Get List of Users
(UserList コマンド – ユーザー一覧の取得)
Before executing this command, first select the Virtual Hub to manage using the Hub command.

(このコマンドを実行する前に、Hub コマンドで管理対象の仮想 HUB を選択してください。)

と怒られてしまう。

管理対象の仮想HUBを指定しないといけないので

VPN Server>HUB VPN-place1     ← 仮想HUBを指定

Hub command – Select Virtual Hub to Manage
The Virtual Hub “VPN-place1” has been selected.
The command completed successfully.

VPN Server/VPN-place1>UserList   ← 指定した仮想HUBのユーザ一覧を表示

UserList command – Get List of Users
Item|Value
—-+—–
The command completed successfully.

とすると、まだだれもユーザがいないようなので、新しく user を作成する。

VPN Server/VPN-place1>UserCreate

UserCreate command – Create User
User Name: user1          ← 指定仮想HUBのユーザ「user1」を指定

Assigned Group Name: 参加するグループ名:   ← option 空白EnterでOK

User Full Name: ユーザーの本名:        ← option 空白EnterでOK

User Description: ユーザーの説明:       ← option 空白EnterでOK

The command completed successfully.

コマンドは正常に終了しました。
となればOK。次は認証方法をパスワード認証として、パスワードを設定。
(認証方法は、5種類ぐらいあるが、今回はパスワード認証を選ぶ)

VPN Server/VPN-place1>UserPasswordSet

UserPasswordSet command – Set Password Authentication for User Auth Type and Set Password
(UserPasswordSet コマンド – ユーザーの認証をパスワード認証に設定しパスワードを設定)

User Name: user1          ← 指定仮想HUBのユーザ「user1」を指定

パスワードを入力。キャンセルするには Ctrl+D キーを押してください。

Password: *********
Confirm input: *********

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

The command completed successfully.

(コマンドは正常に終了しました。となればOK。これでユーザ作成は完成)

VPN Server/VPN-place1>

IPsec だけで繋ぐには、AWSのセキュリティグループで以下のものを開けておく

(セキュリティグループ内容)

HTTP TCP 80 0.0.0.0/0
HTTPS TCP 443 接続先IP/32
カスタムTCPルール TCP 22 接続先IP/32 SSH port modify

  • L2TP/IPsecなVPNにする(スマホから接続しないならば設定しない)

MacやiOSやAndroidについて、標準のL2TP/IPsec VPN接続を設定する。
(VPN Server 側での L2TP/IPsec 機能の有効化方法)
※ ツールのSoftether VPN Server管理マネージャーを使っても、GUIで設定できるが今回はコマンドで設定する

IPsecEnableコマンド入力に以下のように答える。

VPN Server/VPN-place1>IPsecEnable

IPsecEnable command – Enable or Disable IPsec VPN Server Function
(IPsecEnable コマンド – IPsec VPN サーバー機能の有効化 / 無効化)

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): XXXXXX

Default Virtual HUB in a case of omitting the HUB on the Username: VPN-palce1

The command completed successfully.
(コマンドは正常に終了しました)

  • クラウド接続時に、接続してくる端末にIPアドレスを払い出す必要がある場合には、
    「仮想 NAT および DHCP サーバー機能 (SecureNAT 機能) の有効化」をする必要あり。

VPN Server/VPN-place1>SecureNatEnable

SecureNatEnable command – Enable the Virtual NAT and DHCP Server Function (SecureNat Function)
The command completed successfully. (これで有効化された)
VPN Server/VPN-place1>quit

※ MacやiOSやAndroidで、L2TP/IPsec VPN接続する場合、アカウント名が [ユーザ名]@[仮想HUB名] になる。
スマホでVPNの設定をする必要がある。

L2TP/IPsec で繋ぐには、UDPのポートをいくつか開けないといけないので、
AWSのセキュリティグループで以下のものを開けておく

UDP 500
UDP 4500

(セキュリティグループ内容)

HTTP TCP 80 0.0.0.0/0
カスタムTCPルール TCP 5555 0.0.0.0/0
カスタムUDPルール UDP 4500 0.0.0.0/0  (L2TPで使用)
カスタムUDPルール UDP 500 0.0.0.0/0   (L2TPで使用)
HTTPS TCP 443 接続先IP/32       (softetherでも使用できる)
カスタムTCPルール TCP 177 接続先IP/32  (SSH port modify)

※ 今回はSSHポートをセキュリティ対応で変更しているので、177を空けている。

まとめ

テレワークシステム &

Webカメラ見回りシステムでは

Amazon Web Services上の Amazon Linux 2 で、SoftEther VPN Server を稼働して、拠点間のVPN通信を中継します。

今回は、その時のサーバ環境の構築について、Amazon Linux 2 を初期設定後、SoftEther VPN Server をセットアップする手順でした。
サーバ側は、費用面、セキュリティ面を考えて、AWSに構築しました。

また、

  1. ラズパイをSoftEtherVPNを使ったVPN網の「クライアント」に設定 ⇒ ラズパイに SoftEtherVPN Client をインストール
  2. WinパソコンをSoftEtherVPNの「ブリッジ」に設定        ⇒ Windowsパソコンを SoftEtherVPN Bridge にする
  3. ラズパイをSoftEtherVPNの「ブリッジ」に設定          ⇒ ラズパイを SoftEtherVPN Bridge にする

を以前に投稿しました。


それと、ラズパイをサーバとして構築する情報を良く見ますが、AWSクラウド上の中継地点にサーバを置くことで、クライアントを置く拠点側にクライアントからの接続を待ち受けするためのポートを空ける処理が必要なくなり、拠点側のルータの設定をいじる、つまり、
「穴をあけてセキュリティリスクを招く」ということがなくなります。

その他のSoftEtherネタです。