外网远程访问SQL Server数据库【无公网IP】
在本地局域网内的SQL Server数据库,一般只能在局域网内访问,想要在外网/公网也可以远程访问到局域网的SQL Server数据库,可以通过两种方式来实现。
- 公网IP+端口映射
- 内网穿透
第一种,公网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端口地址。复制该公网地址进行远程连接即可。
相关文章
- SQL Server此数据库没有有效所有者
- is-a,has-a,like-a是什么 sql server中,N''表示什么意思? 关于SQL SERVER的N前缀的理解
- 【Sql Server】实现数据库定时自动备份详细一步步操作(图文)
- 【Sql Server】还原BAK数据库时出现“尚未备份数据库的日志尾部”错误(已解决)
- Python:利用pymssql模块操作SQL server数据库
- 数据库(原SQL Server 我是mysql )对S表、P表、J表、SPJ ---- 第一篇~
- SQL Server 2005/2008备份数据库时提示“无法打开备份设备”
- 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.20 使用BULK INSERT实施批量导入
- sql server 数据库优化--显示执行计划
- Sql Server数据库监听 c#代码
- SQL Server 2017 数据库安装教程
- SQL Server 动态生成数据库所有表Insert语句
- 乱谈SQL Server数据库视图
- 【sql server安装错误】sql server安装错误 无法找到数据库引擎启动句柄
- SQL Server 数据库调整表中列的顺序操作
- 查看SQL SERVER数据库的连接数
- 远程连接数据库 出现 Client does not support authentication protocol requested by server的解决方法
- 利用PowerDesigner绘制PDM生成SQL Server数据库