2016-08-11 5 views
0

Ich benutzte Mosquitto als MQTT-Broker, und es scheint, wenn die Verbindungsnummer mehr als 1000 ist, die unten log gedruckt. Weiß jemand davon etwas?mosquitto den Zugriff verweigert von tcpd

1470896904: Client connection from 111.7.170.177 denied access by tcpd.

Antwort

1

Ich fühle Ihren Prozess (mosquitto) die maximale Anzahl offener Dateien Grenze erreicht haben. Überprüfen Sie Ihre maximal geöffneten Dateien unter ulimit -n. Erhöhen Sie dann das Limit auf die maximale Anzahl der von Ihnen erwarteten Verbindungen. Z.B. Für 10k-Verbindung wäre es ulimit -n 10000

Ein Hinweis auf ulimit (1). Es ist nur für das aktuelle Terminal eingestellt und für dauerhafte Änderungen müssen Sie die Konfigurationsdateien gemäß Ihrem Linux-Geschmack bearbeiten (/etc/security/limits.conf + /etc/pam.d/common-session* on Ubuntu).

+0

Die maximale Anzahl offener Dateien ist 1000000, viel größer als die Verbindungsnummer. –

+0

@FengChris Überprüfen Sie den Benutzeraccount, mit dem mosquitto ausgeführt wird. Ist es ein angemeldeter Benutzer oder Benutzer in der mosquitto.conf? Überprüfen Sie dann das Limit für diesen Benutzer. – Kiran

+1

Ich habe Supervisor verwendet, um mosquitto zu starten, und die max. Offenen Dateien wurden standardmäßig von Supervisor auf 1024 begrenzt. Add 'minfds = 1000000' in'/etc/supervisor/supervisord.conf' kann dieses Problem lösen. –

-1

Möglicherweise gibt es einen anderen Grund für diese Fehlermeldung. Die gleiche Nachricht wird im Protokoll angezeigt, wenn ein Client versucht, eine Verbindung herzustellen und der Zugriff von TCPD verweigert wird. Sie müssen hosts.allow anpassen (in meinem Fall für localhost 127.0.0.1), um eine Verbindung herzustellen.

+0

Dies ist wirklich ein Kommentar, keine Antwort, da es nicht das Problem überhaupt sein kann (klingt nicht wie es). Mit ein wenig mehr Rep, [Sie können Kommentare posten] (// stackoverflow.com/privileges/comment). – Marc

Verwandte Themen