WAVE Log
KAGOYA CLOUD VPS

・KVM は、ISO イメージアップロード可。
・DNS の正引き逆引き共に設定可。
(IPv6 にも IPv4 と同じ逆引きが設定されます。)

僕が借りたのは、KVM 1コア メモリ 1GB SSD 100GB のプランで、月額換算料金 550円です。

メールサーバーを建ててオリジナル・ドメインでメールアドレスを作成していますが、メールの送受信は Gmail を利用して行っています(受信は転送)。

SSL/TLS サーバー証明書は、Let’s Encrypt を利用しています。DNS-01 チャレンジで取得しました。今回はサーバー移転の際のメモ書きになります。
DNS サーバーも Web, Mail サーバーと同じマシン上で稼働している自前のものとなります。
手順は、
① 新サーバーで manual(hook なし)で初回取得
TXT を旧サーバーの DNS に手動で追加
→ 新サーバーに証明書ができる
② DNS の NS を新サーバーに切り替える
→ インターネットが新サーバーの DNS を参照
③ 新サーバーで hook 付き certbot を実行
→ TXT 自動追加
→ 認証成功
→ renewal 設定が新サーバーに作られる
→ 自動更新が成立

CentOS Stream 10

OSテンプレートを使わずにネットワークインストールをしました。
イメージ→ISOイメージで、
https://ftp.riken.jp/Linux/centos-stream/10-stream/BaseOS/x86_64/iso/CentOS-Stream-10-latest-x86_64-boot.iso
を登録し、コンソールからインストール操作です。

「ネットワークとホスト名(N)」が「接続済み」となっているのですが、設定が不完全なので「IPv4 Settings」をします。
「Method」を「Manual」にして、あとは「Address」「Netmask」「Gateway」「DNS servers」を提示されている情報から入力します。「DNS servers」は、Public DNS を設定しました。複数指定の場合はスペース区切りです。
「IPv6設定」はとりあえずは必要ないのでここではしていません。

その他「インストール先(D)」「rootパスワード(R)」「ユーザーの作成(U)」を設定。
「インストールソース(I)」はその頃にはセットアップが終わっていると思うので、「ソフトウェアの選択(S)」で「最小限のインストール」を選択。

SSH 接続

公開鍵を他サーバにアップして wget でダウンロードしたかったので、wget を使えるよう先に↓ 。

~]# dnf -y group install Base

authorized_keys をセット。

~]# cd .ssh .ssh]# wget https://example.com/authorized_keys .ssh]# chmod 600 authorized_keys

SSH 接続。

local:~$ ssh root@IPアドレス

SSH 設定確認
主な項目を確認。

~]# sshd -T | grep -i -E 'SyslogFacility|PermitRootLogin|PermitEmptyPasswords|PasswordAuthentication'

permitrootlogin without-password passwordauthentication yes permitemptypasswords no syslogfacility AUTHPRIV

「PasswordAuthentication no」に変更しています。

~]# vi /etc/ssh/sshd_config

を編集して、sshd 再起動。

~]# systemctl restart sshd

もう一度確認。

permitrootlogin without-password passwordauthentication no permitemptypasswords no syslogfacility AUTHPRIV

確認と初期設定

システムのタイムゾーンなどを確認。

~]# timedatectl

文字コードなどを確認。

~]# localectl

SELinux の無効化。

~]# setenforce 0

SELinux 設定ファイル編集。
SELINUX=disabled にする。

~]# vi /etc/sysconfig/selinux

ホスト名を変更。

~]# hostnamectl set-hostname server.wave440.com

確認。

~]# hostnamectl

端末上の表記は再ログインなどで反映されます。

ネットワーク関連

以下を見ておく。

~]# cat /etc/hostname

~]# cat /etc/hosts

~]# cat /etc/resolv.conf

~]# nmcli connection show NAME UUID TYPE DEVICE ens3 16b6d428-fcc7-466d-9092-79b431d53a6d ethernet ens3 lo 5ea66196-0986-4c6c-bcd9-58120a6eac06 loopback lo

IPv6 の 設定をします。

~]# nmcli connection modify "ens3" ipv6.addresses "2406:xxxx:xxxx:xxxx:133:xxxx:xxxx:xxxx/64" ~]# nmcli connection modify "ens3" ipv6.gateway "2406:xxxx:xxxx:xxxx::1" ~]# nmcli connection modify "ens3" ipv6.dns "2606:4700:4700::1111 2001:4860:4860::8888 2620:fe::fe" ~]# nmcli connection modify "ens3" ipv6.method "manual" ~]# nmcli connection up "ens3"

Public DNS
1. Cloudflare(1.1.1.1 / 2606:4700:4700::1111)
2. Google(8.8.8.8 / 2001:4860:4860::8888)
3. Quad9(9.9.9.9 / 2620:fe::fe)

firewalld は、起動済み。アクティブゾーンを確認する。

~]# firewall-cmd --state running ~]# firewall-cmd --get-active-zones public (default) interfaces: ens3

アクティブゾーンの恒久的なファイアウォール設定を確認。

~]# firewall-cmd --list-all --zone=public --permanent public (default) target: default ingress-priority: 0 egress-priority: 0 icmp-block-inversion: no interfaces: sources: services: cockpit dhcpv6-client ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

Cockpit 使わないので

1. firewalld で 9090 を閉じる

~]# firewall-cmd --remove-service=cockpit --zone=public --permanent ~]# firewall-cmd --reload

2. Cockpit を無効化する

~]# systemctl disable --now cockpit.socket

インストールとアップデート

EPEL のリポジトリをインストール

~]# dnf -y install epel-release

EPEL 関係、無効化。(使うときには、--enablerepo= を付ける)

~]# dnf config-manager --disable epel

有効化されているリポジトリの一覧を確認するなら。

~]# dnf repolist

有効および無効なリポジトリーの両方を一覧表示するなら。

~]# dnf repolist all

dnf アップデート

~]# dnf -y update

開発ツールパッケージ群インストール。

~]# dnf -y group install "Development Tools"

dnf-automatic インストール。

~]# dnf -y install dnf-automatic

dnf-automatic-install 自動起動有効+起動。

~]# systemctl enable --now dnf-automatic-install.timer

nkf コマンドインストール。

~]# dnf --enablerepo=epel install nkf

jq コマンドインストール。(インストール済みでした)

~]# dnf install jq

現在使用中のカーネルバージョンを確認する。

~]# uname -r

インストール済みを確認する。

~]# dnf repoquery --installonly

カーネルがアップデートされていたら再起動。

~]# reboot

root 宛てメールの転送

postfix と s-nail をインストール。

~]# dnf -y install postfix s-nail

postfix 自動起動有効+起動。

~]# systemctl enable --now postfix

普段使っているメールアドレスに転送設定をする。(追加

~]# vi /etc/aliases

・・・ ・・・ # Person who should get root's mail #root: marc root: fudantukatteiru@example.com

設定反映。

~]# newaliases

テストメールを送る。

~]# echo test | mail root

※ Spamhaus の PBL(Policy Block List)に載らなくなりましたね。
PBL データベースにサーバの IP アドレスが載っているかどうかの確認は、Lookup - Reputation Checker - Spamhaus でできます。
もし、リストに載っていたら削除申請をすることになりますが、その為には逆引きが設定された静的IP であることと、該当ドメインのメールアドレスで申請する必要があるので、それらの設定およびメールサーバ構築後に行うことになります。

Logwatch のインストール

~]# dnf install logwatch

システム時刻を自動的に合わせる

Chrony は起動済みでした。

~]# vi /etc/chrony.conf

変更。(追加

# Use public servers from the pool.ntp.org project. # Please consider joining the pool (https://www.pool.ntp.org/join.html). #pool 2.centos.pool.ntp.org iburst pool ntp.nict.jp iburst

再起動。

~]# systemctl restart chronyd

時刻同期状態確認。

~]# chronyc sources