巧用防火墙的转发功能在云服务器上搭建代理解决Redis,数据库等资源需IP白名单访问的问题

在使用云厂商的云数据库, 如Redis, Polardb出于安全的考虑, 大都默认不提供公网访问的地址, 而且连接来源IP有白名单的机制,但在开发环境中,公网IP往往不是固定的,而且也不处于云数据库的专有网络环境内,所以有时需要直接连接云数据调试或定位问题时就非常麻烦,导致效率低下。

有个简单的办法解决,就是在云厂商的账号内咱们肯定会有ECS的,找一台有公网IP的ECS增加一个端口转发就能轻松解决这个问题:

我的ECS安装的操作系统是Centos8, 所以用的防火墙是firewall,

  1. 登录到控制台,以管理员身份操作:

可以通过这个命令增加一条端口转发规则:

sql 复制代码
firewall-cmd --permanent --add-forward-port=port=6379:proto=tcp:toaddr=172.16.0.109:toport=6379

注:上面这条命令是把所有访问该ECS 6379这个端口的请求转发到另一个IP(172.16.0.109)的6379端口上,这时候可能你有疑问,通常云数据库提供的专有网络连接地址是一个网址,例如r-rj91g10j1****.redis.rds.aliyuncs.com, 这时想知道它的局域网地址,只要登录ECS然后ping一下这个网址, 就能得知它对应的内网IP了

对了,添加规则后记得要reload一次才会生效,reload的命令如下:

bash 复制代码
firewall-cmd --reload

如果上述操作好后转发没有生效,可以检查一下网络配置是否启用了IP转发功能,方法如下:

确保你的系统已经启用了 IP 转发,编辑 /etc/sysctl.conf 文件,确认是否存在以下行,如果没有就加上去:

bash 复制代码
net.ipv4.ip_forward = 1

然后执行下述命令让配置生效

bash 复制代码
sysctl -p

码字分享不易,如果本文对你有帮助请点赞支持一下,谢谢

相关推荐
大哥您好7 小时前
QEMU 11.1.2 多架构编译指南(x86_64 / aarch64 / riscv64)
linux·服务器
数据库小学妹8 小时前
国产数据库怎么选?兼容、迁移、核心案例与融合架构四道关
数据库·架构·国产数据库·数据库迁移·融合数据库
IvorySQL8 小时前
PostgreSQL 日报| PgBouncer 修复三个 CVE 漏洞(10 月 15 日)
数据库·postgresql·区块链
饺子大魔王的男人8 小时前
后台表格、查询、流程总在重复写?我用ToolJet把PostgreSQL直接做成可远程访问的业务系统
数据库·postgresql
Gauss松鼠会9 小时前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
Android系统攻城狮9 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_prepare_read调用流程与实战(七十四)
linux·运维·服务器·gstreamer音视频·音视频进阶
杨云龙UP9 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
AOI小白新手上路10 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
凯歌的博客10 小时前
DuckDB 是一款进程内的分析型数据库
数据库·ai编程