prefixkit Ask an engineerAsk RU

Port 2379 etcd

etcd key-value store, the brain of Kubernetes clusters.

Protocol
TCP
Service
etcd
Exposing to the internet
Do not expose

Check if port 2379 is open

Is it safe to open

Management interfaces give full control of the system. Make them reachable only from an admin network or VPN, change default credentials and keep the software patched.

How to open port 2379

Open to everyone

# Linux iptables
iptables -A INPUT -p tcp --dport 2379 -j ACCEPT
# Ubuntu ufw
ufw allow 2379/tcp
# firewalld
firewall-cmd --permanent --add-port=2379/tcp && firewall-cmd --reload
# MikroTik
/ip firewall filter add chain=input protocol=tcp dst-port=2379 action=accept place-before=0 comment="port 2379"
# Windows (PowerShell)
New-NetFirewallRule -DisplayName "Port 2379 TCP" -Direction Inbound -Protocol TCP -LocalPort 2379 -Action Allow

Only for your addresses

# allow only one address or network (replace 203.0.113.0/24)
iptables -A INPUT -p tcp --dport 2379 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 2379 -j DROP
ufw allow from 203.0.113.0/24 to any port 2379 proto tcp
/ip firewall filter add chain=input protocol=tcp dst-port=2379 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=tcp dst-port=2379 action=drop

If the server is behind a router, you also need a port forward (dst-nat). Behind ISP CGNAT (100.64.0.0/10 on the WAN) forwarding will not help: you need a public IP or a VPN.

What is listening

Check on the server

# what listens on the port
ss -lntup | grep ':2379 '
netstat -ano | findstr :2379   # Windows
lsof -i :2379   # macOS
# test from another machine
nc -vz example.com 2379

Related ports