我遇到了一个奇怪的问题。我在 Azure 中有一个 Windows 服务器,我已在上面安装了 Splunk,但我无法访问 Web UI。
我从默认模板创建了它,然后删除了它并尝试重新创建它。我制定了一条 NSG 规则,允许从我的工作公共 IP 使用端口 8000。我已允许端口 8000 通过 Windows 防火墙。我可以在 VM 上本地访问 splunk web ui。它正在监听 0.0.0.0:8000 和其他默认 splunk 端口,并使用 进行检查netstat -ano
。
我尝试过的事情:
- 允许从我的工作 IP 到 VM 的所有流量。
- 将splunk服务器仅绑定到10.0.0.4地址。
- 禁用 splunkd 服务并在端口 8000 上运行 IIS 站点。IIS 在端口 80 上运行,但不在端口 8000 上运行。
- 将 NSG 应用于子网。
- 使用 telnet 和测试连接检查端口,但没有响应。
- 删除了入站 NSG 规则上的 IP 限制。
PS C:\Users\sreadmin> netstat -ant | findstr 80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING InHost
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING InHost
TCP 0.0.0.0:8089 0.0.0.0:0 LISTENING InHost
TCP 10.0.0.4:49719 168.63.129.16:80 ESTABLISHED InHost
TCP 10.0.0.4:49722 168.63.129.16:80 ESTABLISHED InHost
TCP 10.0.0.4:50179 168.63.129.16:80 TIME_WAIT InHost
TCP 127.0.0.1:8065 0.0.0.0:0 LISTENING InHost
TCP [::]:8000 [::]:0 LISTENING InHost
UDP [fe80::d481:9b75:f30d:9b31%5]:1900 *:*
UDP [fe80::d481:9b75:f30d:9b31%5]:61131 *:*
我制定的NSG规则如下:
100 | Port_8000 | 8000 | Any | 131.203.112.66/32 | Any | Allow | …
110 | Port_8089 | 8089 | Any | 131.203.112.66/32 | Any | Allow | …
150 | http | 80 | Any | 131.203.112.66/32 | Any | Allow | …
1000 | default-allow-rdp | 3389 | TCP | 131.203.112.66/32 | Any | Allow | …
有谁知道我在这里遗漏了什么,我应该查看什么来排除故障或如何测试问题出在哪里?
答案1
在 Azure Windows VM 上安装 splunk 后,我们只需要将端口 8000 添加到 Azure NSG 入站规则,并将端口 8000 添加到 Windows 防火墙入站规则,然后我们就可以通过互联网浏览它了。
Azure NSG 入站规则:
Azure VM Windows 防火墙入站规则:
然后我们可以通过互联网浏览它:
要解决此问题,也许我们可以按照以下步骤操作:
1.关闭虚拟机 Windows 防火墙(用于测试,完成后再打开)
2.删除子网 NSG。3.
确保您的公共 IP 地址是131.203.112.66
4.确保您的本地网络防火墙不会阻止网络流量。或者更改另一个网络进行测试。
您还可以创建另一个 Azure VM 来测试它。使用公共 IP 地址和端口 8000 浏览 splunk。
答案2
谢谢 Jason 的帮助。我已完成您之前列出的步骤,但在设置 Splunk 尝试在端口 80 上运行以检查我们没有阻止端口 8000 出站时,我肯定搞错了。您的第 4 步是问题所在。
答案:公司防火墙必须有限制对非标准端口访问的出站规则。之前我没有注意到这一点,因为没有正确配置 Splunk 在端口 80 上运行。现在正确配置 Splunk 在端口 80 上运行后,一切正常。
答案3
注意防火墙中的默认规则。
我知道这个问题已经存在一年多了,但我刚刚在尝试在 Azure 中运行的 Windows/10 VM 上打开端口 443 时遇到了类似的问题。我已使用 Azure 门户在虚拟网络上打开了 VM 的端口,Windows 防火墙中似乎有一条默认规则打开了端口 443,但仍有一些东西阻止了我的连接。
我最终通过在 Windows 防火墙中创建附加规则并打开端口 443 解决了该问题,并且一切正常。