+86 189 8218 1436Mon. - Fri. 10:00-22:00

linux-如何同时访问阿里云RDS的内外网-ssh-tunnel/snat/dnat

linux-如何同时访问阿里云RDS的内外网-ssh-tunnel/snat/dnat

经济实惠的服务器代维费用及报价,让中小企业都能用上专业的服务器代维服务!

服务器代维外包服务 让您省心又放心 小程序HTTPS配置 一键ssl全站配置 正版EV OV_SSL证书 顶级证书长期享用 DDOS/CC攻击防御 有针对性的攻击防御
木马病毒清除 彻底的清除专家 网站中毒处理 快速网站故障处理专家 服务器故障处理 一站式解决服务器问题 数据找回/恢复 重要数据秒级找回
数据库优化 提升网站访问速度神器 数据迁移 网站搬家快方法 漏洞扫描/渗透测试 网站安全检测 网站故障排查/修复 一键排查故障/修复
宝塔Linux面板安装服务 环境配置专家 WordPress代维托管 一次性收费包您满意 网站程序安装指导 多年安装经验
肉鸡处理,中毒处理
肉鸡处理,中毒处理  
 

linux-如何同时访问阿里云RDS的内外网-ssh-tunnel/snat/dnat

需求一: 之前介绍了windows下如何通过公网IP代理访问内网的RDS数据库,本文将介绍linux下如果通过公网IP来访问内网的RDS。

 

需求二:也有客户内网服务器想通过公网服务器上外网的需求(SNAT/VPN/PROXY)
这两个需求在普通网络环境下很容易实现,开启ipnet.ipv4.ip_forward 之后

需求一:

公网服务器执行iptables命令:iptables -t nat -I PREROUTING -p tcp –dport 3306  -j DNAT –to RDSIP:3306
即可实现访问公网IP的3306端口即可转发到RDSIP的3306端口。
需求二:
公网服务器执行iptables命令:iptables -t nat -I POSTROUTING -s LANIP -j SNAT –to WANIP
内网服务器网关设置为公网服务器的内网IP,即可将访问请求转换为WANIP访问出去。
————
由于阿里云的虚拟化网络有一些限制,所以以上的办法实现这两个需求有时候会不成功,所以这里分享一个应用层实现的肯定管用的转发利用ssh tunnel,如下:
需求一:
[root@test ~]# ssh -Nf -L 122.224.103.234:3433:192.168.131.51:1433192.168.131.219
或者配置sshd_config   GatewayPorts yes然后执行
ssh -Nf -R 122.224.103.234:3433:192.168.1.51:1433 192.168.1.219
即可实现访问103.234服务器的3433端口,会通过内网IP:1.219来跳转访问到内网服务器1.51的1433端口
内网IP:131.219可以公网VM自身的内网IP,也可以是公网VM和内网服务器都可以连接的一台跳板机
备注:
如果3433端口想在自身所有的IP(0.0.0.0)上监听需要配置sshd_config的gatewayports为yes
-N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
-f 告诉SSH客户端在后台运行  (使用此命令后,ssh隧道会一直在后台监听,不会因终端推出而中断)
需求二
开启gatewayports后运行命令
[root@test ~]# ssh -Nf -D 0.0.0.0:1080 122.224.103.234
即可在1080端口上开启socket5 代理,内网服务器需要访问网络的程序只要支持socket5协议即可通过公网服务器代理访问跟公网
北京 上海 天津 重庆 河北 山东 辽宁 黑龙江 吉林 甘肃 青海 河南 江苏 湖北 湖南 江西 浙江 广东 云南 福建 海南 山西 四川 陕西 贵州 安徽 广西 内蒙古 西藏 新疆 宁夏 澳门 香港 台湾