docs/en/08-operation/13-network.md
Starting from TDengine version 3.3.7, full support for IPv6 network environments is officially provided. This feature allows users to deploy and connect to TDengine in modern network infrastructures, eliminating the dependency on IPv4 and meeting the growing demand for IPv6 networks. This document details how to enable and use IPv6 functionality on both the TDengine server and client sides.
To enable IPv6 support, you need to configure the TDengine server configuration file "taos.cfg".
Locate the configuration file: The default path is usually "/etc/taos/taos.cfg".
Modify configuration parameters: Find and modify the following key parameters:
// Set the TDengine server to listen on the specified network interface's IPv6 address, or "::" to listen on all available IPv6 interfaces.
Example:
serverIPv6 ::
firstEp ipv6_address1:port
secondEp ipv_address2:port
fqdn ipv6_address1
enableIPv6 1
Restart the service: After modifying the configuration, restart the TDengine service to apply the changes.
sudo systemctl restart taosd
:::note
:::
Clients can connect to TDengine servers with IPv6 support in the following ways:
Using FQDN (recommended): In the client's "taos.cfg" or connection string, use the server's domain name. As long as the domain's AAAA record points to the correct IPv6 address, the client will automatically connect via IPv6. Example:
taos -h your_server_fqdn -P 6030
Using IPv6 address directly: Specify the server's IPv6 address directly when connecting. Note that when using an IPv6 address in the command line or connection string, you must enclose it in square brackets.
taos -h [2001:db8::1] -P 6030
Verify the connection: After a successful connection, you can see in the TDengine logs that all connections are established via IPv6.
Starting from TDengine version 3.3.8, The transport layer provides encrypted communication support.
SHOW VARIABLES LIKE '%tls%';
Note: Use this to view TLS file paths on each node in the cluster.
Generate certificates
openssl req -newkey rsa:2048 -nodes -keyout ca.key -x509 -days 365 -out ca.crt -subj "/CN=MyCA"
# Generate server private key and CSR
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr -subj "/CN=localhost" # CN is usually the server domain name or IP
# Sign server certificate with CA
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365
# Generate client private key and CSR
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr -subj "/CN=Client"
# Sign client certificate with CA
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365
Client configuration (cfg)
tlsCliKeyPath /path/client.key
tlsCliCertPath /path/client.crt
tlsCaPath /path/ca.crt
enableTLS 1
Server configuration (cfg)
tlsCliKeyPath /path/client.key
tlsCliCertPath /path/client.crt
tlsSvrKeyPath /path/server.key
tlsSvrCertPath /path/server.crt
tlsCaPath /path/ca.crt
enableTLS 1
Start the server and connect with the client.
There is some impact: overall performance typically decreases by less than 5% (about 96%–99% of previous throughput).
Dynamic upgrades are not supported.\n