linux下搭建redis内网端口映射工具-rinetd

最近在工作中使用到了redis缓存,用来提某些业务场景的计算速度和某些情况下的操作频率限制,客户端工具使用了redisDesktopmanager来管理,在本机操作测试的时候,是没有问题的。但是将系统部署到ecs上之后,想要观察redis里面的数据缓存情况,会发现无法访问。原因是由于阿里云上面的redis是存在内网环境中的,服务器可以访问,要想在本地访问redis的话,必须要在ecs上搭建一个内网端口映射工具,把来自外网的请求转发到内网的redis端口上面.下面就来介绍使用这个工具rinetd。

rinetd介绍

Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。

rinetd安装

首先,在服务器上建立一个文件夹,用来存放rinetd文件

mkdir /app/rinetd

然后,使用命令下载rinetd压缩包

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz

解压缩,

tar -zxvf rinetd.tar.gz 

这个时候,会有一个rinetd文件夹,进入rinetd文件夹,执行make安装命令

cd /app/rinetd/rinetd 
make &make install

接着可能会提示一个报错信息,是说在/usr/local/下面缺少一个man8的文件夹,直接去建立一个,然后重新执行make & make install命令,错误解决,安装完成。

rinetd配置

rinetd的配置相当简单,直接在/etc文件下编辑rinetd.conf配置文件即可,命令:

vim /etc/rinetd.conf

配置内容如下:

# 格式: ip  端口   redis内网地址 redis端口
0.0.0.0 xxx端口   redis.xxx.com   6379

配置完保存退出。

rinetd启动

修改完之后,使用以下命令来启动rinetd来进行转发:

 #关闭进程
pkill rinetd 
 #启动转发
#把这条命令加到/etc/rc.local里面就可以开机自动运行
rinetd -c /etc/rinetd.conf 

至此,rinetd成功启动,使用以下命令来查看端口占用情况

netstat -antup

可以看到rinetd是否开始正常运行。

总结

rinetd的安装和配置是相对简单的,不会那么复杂,但是也有几点要注意的地方:

  1. rinetd占用的端口不能被其他程序占用,可以使用netstat -antup命令来查看。
  2. 运行rinetd的系统防火墙应该打开绑定的端口,比如放在ecs上面,就需要把映射的ecs的端口打开。

猜你喜欢

转载自www.cnblogs.com/yunjiandubu/p/10807101.html