阿飞
阿飞
发布于 2025-09-25 / 9 阅读
0
0

ClickHouse设置允许远程IP连接

在 ClickHouse 中允许远程 IP 连接,需要同时修改 服务端配置网络防火墙,步骤如下:


1. 修改 ClickHouse 服务端配置

ClickHouse 的网络监听与访问控制主要在 config.xmlusers.xml(或 user.xml)中设置。

① 启用监听所有网卡

config.xml(默认 /etc/clickhouse-server/config.xml

<!-- 将 127.0.0.1 改为 0.0.0.0 以监听所有 IP -->
<listen_host>0.0.0.0</listen_host>

<!-- 也可以加多条指定多个监听 IP -->
<!-- <listen_host>192.168.1.10</listen_host> -->

修改后 ClickHouse 会监听 9000(TCP 客户端)和 8123(HTTP 客户端)在所有网卡上。


② 设置允许的 IP 地址

users.xml(有的版本是 /etc/clickhouse-server/users.d/default.xml):

<users>
    <default>
        <networks>
            <!-- 允许所有IP访问 -->
            <ip>::/0</ip>
            <!-- 或只允许某个网段 -->
            <!-- <ip>192.168.1.0/24</ip> -->
        </networks>
    </default>
</users>

如果你是 ClickHouse Cloud,需要在 Web 控制台里配置 Allow List。


③ 重启服务

sudo systemctl restart clickhouse-server

2. 开放服务器防火墙端口

CentOS / RHEL / RockyLinux

sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --add-port=8123/tcp --permanent
sudo firewall-cmd --reload

Ubuntu / Debian

sudo ufw allow 9000/tcp
sudo ufw allow 8123/tcp
sudo ufw reload

如果有云服务器(阿里云、AWS、GCP)

  • 需要在云控制台的安全组中放行 9000(TCP)和 8123(HTTP)端口


3. 客户端连接测试

TCP 模式(clickhouse-client)

clickhouse-client -h 服务器IP --port 9000 --user default --password

HTTP 模式

curl "<http://服务器IP:8123>" --data-binary "SELECT now()"


评论