在 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 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-256其中 100.64.0.0/10 是 Tailscale 使用的 CIDR 範圍。請參閱這裡了解更多資訊。
隨機一篇部落格