sal*_*nny 5 sql-server remote connectivity
我想通过 Internet 连接到 SQL Server:
但是我无法通过 Internet 连接到服务器。
我的局域网IP是192.168.1.24
实例是默认实例
我的公网IP是95.218.156.146(例如)
当我在服务器名称文本框中输入 (192.168.1.24) 时,我成功连接到服务器,但是当我输入 195.218.156.146 或 95.218.156.146 ,1433 时我无法连接
笔记:
推荐的方法是在两个站点之间设置 VPN。执行此操作的步骤因所使用的特定防火墙/路由器而异。如果无法使用 VPN,以下信息提供了如何建立带有端口映射的连接。如果使用端口映射,则它只能与其他防火墙规则结合使用,以限制哪些源 IP 地址可以通过映射端口路由,这样地球上的每个黑客都无法访问您的 SQL Server。
通过运行检查 Windows Server 的 IP 配置IPCONFIG / ALL。您的结果可以包含两个 IP 地址,但至少包含您的内部 IP:
- 192.168.1.24
-95.218.133.168
使用以下命令启动 traceroute:TRACERT <external IP of server>. 验证您是否收到了到服务器的路由。
重要的是从您的 LAN 和 INTERNET 执行相同的操作。INTERNET 检查的结果应该类似于以下内容:
1 <1 ms <1 ms <1 ms <IP of your router>
2 <1 ms <1 ms <1 ms <IP of your ISP>
3 <1 ms <1 ms <1 ms <Another IP connecting to your company>
4 2 ms 1 ms 1 ms outside.yourcompany.com [<public IP of your company>]
5 3 ms 1 ms 1 ms dmz.yourcompany.com [<IP of DMZ component>]
6 3 ms 1 ms 1 ms router.yourcompany.com [<IP of router>]
7 3 ms 1 ms 1 ms sqlserver.yourcompany.com [<IP of server>]
Run Code Online (Sandbox Code Playgroud)
根据您的防火墙设置,您可能无法越过公司的防火墙,但如果 tracert 朝着正确的方向前进,那么它就会“知道”这条路。您的防火墙只是没有告诉任何人您的网络是什么样的,并且可能不会将端口请求转发到您的 SQL Server(请参阅稍后的路由器配置)
Protocols for 'MSSQLSERVER') 'Enabled'. 现在右键单击 TCP/IP 设置并打开属性。在协议选项卡中...
a) 再次验证Enabled设置为Yes。
b) 验证设置Listen All是否设置为Yes。
c) 屏幕应如下所示:

切换到 IP-Addresses 选项卡并验证每个IPn...
a) Active 设置为Yes
b) Enabled 设置为Yes
c) IP 地址是您的外部 IP 地址(或您的内部地址,如果您无法分配外部地址到您的 SQL Server,因为您只有一个公共 IP。)
d) TCP 动态端口设置为(无值/空)
e) TCP 端口设置为1433
f) 屏幕应该看起来有点像这样,但是使用您的 IP地址:

然后验证该IPAll部分的设置,通过检查...
a) TCP 动态端口设置为(无值/空)
b)TCP 端口设置为(无值/空)
c) 屏幕应如下所示:

您的公共 IP 不是服务器的,而是路由器的。如果您的服务器在路由器后面,那么您必须确保您的路由器将请求转发到您的 SQL Server。此配置设置可能因路由器而异。这里有几个配置路由器的例子:
-端口转发(Zyxel)
-设置静态端口共享(Fritz AVM)
-如何在我的路由器上配置端口转发?(D-Link)
使用提供的提示和技巧,您应该能够将 SQL Server 设置为接受来自 Internet 的连接。
免责声明:真的不建议允许通过 Internet 连接到 LAN 中的数据库。你有被攻击的风险。
| 归档时间: |
|
| 查看次数: |
40330 次 |
| 最近记录: |