![如果路由器启用了端口转发,我无法使用本地 IP 直接连接到 SQL](https://linux22.com/image/748860/%E5%A6%82%E6%9E%9C%E8%B7%AF%E7%94%B1%E5%99%A8%E5%90%AF%E7%94%A8%E4%BA%86%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%EF%BC%8C%E6%88%91%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E6%9C%AC%E5%9C%B0%20IP%20%E7%9B%B4%E6%8E%A5%E8%BF%9E%E6%8E%A5%E5%88%B0%20SQL.png)
我遇到了一个相当奇怪的情况。我有一个 SQL 服务器,我每次都使用这个“连接字符串”来连接它:
Data Source=TCP:MyPublic-IP\SQLEXPRESS, 1433;
Initial Catalog=MyDatabase;
User ID=MyUser;
Password=MyPassword;
我已在路由器上启用“端口转发”,如下所示:
Inside -> Start port = 1433, End port =1433
Outside -> Start port = 1433, End port = 1433
Server = 192.168.0.185
此配置始终有效,但奇怪的是,如果路由器启用了“端口转发”,我无法从本地计算机直接连接到服务器,例如:
Data Source=TCP:192.168.0.185\SQLEXPRESS, 1433;
一旦我禁用端口转发或更改 SQL 服务器 IP 地址,我就可以使用本地 IP 而不是公共 IP 从本地计算机再次连接。
有人想过背后发生了什么导致了这种行为吗?