Dobrý den,
potřebuji poradit s problémem ohledně zprovoznění MQTT brokera na portu 8883 (případně 1883) na mém VPS. Používám Docker a Mosquitto, porty mám namapované a Mosquitto naslouchá na 0.0.0.0:8883. Firewall UFW jsem dočasně vypnul, ale port 8883 je při skenování zvenčí stále ve stavu filtered (nmap hlásí “filtered” místo “open” nebo “closed”). Pokud vím, tak žádný další firewall na úrovni vpsadmin není.
Přes SSH port forwarding se na Mosquitto brokera připojím bez problémů, ale přímo z internetu spojení nefunguje. Zkoušel jsem i jiné porty, výsledek je stejný.
Můžete mi prosím poradit, zda je na síti VPS nějaké další filtrování nebo NAT, který by mohl blokovat příchozí spojení na port 8883? Případně jak tento problém vyřešit?
Děkuji.
Mosquitto configurace:
# mosquitto.conf
# Disable anonymous access
allow_anonymous false
# Point to password file
password_file /mosquitto/config/passwd
# Basic MQTT listener
listener 1883 0.0.0.0
# MQTT over TLS listener
listener 8883 0.0.0.0
# WebSocket listener
# listener 9001
# protocol websockets
# Persistence
persistence true
persistence_location /mosquitto/data/
# Logging
log_dest file /mosquitto/log/mosquitto.log
log_type error
log_type warning
log_type notice
log_type information
Docker compose:
# docker-compose.yml
services:
mosquitto:
image: eclipse-mosquitto:latest
container_name: mosquitto
restart: unless-stopped
ports:
- "1883:1883" # MQTT
- "8883:8883" # MQTTS (secure)
#- "9001:9001" # WebSockets
volumes:
- ./config:/mosquitto/config
- ./data:/mosquitto/data
- ./log:/mosquitto/log
UFW konfigurace (nefunguje se zapnutým ani vypnutým UFW):
sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp LIMIT IN Anywhere
80,443/tcp ALLOW IN Anywhere # Allow HTTP(S)
8883/tcp ALLOW IN Anywhere # Allow MQTT over TLS
1883/tcp ALLOW IN Anywhere # Allow MQTT
22/tcp (v6) LIMIT IN Anywhere (v6)
80,443/tcp (v6) ALLOW IN Anywhere (v6) # Allow HTTP(S)
8883/tcp (v6) ALLOW IN Anywhere (v6) # Allow MQTT over TLS
1883/tcp (v6) ALLOW IN Anywhere (v6) # Allow MQTT
Jak se jeví port 8883 při vypnutém UFW:
nmap -p 8800-9000 185.8.164.34
Starting Nmap 7.95 ( https://nmap.org ) at 2025-11-25 20:50 CET
Nmap scan report for 185.8.164.34
Host is up (0.018s latency).
Not shown: 200 closed tcp ports (conn-refused)
PORT STATE SERVICE
8883/tcp filtered secure-mqtt
OS: Ubuntu 24.04
Pozn: celý setup VPS mám ve formě Ansible notebooku, který případně můžu nasdílet.
