Điểm:0

Không thể kết nối với nhà môi giới MQTT đám mây tự lưu trữ của tôi

lá cờ cn

Tôi đã làm theo hướng dẫn để định cấu hình Mosquitto trên CentOS 7, do đại dương số cung cấp. Tôi tin rằng tôi đã thiết lập chính xác hầu hết nội dung, tôi có thể làm theo tất cả các hướng dẫn bằng cách lặn sâu để tìm giải pháp cho một số hướng dẫn không được chấp nhận. Tuy nhiên, tôi có thể đăng ký và xuất bản tin nhắn cho một chủ đề khi tôi đăng nhập vào máy chủ của mình.

Tuy nhiên, tôi muốn truy cập nhà môi giới MQTT của riêng mình từ một ứng dụng khách khác với địa chỉ của máy chủ (duh). Tôi không thể kết nối, bất kể tôi cố gắng thế nào - Tôi cảm thấy nỗ lực kết nối không đến được nhà môi giới của mình (cả hai đều sử dụng trình xem trực tuyến như https://hobbyquaker.github.io/mqtt-admin/ và một cái được cài đặt cục bộ như Trình khám phá MQTT ).

Mosquitto.conf của tôi khá đơn giản và tôi đã đơn giản hóa nó nhiều hơn để cho phép kết nối ẩn danh, nhưng với TLS cho cả hai ổ cắm web qua cổng 8083 và (mặc định?) mqqt qua cổng 8883.

Toàn bộ tệp mosquitto.conf (cập nhật sau phản ứng của Halfgaar):

allow_anonymous đúng
#password_file /etc/mosquitto/passwd (Tôi đã tắt tính năng này để đơn giản hóa nỗ lực kết nối của mình)
tệp log_dest /var/log/mosquitto.log
log_type tất cả

người nghe 1883 máy chủ cục bộ

người nghe 8883 0.0.0.0
giao thức mqtt # mới được thêm vào, nhưng dường như vẫn không làm được gì
certfile /etc/letsencrypt/live/iot.mydomain.com/cert.pem
cafile /etc/letsencrypt/live/iot.mydomain.com/chain.pem
tệp khóa /etc/letsencrypt/live/iot.mydomain.com/privkey.pem

người nghe 8083 0.0.0.0
ổ cắm web giao thức
certfile /etc/letsencrypt/live/iot.mydomain.com/cert.pem
cafile /etc/letsencrypt/live/iot.mydomain.com/chain.pem
tệp khóa /etc/letsencrypt/live/iot.mydomain.com/privkey.pem

Sau đó, tôi nghĩ rằng tệp Mosquitto.conf mặc định chứa nhiều cài đặt hơn và đã sao chép một bản sao mới của cài đặt mặc định vào tệp cấu hình của mình và ở cuối tệp đã thêm cấu hình được đề cập ở trên. Vì vậy, bây giờ tôi có một cấu hình mặc định với các phần ghi đè ở trên. Khởi động lại dịch vụ mosquitto đã thành công.

Sau đó, tôi nghĩ rằng có lẽ nó có liên quan đến tường lửa. Tôi đã kiểm tra xem các cổng 1883, 8883 và 8083 đã được mở chưa tường lửa-cmd --zone=public -- Permanent --list-ports và thấy rằng một phần của kết quả đó thực sự được báo cáo 8883/tcp 8083/tcp 1883/tcp.

Tệp nhật ký được chỉ định không chứa bất kỳ thông tin nào cho các kết nối đã thử, vì vậy tôi không biết ở đó. Ai đó có thể chỉ cho tôi một hướng để tìm thêm manh mối để giải quyết vấn đề này không?

Cập nhật Theo phản ứng của @Halfgaar: Tôi đã cập nhật cấu hình có liên kết với các địa chỉ công khai (tôi chỉ lặp lại những gì anh ấy nói, tôi không biết), khi tôi chạy netstat -n -l -t -p đầu ra dưới đây. Mặc dù tôi không thể kết nối với nhà môi giới từ máy tính xách tay của mình (hoặc bất kỳ nơi nào khác).

# netstat -n -l -t -p | grep muỗi
tcp 0 0 0.0.0.0:8883 0.0.0.0:* NGHE 2573/mosquitto      
tcp 0 0 127.0.0.1:1883 0.0.0.0:* NGHE 2573/mosquitto      
tcp6 0 0 :::8083 :::* NGHE 2573/mosquitto      
tcp6 0 0 ::1:1883 :::* NGHE 2573/mosquitto 

Cập nhật tôi cũng vậy vấp phải một quy tắc tường lửa điều đó khiến tôi nghĩ liệu mình có thể kết nối với giao thức mqtt hay không, do đó tôi cũng đã thực hiện tường lửa-cmd --zone=public -- Permanent --add-service=mqtt và tải lại tường lửa.

tiến bộ nhỏ Tôi đã chuyển từ nhận lỗi Ngắt kết nối từ máy chủ đến kết nối ETIMEDOUT 1.2.3.4:8883 (trong đó 1.2.3.4 là IP của máy chủ của tôi). Không chắc điều này có ý nghĩa gì về mặt tiến độ, nhưng tôi đang ở một nơi khác như nơi tôi đã ở trước đây...

Cập nhật Đầu ra cho iptables -L INPUT -n là như sau:

# iptables -L INPUT -n
ĐẦU VÀO chuỗi (chính sách CHẤP NHẬN)
đích prot opt ​​nguồn đích         
CHẤP NHẬN tất cả -- 0.0.0.0/0 0.0.0.0/0 ctstate LIÊN QUAN, ĐÃ THÀNH LẬP
CHẤP NHẬN tất cả -- 0.0.0.0/0 0.0.0.0/0           
INPUT_direct tất cả -- 0.0.0.0/0 0.0.0.0/0           
INPUT_ZONES_SOURCE tất cả -- 0.0.0.0/0 0.0.0.0/0           
INPUT_ZONES tất cả -- 0.0.0.0/0 0.0.0.0/0           
DROP tất cả -- 0.0.0.0/0 0.0.0.0/0 ctstate KHÔNG HỢP LỆ
TỪ CHỐI tất cả -- 0.0.0.0/0 0.0.0.0/0 từ chối với icmp-host-bị cấm

giải quyết Có vẻ như tôi cũng có một tường lửa (phần mềm) khác trên VPS của mình mà tôi cũng phải định cấu hình. Khi tôi mở các cổng trong tường lửa đó, tôi đã có thể đăng nhập.

lá cờ ng
Bạn cũng có thể đăng đầu ra của `iptabes -L INPUT -n` không? BTW: một cổng đóng sẽ từ chối ngay lập tức. Thông thường, cổng có tường lửa sẽ hết thời gian chờ.
Ben Fransen avatar
lá cờ cn
Cảm ơn vì đã trả lời. Tôi đã cập nhật bài đăng của mình với đầu ra.
Điểm:0
lá cờ cn

Tôi muốn cảm ơn @Halfgaar vì đã hỗ trợ và cố gắng giúp tôi giải quyết. Trong khi đó, tôi cũng đã liên hệ với bộ phận hỗ trợ từ nhà cung cấp dịch vụ lưu trữ VPS của mình. Sự cố liên quan đến tường lửa, mặc dù không phải tường lửa mà chúng tôi đang khám phá. Cũng có một tường lửa phần mềm và tôi cũng phải mở các cổng ở đó (tất nhiên). Tôi không biết rằng tôi cũng có một tường lửa khác đang hoạt động trên VPS của mình. Tôi có thể đăng nhập vào nhà môi giới của mình ngay bây giờ!

Điểm:0
lá cờ ng

Bạn không ràng buộc với các giao diện mạng công cộng của mình. Nếu bạn làm netstat -n -l -t -p bạn có thể thấy các quy trình địa chỉ đang lắng nghe.

Làm:

người nghe 1883 0.0.0.0

người nghe 8883 0.0.0.0
certfile /etc/letsencrypt/live/iot.mydomain.com/cert.pem
cafile /etc/letsencrypt/live/iot.mydomain.com/chain.pem
tệp khóa /etc/letsencrypt/live/iot.mydomain.com/privkey.pem

người nghe 8083 0.0.0.0
ổ cắm web giao thức
certfile /etc/letsencrypt/live/iot.mydomain.com/cert.pem
cafile /etc/letsencrypt/live/iot.mydomain.com/chain.pem
tệp khóa /etc/letsencrypt/live/iot.mydomain.com/privkey.pem
Ben Fransen avatar
lá cờ cn
Cảm ơn vì đã trả lời. Mình đã thử làm theo nhưng vẫn không kết nối được.Bất kỳ đề xuất? Tôi đã cập nhật câu hỏi của mình với kết quả từ truy vấn netstat của bạn.
Ben Fransen avatar
lá cờ cn
Thông tin bổ sung> Tôi đã loay hoay để xem sự khác biệt giữa có và không có ràng buộc với 0.0.0.0, nhưng đầu ra netstat dường như không làm phiền - và thậm chí không có ràng buộc với 0.0.0.0, tôi thấy cổng giao thức websockets được liệt kê với netstat , với ràng buộc nó không nhìn thấy được.
lá cờ ng
@BenFransen có mục nào trong nhật ký Mosquitto không? Ngoài ra, tôi đã chỉnh sửa câu trả lời của mình; người nghe đầu tiên phải là cổng 1883.
Ben Fransen avatar
lá cờ cn
không có bất kỳ nhật ký nào cho các lần thử kết nối không thành công hoặc đại loại như vậy. Các mục duy nhất trong nhật ký là từ khi tôi đăng ký và xuất bản trực tiếp qua SSH trên máy chủ (không phải từ bên ngoài máy chủ).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.