Enabling encryption in transit is critical for securing your YugabyteDB cluster. It ensures that all communication between nodes (Masters ↔ Masters on port 7100, TServers ↔ TServers on port 9100) is protected with TLS.
Network traffic between nodes (such as TServers and Masters) consists of Protobuf-encoded messages, as seen in tcpdump outputs where .yb. indicates YugabyteDB Protobuf traffic. These messages include consensus updates, heartbeats, and catalog requests.
Because Protobufs are a binary format, most bytes will not be human-readable even without encryption. However, you can still spot occasional readable strings in the cleartext dump (like table names). Once TLS is enabled, those disappear entirely… making this a straightforward way to prove encryption is working.
Today’s tip shows you how to use simple tools like tcpdump and grep to demonstrate the difference between plaintext internode traffic and encrypted traffic.
Step 1: Which interface are we watching?
When YugabyteDB nodes talk to each other, you need to know which network interface carries that traffic. The ss command shows you:
# Show who is listening on the master RPC port (7100)
ss -tanp | grep 7100 | grep LISTEN
Example output on a 3-node cluster started with yugabyted on a single VM:
💡 Tip: If you’re using yugabyted, you don’t need to pass these flags manually. Starting with --secure automatically enables use_node_to_node_encryption=true, along with client-to-node TLS and password authentication. (YugabyteDB Doc page)
2) Repeat the same test:
# Session 1
sudo tcpdump -i lo -nn port 7100 -s 0 -A 2>/dev/null | grep -c lucy
# Session 2
ysqlsh -h 127.0.0.1 -c "CREATE TABLE lucy(c1 INT PRIMARY KEY) SPLIT INTO 3 TABLETS;"
● With --secure (or use_node_to_node_encryption=true), all traffic is encrypted… no strings leak.
● openssl s_client is the cleanest way to prove encryption in transit, showing certs, protocol, cipher, and verification status.
Have Fun!
To get Doom: The Dark Ages running on my gaming rig, I had to update my Intel CPU’s microcode with a BIOS upgrade… those upgrades still make me nervous! It worked, but those 12 minutes felt less like The Dark Ages and more like Doom Eternal... staring at a black screen, wondering if I’d just turned my rig into a very expensive brick!