0
0

More than 1 year has passed since last update.

T4gインスタンスにIPv6を有効にしてSoftEther VPN Server を構築する

Last updated at Posted at 2021-01-02

SoftEther VPN Serverをなるべく安く構築したいと思い、AWSのT4gインスタンスに構築してみました。IPv6も使えるようにしています。

IPv6 CIDRの追加とルートテーブルの設定

EC2へインスタンスを構築する前に、VPCでIPv6を利用できるようにする必要があります。

VPCへIPv6 CIDRを追加

VPCコンソールのVPCを開き、「CIDRの編集」をクリックします。
image.png
「新しいIPv6 CIDRの追加」をクリックし、Amazon提供のIPv6 CIDRブロックにチェックが入っている状態で「CIDRの選択」をクリックすると、VPCにIPv6 CIDR(/56)が割り当てられます。
image.png

サブネットへIPv6 CIDRを追加

次に、サブネットにもIPv6アドレスを割り当てます。
VPCコンソールのサブネットを開き、「IPv6 CIDRの編集」をクリックします。
image.png
「IPv6 CIDRを追加」をクリックし、2桁の16進数字(00~FF)を入力して保存をクリックします。
image.png
続いて、「IPv6 CIDRの編集」の上にある、「自動割り当てIP設定の変更」をクリックします。その中の、IPv6アドレスの自動割り当てを有効にするにチェックを入れ、保存をクリックします。
image.png

必要であれば、VPCが持つ他のサブネットにも前述の作業を実施しましょう。ちなみに、VPCに割り当てられるIPv6 CIDRは/56固定、サブネットに割り当てられるIPv6 CIDRは/64固定で、変更することはできません。

IPv6のルートテーブルを追加

VPCコンソールのルートテーブルを開き、IPv6 CIDRを追加したVPCのルートテーブルを選択します。ルートタブにある、ルートの編集をクリックします。
image.png
::/0に対し、Internet Gatewayへのルートを設定します。
image.png

EC2インスタンスの生成

さて、EC2インスタンスを生成します。今回はなるべく安く構築するため、minimalイメージを利用し、EBSの容量削減を図ります。

EC2コンソールのAMIを開き、左上の自己所有と書かれている部分をクリックしパブリックイメージに切り替えます。「amzn2-ami-minimal」と検索し、出てきたイメージのAMIを選択して起動します。この時、所有者がamazonと書かれていることを確認してください。
image.png

インスタンスタイプは、t4g.nanoを使用します。インスタンスの詳細の設定画面では、IPv6が使われるようになっていることを確認します。また、必要であればIPv6アドレスを任意で指定してください。
image.png

ストレージのボリュームタイプはgp3、容量は3GBで作成します。IOPSの初期値が4000になっているため、3000に変更してください。
セキュリティグループはとりあえずSSHできるように設定します。

SoftEther VPN Serverのインストール

SSHでインスタンスにログインします。SSHクライアントソフトによるかもしれませんが、TeraTermでIPv6アドレスで接続する際は、IPv6アドレスを[]で囲まないと認識しないため注意してください。

インスタンスにログイン後、SoftEther VPN Serverをインストールします。x86系はバイナリファイルがあるのですが、Arm系のバイナリは用意されていないため、ソースコードからビルドする必要があります。公式サイトの手順に沿って実施します。

SoftEtherに必要なパッケージのインストール

sudo yum -y install -y wget
sudo yum -y groupinstall "Development Tools"
sudo yum -y install readline-devel ncurses-devel openssl-devel

SoftEtherのソースコードのダウンロード

GitHubからダウンロードもできますが、今回は公式サイトで配布されているものを利用します。
https://ja.softether.org/5-download/src
image.png

wget <コピーしたリンクを貼り付け>

今回ダウンロードしたファイルは、「softether-src-v4.34-9744-beta.tar.gz」です。違うファイルをダウンロードした場合は以降読み替えて利用してください。
ダウンロードしたファイルは展開しておきます。

tar xzvf softether-src-v4.34-9744-beta.tar.gz

SoftEtherのインストール

cd v4.34-9744/
./configure
make

makeすると、以下のようなエラーが出ました。-m64のオプションが理解できない、と。何故!!!

cc: error: unrecognized command line option ‘-m64’
make: *** [tmp/objs/Mayaqua/Cfg.o] Error 1

調べたところ、Arm系のgccにはm64オプションがないとのこと。この対処でいいのかよく分かりませんが、Makefileから-m64を消したらうまくいきました。

vi Makefile

vimで、m64の文字列を探し、手動で消します。私の環境では4か所ありました。
image.png
image.png

Makefileを保存したら、インストール作業を続行します。

make
sudo make install

SoftEtherの自動起動の設定

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

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

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

SoftEther VPN Serverの設定

インストールが終わったら、SoftEther VPN Server Managerから設定を行います。煮るなり焼くなりお好きにどうぞ。

おわりに

当初の予定では、手持ちのYAMAHA RTX1210とL2TPv3で拠点間接続するところまでやりたかったのですが、何故かうまくいかなかったため諦めました。。。現在strongSwanの勉強中です。

[追記]strongSwanで拠点間接続する記事を書きました。
https://qiita.com/kerorinfather/items/d92c6a489a0b38ac081d

参考にしたサイト

SoftEther VPN を UNIX 上でビルドする方法

0
0
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
0