SoftEtherが稼働している、さくらのVPSのOSを再インストール(Rocky Linux版)

これは何

CentOS 7のサポート終了に伴い、外出先からの私的VPNサーバとして利用していたSoftEtherサーバを再構築した際の、個人的な作業メモになります。SoftEtherの設定情報は、すべてvpn_server.configファイルに格納されているので、必ず作業開始前にバックアップをVPS外に取得して下さい。また、定期実行していたスクリプトや、cronの設定なども必要に応じて設定を退避させておきましょう。

作業手順

さくらのVPSの再作成

サーバーの管理ユーザ情報

  • OSインストール方法:標準OS
  • OSを選択してください:Rocky Linux
  • バージョン:9 x86_64
  • 管理ユーザー名:rocky
  • 管理ユーザーのパスワード:******
  • SSHキー登録:(任意)

サーバーに関する設定

  • スタートアップスクリプト:(なし)
  • パケットフィルター設定:カスタム/TCP/1**** すべて許可(作業時SSH用。VPN用は最後に追加)

sshに関する設定

  • sshキーペア(ECDSAやED25519)を作成し、それぞれ配置します(省略)。
  • 必要に応じてsshd_configを編集し、サービスをリスタートします。
$ sudo vi /etc/ssh/sshd_config
Port 1****
PermitRootLogin no
PasswordAuthentication no

$ sudo systemctl restart sshd
$ sudo systemctl status sshd

その他、必要に応じてパッケージの更新など初期作業を行います。

$ sudo dnf clean all
$ sudo dnf update rpm
$ sudo dnf -y update
…

Docker CE環境の構築

古いバージョンが存在する場合は、アンインストールします(無いはずですが…)。

$ sudo dnf remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine

リポジトリを追加して、必要なパッケージをインストールして、dockerを起動します。

$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo dnf -y install docker-ce docker-ce-cli containerd.io

$ sudo systemctl enable docker
$ sudo systemctl start docker

dockerコンテナを起動します。設定情報はvpn_server.configから戻すので、PKSやUSERSなどのeオプションは付けなくても大丈夫です。server_logをホスト側から簡単に見られるようにvオプションを付けていますが、このあたりの運用は、お好みで。。

$ sudo docker run -d --cap-add NET_ADMIN --name vpnserver \
    --restart always \
    -p 500:500/udp -p 1194:1194/udp -p 4500:4500/udp -p 443:443/tcp -p 1701:1701/tcp -p 5555:5555/tcp \
    -v /var/log/vpn_server_log:/usr/vpnserver/server_log \
    --security-opt="no-new-privileges:true" \
    siomiz/softethervpn:latest

方針次第ですが、コンテナのタイムゾーンをJSTにしたい場合は以下を実行します。

$ sudo docker ps
$ sudo docker exec -it <コンテナID> /bin/bash
bash-5.1# apk --no-cache add tzdata 
bash-5.1# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ sudo docker restart <コンテナID>

バックアップしておいた、vpn_server.configを戻してリスタートします。

$ sudo docker ps
$ sudo docker cp vpn_server.config <コンテナid>:/usr/vpnserver
$ sudo docker restart <コンテナid>

最後に

さくらのVPSのパケットフィルターを設定

先ほどのオプションで追加した分のポートをすべて許可します。

その他設定の復旧

VPN接続があった時に、Slackで通知する等の仕組みを構築していた場合は、その仕組を再度構築します。cronに登録している場合は、忘れずにcronを再設定しましょう。

コメント

タイトルとURLをコピーしました