prefixkit Ask an engineerAsk RU

Port 8883 MQTT over TLS

MQTT with TLS.

Protocol
TCP
Service
MQTT over TLS
Exposing to the internet
Expose with care

Check if port 8883 is open

Is it safe to open

Industrial and IoT protocols usually have no authentication at all. Keep them in an isolated network and reach them only through a VPN.

How to open port 8883

Open to everyone

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

Only for your addresses

# allow only one address or network (replace 203.0.113.0/24)
iptables -A INPUT -p tcp --dport 8883 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 8883 -j DROP
ufw allow from 203.0.113.0/24 to any port 8883 proto tcp
/ip firewall filter add chain=input protocol=tcp dst-port=8883 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=tcp dst-port=8883 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 ':8883 '
netstat -ano | findstr :8883   # Windows
lsof -i :8883   # macOS
# test from another machine
nc -vz example.com 8883

Related ports