TailscaleネットワークでPostgresのHBAを設定する
ZFS上のpostgresのセットアップに続いて、PostgreSQLレプリカがプライマリに安全に接続できるよう、認証を設定する必要がありました。
ここでの制約は、クラウドのプライベートネットワークを使っていないため、何らかのVPNが必要なことです。私はTailscaleを使っています。これは要するに、簡単に使えるWireGuardです。
ファイアウォール
まず、Tailscaleのドキュメントに従います。自分自身を締め出さないように気を付けてください! 私は2FA付きのTailscale SSHも使っています。
ufw allow in on tailscale0
ufw default deny incoming
ufw default allow outgoing
ufw reload
systemctl restart sshdpostgresql.conf
次に、postgresがすべてのアドレスで待ち受けるよう指定する必要があります。postgresの設定に次を記述します。
listen_addresses = '*'tailscale0やtailnetのCIDR、あるいは……何かしら別のものを指定できればよかったのですが。残念ながらできません。そこまで柔軟ではありませんが、少なくともファイアウォールとhbaで制限できます。ほかの手順を飛ばさないでください!
pg_hba
あとはログインを許可するよう、pg_hba.confを設定するだけです!
host all all 100.64.0.0/10 scram-sha-256100.64.0.0/10は、Tailscaleで使われるCIDR範囲です。詳細はこちらをご覧ください。
記事をランダムに読む