This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3220MOD:AWS MQTT 的最小防火墙开口

Guru**** 2551110 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/978092/cc3220mod-minimal-firewall-openings-for-aws-mqtt

器件型号:CC3220MOD

大家好、

我有一个使用基于 TI-RTOS 的 AWS MQTT 和 AWS Embedded C SDK 的设计。  它在除一个部署位置之外的每个部署位置都运行良好。

例外情况是、客户对网络采用了极其锁定的方法。  每个端口都关闭以开始。  我们必须进行协商以获得 NTP 支持、事实上、他们会将该流量重定向到自己的内部 NTP 服务器。  此外、他们还根据 AWS 文档打开了 TCP 8883。

此时、加入网络成功、通过 NTP 获得时间成功。  连接至 AWS MQTT 失败、因为 AWS IoT MQTT_CONNECT ()返回 SSL_CONNECT_ERROR (-4)。

我添加了一份打印件、以确认使用的端口为8883。  我尚未确认这是通过 TCP 进行的。

是否有人对高度锁定的防火墙有类似的体验?   

在下一次会议中、我将询问 DNS、因为 AWS 端点由 URL 指定、必须转换为 IP。  如果被阻止、它可能会解释错误。

谢谢、

标记

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mark、您好!

    我没有明确的答案、但我认为您的调试方向是正确的。

    我假设 错误来自在 network_sl.c 中的 IoT_TLS_CONNECT ()中启动 TLS 握手 SSL_connection_error 是 catch-all 错误(如果它不是错误的证书或握手超时)。 如果您可以在 第237行左右打印该 SlNetSock_startSec ()的状态返回值,它可能会给您一个更好的主意。

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    明白:

    SlNetSock_startSec ()返回 了 SLNETERR_ESEC_SOCKET_ERROR_E、-708、"套接字上的错误状态"。

    因此、IoT_TLS_CONNECT ()  返回  了 SSL_CONNECT_ERROR =-4、"TLS 握手失败"。

    我将与防火墙管理员讨论此问题。

    是否有办法通过 Wireshark 无线捕获加密的 MQTT 数据包?

    谢谢、

    标记

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mark、您好!

    在这种情况下、TLS 握手似乎失败、因此还不应加密任何内容。 您应该能够捕获它并观察握手的中断位置。

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mark、您好!

    此问题看起来像是在防火墙上启用了 SSL/TLS 检查。 防火墙功能不能有效地保护网络,但允许网络管理员假设网络受到保护。 如果网络管理员使用此类保护,通常意味着它不知道正在做什么。 正确的方法是使用具有自己 VLAN 标记的单独 WLAN。

    1月