我一直在与同事一起为 Azure 中的专用网络中的负载均衡器设置 UDP 转发配置。尝试的设置如下:
- 实际目标 UDP 服务器正在运行
172.16.2.2:5075
- UDP 负载均衡器正在运行
172.16.1.1:5050
因此,我们使用这样的映射从负载均衡器创建了一个简单的转发规则。
但是,目标服务器没有记录任何访问它的流量。因此,我尝试解决问题。使用在同一网络中运行的 Ubuntu VM,我检查了负载均衡器是否通过运行来响应 UDP 流量
nc -zvu 172.16.1.1 5050
报告成功。但是,172.16.2.2
似乎没有收到任何东西。
因此我直接使用 测试了目标机器nc -zvu 172.16.2.2 5075
,它记录了正在接收的呼叫。
我在例如中找不到任何选项nc
来遵循 UDP 转发/重定向等。因此,为了查看流量被丢弃的位置,我还尝试运行例如,tracepath -4 -p 5050 172.16.1.1
但只看到“无回复”行的列表。
我的同事实际上设法解决了这个特定问题(通过将转发规则从负载平衡规则更改为 Azure 中的入站 NAT 规则),所以我不再需要帮助了。
但出于学习目的和解决未来问题的目的,我很想听听如何解决此类问题。是否有命令(最好是默认在 Ubuntu 发行版中找到的命令)或命令组合来查看负载均衡器的转发规则中出现的问题以及问题所在?
即使本案中的问题或多或少与 Azure 有关,我更感兴趣的是找到一种与云无关的方法,至少可以了解 UDP 流量转发链的运行情况关于未能到达最终目的地的可能原因,给出的细节越多越好。
编辑:
修改了标题和文本以使其更清楚,我正在寻找一个(内置)命令来使用,而不是例如专有软件。