在本地局域网内的SQL Server数据库,一般只能在局域网内访问,想要在外网/公网也可以远程访问到局域网的SQL Server数据库,可以通过两种方式来实现。

  1. 公网IP 端口映射
  2. 内网穿透

第一种,公网IP 端口映射,前提是需要有真实的公网IP,但由于IPV4资源不足,无法为每个用户分配到独立的公网IP,也就是说绝大部分的用户被分配到的其实都是局域网IP。

而要做端口映射的前提是,需要用户有真实的公网IP,并进入到路由器进行映射。所以对于没有被分配到公网IP的用户,可以通过第二种内网穿透,来实现外网远程访问SQL Server数据库。

第二种,内网穿透,其原理是通过第三方有公网IP的服务器进行数据转发,将本地端口映射到公网上,生成相应的公网地址来进行连接。

比如cpolar内网穿透,亲测好用,也支持免费套餐,使用简单,只需要在本地安装下载客户端,完成简单的配置后,就可以创建隧道将本地端口映射到公网。

1. 安装配置cpolar内网穿透客户端(支持永久免费)

需要先注册一个cpolar账号,后面会用到。

cpolar - 安全的内网穿透工具

1.1 Windows

windows系统可以在cpolar官网下载最新的安装包,然后解压默认安装即可。

1.2 Linux

linux系统支持一键自动安装脚本

1.2.1 安装

国内使用

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

国外使用

curl -sL https://git.io/cpolar | sudo bash

1.2.2 向系统添加服务

sudo systemctl enable cpolar

1.2.3 启动服务

sudo systemctl start cpolar

1.2.4 查看服务状态

sudo systemctl status cpolar

如正常显示active,则说明已经启动成功。

创建隧道将本地1433端口映射到公网上

cpolar tcp 1433

隧道创建成功后,会生成相应的公网地址,在外网环境下使用所生成的公网地址,就可以远程访问到内网的SQL Server数据库。

如何远程访问sql数据库(外网远程访问SQLServer数据库)(1)

,