通过 Internet 连接到 SQL Server

sal*_*nny 5 sql-server remote connectivity

我想通过 Internet 连接到 SQL Server:

  1. 我关闭了防火墙
  2. 我在路由器中启用了DMZ,主机地址是192.168.1.24,这是SQL Server LAN IP
  3. 我在路由器中为 SQL Server 和 SQL Server 浏览器打开了端口 (1433 - 1434)
  4. 我通过(canyouseeme)网站检查了开放端口,结果是1433成功,1434错误(不知道错误原因)
  5. 我为 TCP 协议做了必要的配置
  6. 我检查了服务器是否允许远程连接

但是我无法通过 Internet 连接到服务器。

我的局域网IP是192.168.1.24
实例是默认实例
我的公网IP是95.218.156.146(例如)

当我在服务器名称文本框中输入 (192.168.1.24) 时,我成功连接到服务器,但是当我输入 195.218.156.146 或 95.218.156.146 ,1433 时我无法连接

笔记:

  1. 当我将公共IP放入浏览器时,就会出现路由器页面(意味着公共IP是正确的)
  2. 我在我的路由器中没有找到端口转发,但是我已经配置了 DMZ 和端口映射 在此处输入图片说明 在此处输入图片说明

Joh*_* N. 7

推荐的方法是在两个站点之间设置 VPN。执行此操作的步骤因所使用的特定防火墙/路由器而异。如果无法使用 VPN,以下信息提供了如何建立带有端口映射的连接。如果使用端口映射,则它只能与其他防火墙规则结合使用,以限制哪些源 IP 地址可以通过映射端口路由,这样地球上的每个黑客都无法访问您的 SQL Server。

1.服务器IP配置

通过运行检查 Windows Server 的 IP 配置IPCONFIG / ALL。您的结果可以包含两个 IP 地址,但至少包含您的内部 IP:
- 192.168.1.24
-95.218.133.168

2. 检查你的路由

使用以下命令启动 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(请参阅稍后的路由器配置

3. 检查您的 SQL Server IP 配置

  1. 在 SQL Server 配置管理器中打开SQL Server 网络配置分支并选择您的实例。(例如Protocols for 'MSSQLSERVER'
  2. 右键单击并打开属性。确认您没有任何可能禁止连接的设置。完成后关闭设置。
  3. 在协议设置的右侧窗格中,验证 TCP/IP 协议是否为'Enabled'.
  4. 现在右键单击 TCP/IP 设置并打开属性。在协议选项卡中...
    a) 再次验证Enabled设置为Yes
    b) 验证设置Listen All是否设置为Yes
    c) 屏幕应如下所示:
    协议选项卡

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

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

4. 检查您的路由器配置

您的公共 IP 不是服务器的,而是路由器的。如果您的服务器在路由器后面,那么您必须确保您的路由器将请求转发到您的 SQL Server。此配置设置可能因路由器而异。这里有几个配置路由器的例子:
-端口转发(Zyxel)
-设置静态端口共享(Fritz AVM)
-如何在我的路由器上配置端口转发?(D-Link)

使用提供的提示和技巧,您应该能够将 SQL Server 设置为接受来自 Internet 的连接。

免责声明:真的不建议允许通过 Internet 连接到 LAN 中的数据库。你有被攻击的风险。