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. Openfire注册流程代码分析

    Openfire注册流程代码分析 一.客户端/服务端注册用户流程 经过主机连接消息确认后,客户端共发送俩条XML完成注册过程.服务器返回两条XML. 注:IQ消息节点用于处理用户的注册.好友.分组.获 ...

  2. Java类的成员初始化顺序

    Java类的成员初始化顺序 2017-06-01 代码: public class InitializeSequence { public static void main(String[] args ...

  3. java多线程18: ThreadLocal的作用

    从上一篇对于ThreadLocal的分析来看,可以得出结论:ThreadLocal不是用来解决共享对象的多线程访问问题的,通过ThreadLocal的set()方法设置到线程的ThreadLocal. ...

  4. iis下php 500错误

      很不想用iis,然而客户不想增加机器,只好按客户的意思了.可是没想到发送短信以在本地 机器上是好的,在iis下直接500.   一开始以为是防火墙问题,后来检查了一下没有,再后来换了一个短信接口, ...

  5. Maven 本地打war包

    Maven是个很好用的管理工具,不经能够管理jar,还能实现打包. 这里讲解Maven 本地打包,服务器打包,可以全部交给jenkins去完成的. 用Maven打包,先在eclipse装Maven插件 ...

  6. [转]Teleport Ultra/Teleport Pro的冗余代码批量清理方法

    原文地址:http://www.abcd9.com/?post=402 Teleport Pro 是款优秀的网站离线浏览工具(即网站整站下载工具),Teleport Ultra是其增强版,但使用此系列 ...

  7. Teleport Pro使用教程

    Teleport Pro使用教程 经常有不少网友来信询问,问如何做才可以把整个站点复制到硬盘上慢慢看,或者问teleportPro的使用方法.的确,离线浏览工具对于大部分网民来说是一个不错的工具,除非 ...

  8. kafka 怎么保证的exactly once

    Kafka auto.offset.reset值详解 发表于2017/7/6 11:25:22  1010人阅读 分类: Kafka 昨天在写一个java消费kafka数据的实例,明明设置auto.o ...

  9. InstallShield卸载不彻底,残留大量dll文件

    今天发现安装包Client装c盘能正常删除,但是放d盘不能删除dll文件. 1.d盘安装程序包 2.检查脚本文件,卸载时通过messagebox打印INSTALLDIR和TARGERDIR,发现均指向 ...

  10. B2C和B2B之间有多大差距

    从产品应用的角度,我们团队经历了企图将B2C系统套用到B2B业务流程上的阶段,对于自营业务这还勉强可以实施,但对于外部用户的实施难度就太大了,用户体验也不好.这个过程中,我只关注了技术范畴的迭代速度. ...