Linux-通过端口转发访问数据库

Linux-通过端口转发访问数据库

工作中有时在网络限制比较多的情况下,比如本地服务需要访问远程数据库,但是本地又不允许申请访问数据库,这时怎么办,所以就需要有个代理,本地连接代理,代理再去连接数据库,就跟生活中的中介似的。

需要达到的效果如下:

复制代码
客户端 → 跳板机:3306 → DNAT转换 → 远端MySQL服务器:3306

这里选择比较简单的方案吧

1. 使用iptables
a. 跳板机 - 开启IP转发
复制代码
#echo 1 > /proc/sys/net/ipv4/ip_forward
b. 跳板机 - DNAT目标地址转换

将本机的3306 端口dnat转发到远程mysql

复制代码
#iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to-destination mysql_server_ip:3306
c. 源地址转换

因为需要将请求mysql的源地址改成跳板机的

复制代码
#iptables -t nat -A POSTROUTING -p tcp -d mysql_server_ip --dport 3306 -j MASQUERADE

如果出现不通的清空,请排查forward是否打开,以及iptables INPUT以及forward链是否放行端口。

复制代码
PREROUTING链 (nat表) → 路由判断 → FORWARD链 (filter表) → POSTROUTING链 (nat表)

#iptables -A FORWARD -p tcp -d mysql_server_ip --dport 3306 -j ACCEPT 
#iptables -A FORWARD -p tcp -s mysql_server_ip --sport 3306 -j ACCEPT 
2. 使用nginx tcp代理

(略)

感觉使用iptables以及nginx相对来说还是比较简单并稳定可靠的。

相关推荐
风哥2号6 小时前
数据库教程FGMT27‑MySQL数据库基础知识与体系架构
数据库·mysql
AlanBruce6 小时前
摩尔信使MThings功能综述与应用使用指南
linux·自动化·plc·mthings·摩尔信使
YangYang9YangYan7 小时前
2026 校招商品分析岗位 JD 拆解,核心指标、工具与面试考点
大数据·数据库·数据分析
西安栈上月明软件科技8 小时前
从业务黑话到本体图谱:OAG本体建模五步法(西安老系统AI化改造实战)
数据库·人工智能·架构
anxiao_m8 小时前
跨云跨机房大数据迁移怎么选?不同场景工具适配指南
数据库·云启快传
风哥2号10 小时前
数据库教程FGMT43‑MySQL性能分析与优化调整
数据库·mysql
随身数智备忘录11 小时前
财务数据分析如何与业务场景结合?财务数据分析如何从数出有据到数出有用?
数据库
陈陈CHENCHEN11 小时前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
这个DBA有点耶12 小时前
数据库教程:从零基础到实战的完整学习路径(2026版)
数据库·程序员·代码规范
GeW12 小时前
RHCE快速拿证全攻略:考点拆解+实验强化+时间规划,一次通关
linux