首页 文章

Azure,从Internet访问时某些端口上的连接被拒绝

提问于
浏览
0

我有2个虚拟机(CentOS),运行在同一个VNET(和子网)中 . 它们都具有静态公共IP .

我有一个网络安全组,它定义入站和出站规则,连接到两个NIC以及VNET .

其中一个入站规则是default-allow-ssh规则 . 到目前为止一切都很好,使用SSH,我可以从外部Azure访问这两个虚拟机,从我自己的计算机上访问网络上的任何虚拟机 .

在其中一个VM上,我正在运行一个Web服务器 .

在端口80上公开Web服务器并在端口80上添加新的NSG入站安全规则(src:any,src端口范围:*,dest:any,port:80,protocol:any)允许met从任何地方访问Web服务器:from我的电脑来自网络上的任何地方,来自我在Azure中的其他虚拟机,所以就像我期待的那样 .

现在,当我将网络服务器的端口从80更改为例如7181时:

我仍然可以从服务器上“卷曲http://[PUBLIC_IP]:7181”我在AS WELL AS上托管网络服务器,从位于同一个VNET(子网)中的其他CentOS服务器,但不再是我的电脑或Azure领域之外的任何电脑(网络) ) .

Firewalld没有在网络服务器上运行,也没有设置iptables,只有NSG规则定义入站和出站流量 .

始终可以使用ssh从Azure外的任何位置访问Web服务器的主机 . 端口80上的Web服务本身,包括适当的入站NSG规则,在Azure外部和内部的任何地方也可以正常工作 . 自定义端口(与NSG中的端口80或22配置相同)(当然端口号除外)只能从同一VNET内部访问 .

任何人?

(我得到的错误是众所周知的:ERR_CONNECTION_REFUSED)

NSG截图:enter image description here

3 回答

  • 0

    问道:您是否在NSG中添加了7181端口规则?

    我的测试说:这种错误来自NSG .

    来自网络内的CURL可能会导致错误的意见 . 在端口7181上连接IP时,应该跟踪路由 .

  • 0

    为要打开的每个端口创建单独的规则 . 据我所知,您无法在“端口”字段中指定端口列表 . 只有单个端口,端口范围或* .

    仅供参考:VNET中其他机器的连接正在运行,因为存在“AllowVnetInBound”规则 .

  • 0

    重新启动VM实例解决了这个问题 . 因此,在运行中添加/更新NSG规则似乎不会立即影响正在运行的实例,或者其他需要花费大量时间同步并生效的内容 . 我一定忘记了我早期的Windows时代,在更改配置或安装新东西时重新启动非常标准 . 无论如何,谢谢大家在这个问题上的时间和精力 .

相关问题