Redis之跃出内网,访问外网的实践(redis访问外网)

Redis作为一种流行的KV数据库,被广泛用于界面开发,但出于安全考虑,Redis的端口默认都只对内网开放,让外网无法访问。下面就介绍如何让Redis跃出内网,访问外网的实践。

首先需要内网服务器准备一个让外网可以访问的回环地址作为跳板机,例如:127.0.0.1,Redis服务器可以设置一个外网IP来访问,例如: eth2的主IP为10.x.x.x,Redis服务器的端口(本示例为6379)可以配置成外网IP的端口,如下图所示:

然后,在跳板机上开启端口转发,用本机的其他端口转发到内网Redis的端口上。本文使用`iptables`命令:

iptables -t nat -A PREROUTING -p tcp --dport 6379 -j DNAT --to-destination 10.x.x.x:6379
iptables -t nat -A POSTROUTING -p tcp -d 10.x.x.x --dport 6379 -j SNAT --to-source 10.x.x.x:6379

该命令将外网来的6379端口请求转发到内网的10.x.x.x:6379上

之后,重启服务器,可以在外网上使用`10.x.x.x:6379`即可访问Redis服务器,实现Redis的跃出内网的功能,同时可以防止内网服务被外网攻击。

除了使用`iptables`端口转发,还可以使用nginx代理、VPN连接、SSH-Tunnel以及端口转发特性等方式将Redis服务器暴露给外网访问。

通过这些实践方案,可以让外网访问Redis服务,让外网服务器使用Redis存储和读取信息,给用户提供更加便捷的界面服务。


数据运维技术 » Redis之跃出内网,访问外网的实践(redis访问外网)