LoginSignup
0
3

More than 3 years have passed since last update.

LightsailでSecureNATを有効化したSoftEther VPN Serverを構築する

Last updated at Posted at 2020-12-26

AWSの料金面での落とし穴といえば、通信料ですよね。東京リージョンであれば0.114USD/GBなので、1TBのデータをAWSから引き出すと1万円以上かかってしまいます。

しかし、例外なのがLightsailです。一番安いプラン(3.5USD)でも1TBの通信料が含まれているため、多量の通信でも気にせずに利用することができます。そこで、VPNサーバをLightsail上に立ててみることにしました。

環境

  • Lightsail Linux 3.50USDプラン(512 MB メモリ)
  • Amazon Linux 2 (2.0.20201218.1)
  • SoftEther VPN Ver4.34 Build 9745

Linuxサーバーの構築

SoftEtherはWindowsで構築するのが手っ取り早いのですが、費用の関係上Linuxを使います。サーバを起動させる手順は省略します。
サーバー起動後、インスタンスのネットワーキング設定の中にあるIPv4Firewallを以下のように設定しました。
image.png

SoftEtherのインストール

Linux上にSoftEtherをインストールする手順については、Qiitaですでにインストール手順がありましたので、そちらを参考にします。
wgetで拾ってくるURLは、以下のダウンロードセンターで手に入ります。
https://www.softether-download.com/ja.aspx?product=softether

sudo yum install gcc -y
wget <SoftEtherダウンロードのURL>
tar xzvf <ダウンロードしたファイル>
cd vpnserver
make

makeコマンドを実行すると、利用規約に同意するか確認する画面が現れます。すべて、1を押してEnterすることで同意できます。
makeコマンドが完了すると、SoftEtherが利用できる状態になります。/usr/local配下に移動させ、パーミッションを設定します。

cd ../
sudo mv vpnserver/ /usr/local/
cd /usr/local
sudo chown -R root:root vpnserver
cd vpnserver
sudo chmod 600 *
sudo chmod 700 vpncmd
sudo chmod 700 vpnserver

SoftEtherVPNをサービスに登録し、起動します。

sudo vi /etc/systemd/system/vpnserver.service
vpnserver.service
[Unit]
Description=SoftEther VPN Server
After=network.target network-online.target

[Service]
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
Type=forking
RestartSec=3s

[Install]
WantedBy=multi-user.target
sudo systemctl start vpnserver
sudo systemctl enable vpnserver

SoftEtherの初期設定

ここからはクライアントPC側で操作します。GUI操作を使うため、Windowsが必要です。
以下のURLより、SoftEther VPN Server Managerをインストールします。
https://www.softether-download.com/ja.aspx?product=softether

Managerよりサーバーに接続後、設定する点は以下です。

ユーザーの追加

Defaultの仮想ハブの管理画面を開き、「ユーザーの管理」よりユーザーを追加します。
image.png

仮想NATの設定

Defaultの仮想ハブの管理画面から、「仮想NATおよび仮想DHCPサーバー機能」を開きます。開いた画面より、「SecureNATの設定」をクリックします。
image.png

開いた画面で以下の設定を実施します。

  • デフォルトゲートウェイを削除
  • プッシュする静的ルーティングテーブルを画像のように編集 image.png image.png

LightsailのプライベートIPが、私の環境では172.26.xx.xxであったため172.26.0.0/16の範囲をルーティングするようにします。また、VPCピアリングで接続したデフォルトVPCのセグメント(172.31.0.0/16)に対しても、ルーティングするように設定します。
(LightsailのプライベートIPは、インスタンスの設定画面で確認できます)

image.png

設定が終わったら、SecureNAT機能を有効にします。

接続テスト

接続テストのため、WindowsにSoftEtherのクライアントをインストールします。
インストール後、「新しい接続設定の作成」より、VPNサーバーの情報とユーザー認証情報を入力します。
image.png
接続して、プライベートIPで目的のインスタンスに繋ぐことができるか確認します。

感想

実は、今回VPNサーバは拠点間接続の目的で立てたかったのですが、NATを有効化しなければいけない時点で(AWSからクライアントへの接続が無理なので)拠点間接続は諦めました。。。
LightsailのVPCは内部上は存在していると考えられますが、ユーザー側で触ることができず、ルートテーブルの変更が不可能なためです。
でも、せっかくtryしたので、供養のために記事にしました。

VPNサーバーでNATをかけても問題のないシチュエーションであれば、今回の構築は有用ではないかと思います。実際に利用する場合は、セキュリティ面も考慮してください。(証明書認証を利用する、など)

参考にした記事

LinuxでSoftEther VPNを使ってみる(サーバー、クライアント)

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3