背景用途:我只想通过设置windows防火墙的入站规则来限制到MYSQL服务器的入站连接。我的意思是,我只想让特定的主机连接到MYSQL服务器。
在windows防火墙设置中,默认情况下如下所示:

两个端口都打开了。因此,我阻止了到端口33060的所有入站连接,因为我不希望从X-Protocol进入:

然后,我尝试从本地pc连接到MYSQL服务器,连接成功。接下来,我试图将对MYSQL服务器的端口3306的入站连接限制为指定的IP地址:
首先,选择“允许连接”(如果连接是安全的)。

第二,我要通过指定的远程IP地址连接到此MYSQL服务器。

在上面图片中的黑色部分,我输入了本地pc的全局IP地址(IPv4)。我用XX.XXX.XXX.XX格式输入它。我在这项服务中得到了我的全球IP地址。然后我测试从本地pc连接到MYSQL服务器,但没有通过。
我在windows中通过Test-NetConnection测试了连接。但是,到端口的连接失败了。

我怎么了?
我也像下面这样测试过。
我将设置更改为:Remote IP address to by Any IP address。

并将设置保留在下面:
Allow the connection if it is secure
然后,尝试windows中的Test-NetConnection。但它不能通过港口..。
我也像下面一样测试了一下。
我一直设置如下:Remote IP address。

并更改了以下设置:
Allow the connection
然后,尝试windows中的Test-NetConnection。但它不能再通过港口了..。
发布于 2020-08-25 05:49:02
删除“允许连接安全”选项。这增加了一个MySQL客户端不支持的额外身份验证和加密层。你不能在这里用它。
此外,如果您只获得消息failed (就像在你的截图中那样),那么MySQL服务器就不会监听该接口。如果问题是防火墙,您将得到一条消息TimedOut。
确保MySQL服务器正在侦听外部接口或所有接口(0.0.0.0),而不是只监听回环接口(127.0.0.1),这很可能是默认的。
您可以通过在服务器上运行以下命令来检查:
Get-NetTCPConnection -State Listen -LocalPort 3306发布于 2020-08-25 05:50:40
您需要更改此设置以允许此连接,而不是“如果此连接是安全的”。
后一种设置只允许通过IPSec保护连接,您几乎肯定不使用它,也永远不会使用它。
https://serverfault.com/questions/1031260
复制相似问题