zl程序教程

您现在的位置是:首页 >  后端

当前栏目

外网远程访问SQL Server数据库【无公网IP】

server数据库SQLIP 远程 访问 公网
2023-09-11 14:14:32 时间

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

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

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

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

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

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

cpolar 官网:https://www.cpolar.com/

1. 安装cpolar内网穿透

1.1 windows系统下载安装包后解压双击安装包一路默认安装即可

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

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

或 cpolar短链接安装方式:(国外使用)

curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号,显示3.2.88.22
cpolar version
  • token认证【登录cpolar后台——验证,可以查看到自己的token,将token贴在命令行】
cpolar authtoken xxxxxxx
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态,如正常显示为active则状态启动正常
sudo systemctl status cpolar

2. 创建隧道映射SQL Server数据库

访问本地9200端口【本地IP地址:9200,http://localhost:9200/】,登录cpolar web ui管理界面。点击左侧的隧道管理——创建隧道

  • 隧道名称:可自定义,注意不要重复即可
  • 协议:选择TCP协议
  • 本地地址:1433
  • 端口类型:免费选择随机
  • 地区:选择China或者China vip

点击创建

在这里插入图片描述
隧道创建成功,点击左侧的状态——在线隧道列表,可以查看到所生成的随机公网地址,即可通过该地址实现公网远程连接。

在这里插入图片描述
需要注意的是,使用免费的cpolar所生成的公网地址为随机临时地址,24小时内会变化,且带宽较小。我们可以为其配置固定的公网TCP端口地址,并提高带宽。

3. 配置固定公网TCP端口地址

3.1 保留一个固定TCP端口地址

登录cpolar官网,进入后台,点击左侧仪表盘的预留。找到保留的TCP地址,为远程sql保留固定的TCP地址:

  • 地区:选择“China VIP”
  • 描述:可自定义备注

点击保留

在这里插入图片描述
TCP地址保留成功后,会生成相应的地址,将其复制下来。

在这里插入图片描述

3.2 配置固定TCP端口地址

登录cpolar web ui管理界面【浏览器访问127.0.0.1:9200】,点击左侧仪表盘的隧道管理——隧道列表,找到SQL Server隧道,点击编辑

在这里插入图片描述

修改隧道信息

  • 端口类型:改为选择固定TCP端口
  • 预留的TCP地址:填入刚刚为SQL Server预留的TCP地址

修改完成后,点击更新

在这里插入图片描述

4. 使用固定公网地址远程访问

在左侧仪表盘的状态——在线隧道列表,可以看到已经更新为固定的公网TCP端口地址。复制该公网地址进行远程连接即可。

在这里插入图片描述