linux下简单好用的工具rinetd,实现端口映射/转发/重定向

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

官网地址:http://www.boutell.com/rinetd

软件下载:wget http://www.boutell.com/rinetd/http/rinetd.tar.gz

软件安装:

#解压安装
tar zxvf rinetd.tar.gz
cd rinetd
make
make install

执行过程中如果出现下面的错误

install: cannot create regular file `/usr/man/man8': No such file or directory

需要手动创建一下文件夹,重新编译安装即可

mkdir -p /usr/man/man8

然后开始配置文件.

#vim /etc/rinetd.conf
0.0.0.0 8080 172.19.94.3 8080
0.0.0.0 9090 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端口
将所有发往本机9090端口的请求转发到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 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT

 因为我们的跳板机都是转发的数据库和redis的端口,运行了一段时间后每天早上来rinetd服务就挂了,没办法就执行写个脚本检查pid号,如果挂了就重启。

#!/bin/bash

#rinetd pid check

pid=`ps -ef |grep rinetd |grep -v grep`

if [ $? -ne 0 ]
then
rinetd -c /etc/rinetd.conf
echo "Start executive time:"`date`
else echo rinetd pid is running...
echo date is :`date`
fi crontab -l
1 */2 * * * /usr/local/src/pid-check.sh >> /tmp/rinetd.log 2>&1 #每两个小时监测一次.

参考文档:http://www.cnblogs.com/clds/p/5732370.html

http://www.trojansun.com/using-rinetd-for-port-forwarding.html  

linux rinetd 端口转发部署的更多相关文章

  1. 【Linux】linux rinetd 端口转发部署

    linux下简单好用的工具rinetd,实现端口映射/转发/重定向 Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具.Rinetd是单一过程的服务器,它 ...

  2. [转帖]LINUX下使用rinetd端口转发

    LINUX下使用rinetd端口转发 https://www.iteye.com/blog/lvinie-1167701 . 本来想自己写一下 发现没必要. 并且原作者提供了pan.baidu.com ...

  3. Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)

    # 安装rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz& ...

  4. linux设置端口转发(一键设置)

    linux设置端口转发 #下载rinetd程序并进入文件夹 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xv ...

  5. linux rinetd、socat端口转发部署(很实用的网络工具)

    端口转发映射的程序叫rinetd,下载地址,直接manke编译安装即可. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@PortForward02 src] ...

  6. Linux 通过rinetd端口转发来访问内网服务

    可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.rinetd,Wi ...

  7. 阿里云ECS linux通过rinetd 端口转发来访问内网服务

    一.场景说明: 可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.r ...

  8. Linux IPTABLES端口转发

    之前在Linux上用普通用户部署了一个Tomcat,然后将其server.xml中的端口配置为80端口,用普通用户运行就提示绑定端口失败(permission denied),google了一下,原来 ...

  9. linux配置端口转发

    一.使用rinted进行端口转发 将10.50.13.13 80请求转到10.50.13.11 80上 1.安装rinetd $ tar zxf rinetd.tar.gz $ cd rinetd $ ...

随机推荐

  1. 关于SpringKafka消费者的几个监听器:[一次处理单条消息和一次处理一批消息]以及[自动提交offset和手动提交offset]

    自己在使用Spring Kafka 的消费者消费消息的时候的实践总结: 接口 KafkaDataListener 是spring-kafka提供的一个供消费者接受消息的顶层接口,也是一个空接口; pu ...

  2. 【转】mysql 索引过长1071-max key length is 767 byte

    问题 create table: Specified key was too long; max key length is 767 bytes 原因 数据库表采用utf8编码,其中varchar(2 ...

  3. eclipse Maven 使用记录 ------ 建立 webapp项目

    maven 建立 webapp 项目 有2种方式 ,  1.在原先app上转换为webapp项目  2.建立maven项目的时候  filter 选择webapp 该选项把webapp文件目录建好,其 ...

  4. java中常用的16个工具类

    1. org.apache.commons.io.IOUtils:处理io流的相关操作 closeQuietly ( ) toString ( ) copy ( ) toByteArray ( ) w ...

  5. 多 LDAP 目录服务器的 FileNet P8 系统介绍和配置实例

    摘抄笔记:http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1312multipldap/ 多 LDAP 目录服务器的 ...

  6. docker探索-docker私有仓库搭建(九)

    前言 本文讲解搭建docker的私有仓库,和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库 一.环境 ip 主机名 操作系统 角色 19 ...

  7. hexo静态博客的安装及应用实践记录

    1. 必须要安装 nodejs,git 2. 安装hexo node install -g hexo 3. npm源的问题使在安装时有卡住的问题而导致无法安装,则需要更改npm的源 npm confi ...

  8. 教你如何禁用U盘、屏蔽USB端口的三种方法

    如果想禁止所有U盘的使用,则可以通过修改注册表来实现. 打开”运行“对话框,输入命令“Regedit”进入注册表界面.   依次展开“HKEY_LOCAL_MACHINE”→“SYSTEM”→“ Cu ...

  9. gulp实例

    前端生产环境的简单部署http://ionichina.com/topic/558a1c1346cb5ff7268cee9d var gulp = require('gulp'); // 引入gulp ...

  10. Web Application Stress 对网站进行压力测试

    打开Microsoft web Application Stress工具按下图顺序操作: 1. 2.点击Record 3. 4.在浏览器中输入要测试的URI地址 5.在设置中设置参数,如发起请求线程数 ...