Rinetd
Centos7下Rinetd安装与应用 - 振宇要低调 - 博客园 https://www.cnblogs.com/zhenyuyaodidiao/p/5540209.html
Rinetd官网:
RINETD(8) https://boutell.com/rinetd/
作用:
linux下简单好用的工具rinetd,实现端口映射/转发/重定向
官网地址http://www.boutell.com/rinetd
软件下载
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
解压安装
tar zxvf rinetd.tar.gz
make
make install
编译时,会报警waring,不用管。生成rinetd。
rinetd -h 可以查看其用法
自己建立配置文件
编辑配置
vi /etc/rinetd.conf
0.0.0.0 8080 172.19.94.3 8080
0.0.0.0 2222 192.168.0.103 3389
1.2.3.4 80 192.168.0.10 80
说明一下(0.0.0.0表示本机绑定所有可用地址)
将所有发往本机8080端口的请求转发到172.19.94.3的8080端口
将所有发往本机2222端口的请求转发到192.168.0.103的3389端口
将所有发往1.2.3.4的80端口请求转发到192.168.0.10的80端口
命令格式是
bindaddress bindport connectaddress connectport
绑定的地址 绑定的端口 连接的地址 连接的端口
或
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址 源端口 目的地址 目的端口
启动程序
pkill rinetd ##关闭进程
rinetd -c /etc/rinetd.conf ##启动转发
把这条命令加到/etc/rc.local里面就可以开机自动运行
查看状态
netstat -antup
需要注意
1.rinetd.conf中绑定的本机端口必须没有被其它程序占用
2.运行rinetd的系统防火墙应该打开绑定的本机端口
例如:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1111 -jACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -jACCEPT
使用实例
阿里云redis默认不允许公网访问,但可以通过可连接到redis的ECS 服务器做端口转发来实现,公网访问
公网连接_连接实例_云数据库 Redis 版-阿里云 https://help.aliyun.com/document_detail/43850.html?spm=a2c4g.11186631.6.572.QQykVZ
故障处理
CPU飙升到100%,转发的redis无法连接,但Rinetd的连接数过千,iftop查看进程无流量,重启恢复
rinetd 在生产环境要谨慎使用 - CSDN博客 https://blog.csdn.net/woshiaotian/article/details/78133195