Amazon Linux 2 minimalイメージにstrongSwan5.9.1をインストール


2021/1/23 内容を追記しタイトル変更しました。
旧タイトル:「Amazon Linux 2にstrongSwan5.9.1をインストールする」

はじめに

Amazon Linux 2では、minimalイメージが提供されているのをご存知でしょうか。通常のLinuxインスタンスの場合、スナップショットのサイズが8GBであるため、EBSも最低8GB用意する必要があるのですが、Amazon Linux 2のminimalイメージを利用するとスナップショットのサイズが2GBであるため、EBSも2GBから利用することができます。

今回はAmazon Linux 2のminimalイメージを利用して、strongSwan5.9.1をインストールしていきます。

環境

minimalイメージの利用方法

AWSのEC2コンソールを開き、左側メニューのAMIを開きます。

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

起動ボタンを押した後は、通常のインスタンスの構築手順と同様です。今回はEBS 2GBにしています。

strongSwanインストール手順

minimalイメージを利用する際の注意点として、通常であれば入っているようなパッケージ(wgetなど)もインストールされていないため、追加でインストールする必要があります。また、strongSwanのインストール時にgccとgmp-develが必要というエラーが出たため、それらも追加でインストールしています。

また、ルートユーザーでインストールしないとうまくいかなかったため、最初にsudo su -してます。

sudo su - #rootユーザーに切り替え
yum update -y
yum install wget gcc gmp-devel -y
wget https://download.strongswan.org/strongswan-5.9.1.tar.gz
md5sum strongswan-5.9.1.tar.gz #ハッシュ値が一致するか確認
tar xzvf strongswan-5.9.1.tar.gz
cd strongswan-5.9.1
./configure
make
make install

systemctlの設定

/etc/systemd/system/strongswan.service
[Unit]
Description=strongSwan

[Service]
Type=forking
ExecStart=/usr/local/sbin/ipsec start
ExecStop=/usr/local/sbin/ipsec stop

[Install]
WantedBy=multi-user.target

起動時にswanctlの設定を読み込む

/usr/local/etc/strongswan.conf
charon {
 (省略)
 start-scripts {
   swanctl = /usr/local/sbin/swanctl -q
 }
 (省略)
}

swanctlの設定ファイルは以下のフォルダ内に置きます。
/usr/local/etc/swanctl/conf.d/xxx.conf

インターフェース間のパケット転送を許可

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

参考にしたサイト

strongSwan Installation Documentation