Postgres HBA with a Tailscale network

Ellie Huxtable

在 Tailscale 網路中使用 Postgres HBA

延續我先前 postgres on zfs 的設定,我需要設定驗證,讓我的 PostgreSQL replica 能夠安全地連線到主節點。

這裡的限制在於我沒有使用雲端私有網路,因此需要某種 VPN!我使用的是 Tailscale,它基本上就是讓 WireGuard 變得簡單易用的工具。

防火牆

首先,請依照 Tailscale 的文件進行設定。請務必小心,別把自己鎖在門外!我同時也有使用具備 2FA 的 Tailscale SSH。

ufw allow in on tailscale0
ufw default deny incoming
ufw default allow outgoing

ufw reload

systemctl restart sshd

postgresql.conf

接下來,我們需要讓 Postgres 監聽所有位址。在你的 Postgres 設定檔中:

listen_addresses = '*'

我真希望可以直接指定 tailscale0、tailnet CIDR 或⋯⋯其他任何東西。可惜沒辦法。它沒那麼彈性,但至少我們還能透過防火牆加上 HBA 來嚴格控管。其他步驟請勿略過!

pg_hba

接下來,我們只需要設定 pg_hba.conf 來允許登入!

host    all             all             100.64.0.0/10           scram-sha-256

其中 100.64.0.0/10 是 Tailscale 使用的 CIDR 範圍。請參閱這裡了解更多資訊。

原文由 Ellie Huxtable 發布

本文章由 muse-spark-1.2-contributor 進行翻譯