gaoyuan 的个人博客

菜鸡的成长之路

Open Source, Open Mind,
Open Sight, Open Future!
  menu
34 文章
1 评论
25458 浏览
1 当前访客
ღゝ◡╹)ノ❤️

如何将 SqlServer MongoDB Redis 等没有外网的数据库通过外网连接

参考链接 sqlserver等一些没有外网地址的数据库实例如何外网连接** **

参考链接 Linux prerouting和postrouting的区别

由于腾讯云的 云数据库 SqlServer 等 并不提供 外网IP 也就是说,通常我们无法通过 外网直接访问数据库。 那么我们需要通过外网 直接访问 这些 数据库 就需要 通过 跳板机 或者 本地 使用端口映射来访问 。

通过跳板机来访问 需要两个 条件 :

  • 一台可以和云数据通信的服务器
  • 设置iptables 进行 端口转发

通过对于云服务器设置端口转发,将本服务器的端口数据直接转发到 云数据库上。

**SqlServer 实验 **
服务器 10.105.243.140 外网IP 111.231.25.24
cdb SqlServer 10.66.201.92:1433

<code>iptables -t nat -A PREROUTING -d 10.105.243.140  -p tcp --dport 1234 -j DNAT --to-destination 10.66.201.92:1433
iptables -t nat -A POSTROUTING -d 10.66.201.92 -p tcp --dport 1433 -j SNAT --to-source 10.105.243.140
echo 1 > /proc/sys/net/ipv4/ip_forward</code>

上面命令是将访问云服务器 1234端口的数据转发到云数据库的1433端口,第一条做了目标地址转换 (任何访问140:1234 都将被转发到92:1433),第二条源地址转换(任何访问92:1433的源地址都将被替换成140) 待考证?

大佬的图

用大佬的图

MongoDB
服务器 10.105.243.140 外网IP 111.231.25.24
cdb SqlServer 10.66.203.190:27017

<code>iptables -t nat -A PREROUTING -d 10.105.243.140  -p tcp --dport 27017 -j DNAT --to-destination 10.66.203.190:27017
iptables -t nat -A POSTROUTING -d 10.66.203.190 -p tcp --dport 27017 -j SNAT --to-source 10.105.243.140
echo 1 > /proc/sys/net/ipv4/ip_forward</code>

规则设置-大佬的图

登录测试-还是大佬的


标题:如何将 SqlServer MongoDB Redis 等没有外网的数据库通过外网连接
作者:gaoyuan
地址:HTTP://jkgaoyuan.tech/articles/2019/11/29/1574984239000.html

评论
取消