端口映射和转发在实际应用中非常常见,比如一个局域网只有一台服务器可以被互联网访问到,那么如果想通过互联网访问局域网中其他的服务,最常用的方式就是在这一台机器上开放端口,然后转发至局域网中其他主机的端口,实现内网服务的访问,而在互联网中就好像直接使用这个服务一样没什么变化,端口转发的大致流程如下图所示:

上面这个是一个简单的示例,其中ip都是随便写的,过程很简单就是代理服务器对应的公网ip为:212.121.87.168,也就是访问公网ip就可以直接访问到37.58.1.2,同样访问18080端口就相当于内网的8080端口,这个ip和端口映射的过程是由路由器来实现的,另外在server1服务器上有一个redis服务,端口为6379,我们现在就是要实现将代理服务器的8080端口转发至server1的6379端口,直接通过访问代理服务器来实现server1 redis服务的访问.  正常情况下这类的转发过程很多工具都可以实现,比如nginx,haproxy以及linux自带的iptables或者firewalld服务都可以通过配置来实现,本文主要叙述一款rinetd的工具来实现端口转发,安装和配置都比较简单,用起来也比较好用,具体安装配置如下:

  rinetd官方下载地址为:https://boutell.com/rinetd/ 进入后直接找到WHERE TO GET下载linux版本:,下载成功后接下来我们需要在代理服务器上进行安装,从而实现将端口转发至server1,分别执行下面命令安装:

tar -xvzf rinetd.tar.gz
cd rinetd/

  执行编译: make

  然后如果现在直接执行安装会出现/usr/man找不到的错误,因为年代比较久远的原因,默认rinetd会将帮助写入/usr/man下,而linux可能不存在/usr/man这个目录,所以会写入失败报错,现在只需要手动执行: mkdir /usr/man

  然后安装: make install 即可成功,执行 rinetd -v 可以查看版本号,最新的是0.62

  rinetd配置文件默认不存在需要自己手动创建,执行: vim /etc/rinetd.conf ,然后添加如下内容:

0.0.0.0  37.58.1.21 

  配置非常简单,第一个是rinetd绑定本地代理服务器的地址,0.0.0.0是绑定所有的网卡地址,当然也可以直接绑定ip地址即37.58.1.2;后面8080是rinetd监听的转发端口;第三个是转发到目标服务器的ip,这里是server1的地址即37.58.1.21,最后6379是转发到目标服务器的端口,这里服务为redis,这条配置生效后,会将本地8080端口收到的所有数据原封不动的发送至目标服务器的指定端口,另外需要注意目标服务器的实际ip和端口号必须被正确绑定才可以,其中ip一定不要绑定127.0.0.1而是实际ip,否则会报错.  配置完毕后就可以执行下面命令启动rinetd服务了

rinetd -c /etc/rinetd.conf

  其中-c参数指定配置文件的路径,如果不加默认就是/etc/rinetd.conf,启动后查看进程正常存在并且端口正常绑定即可测试使用,这时候在内网直接连接37.58.1.2 8080或者在外网直接连接212.121.87.168 18080,应该都可以正常访问到server1上的6379了.

端口转发工具rinetd的安装与配置的更多相关文章

  1. [转帖]【rinetd】CentOS7.x上轻量级TCP转发工具rinetd的安装配置

    [rinetd]CentOS7.x上轻量级TCP转发工具rinetd的安装配置 https://www.jianshu.com/p/2605d247b944 这一个写的更加全面了. 2019.07.0 ...

  2. CentOS7.x上轻量级TCP转发工具rinetd的安装配置

    一.实验背景 Linux下端口转发一般都使用iptables来实现,使用iptables可以很容易将TCP和UDP端口从防火墙转发到内部主机上. 如果需要将流量从专用地址转发到不在您当前网络上的机器上 ...

  3. ubuntu14 安装 端口转发工具rinetd

    1,下载  第一中方式 用 apt-get install rinetd  或者从官网下载http://www.boutell.com/rinetd/ 2,配置,端口转发的配置在 /etc/rinet ...

  4. 全平台正向tcp端口转发工具rinetd的使用

    Linux下做地址NAT有很多种方法.比如haproxy.nginx的4层代理,linux自带的iptables等都能实现.其实,Linux下有一个叫rinetd的工具,安装简单,配置也不复杂. 下载 ...

  5. 代理端口转发工具rinetd

    转载: https://my.oschina.net/wuweixiang/blog/2983280 rinetd 前言 iptables 的功能当然强大,但理解与设置却有点抽象,便通过google认 ...

  6. Linux端口转发工具rinetd

    介绍:Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具.Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址 ...

  7. QC邮件转发工具Mail Direct安装配置手册

    QC邮件转发工具Mail Direct安装配置手册 2010-06-11 10:00:56| 分类: 软件测试 | 标签: |举报 |字号大中小 订阅 QC邮件转发工具安装配置手册 由于公司没有独立的 ...

  8. Windows 和 Linux 平台下的端口转发工具

    原文地址: http://unmi.cc/windows-linux-port-forwarding/ 这里记录一下我曾经使用过的几个端口转发工具,即端口映射.端口重定向,和 NAT 也是差不多的概念 ...

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

    最近在工作中使用到了redis缓存,用来提某些业务场景的计算速度和某些情况下的操作频率限制,客户端工具使用了redisDesktopmanager来管理,在本机操作测试的时候,是没有问题的.但是将系统 ...

随机推荐

  1. 【mysql】一个很小但很影响速度的地方

    如果要插入一大批数据,千万不要一条一条的execute, commit.而应该是先全部execute,最后统一commit!!! 千万注意,时间差距还是很大的!! 正确示范:快 ): sql = &q ...

  2. 委托Func和Action【转】

    平时我们如果要用到委托一般都是先声明一个委托类型,比如: private delegate string Say(); string说明适用于这个委托的方法的返回类型是string类型,委托名Say后 ...

  3. Nginx教程/概述

    Nginx(发音同engine x)是一个异步框架的 Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存.该软件由 Igor Sysoev 创建,并于2004年首次公开发布.同名公司成立于 ...

  4. 对象本田CRV

    <script> window.onload = function (ev) { var vcar = new Car("本田", "CRV", 4 ...

  5. Javascript中的函数(三)

    一:概述 函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解.JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的.通过函数对象的性质 ...

  6. Ext.js入门:常用组件与综合案例(七)

    一:datefield简单示例 二:timefield简单示例 三:numberfield简单示例 四:FormPanel提交   datefield简单示例: <html xmlns=&quo ...

  7. mysql undo 和redo 被误删除的恢复操作(一致性)

    今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单 ...

  8. python爬取京东价格

    昨天准备爬取一个京东商品的价格,正则写好了一直是空的 后来我去页面里面看了下,价格标签里果然是空的 百度了下,大家都说是js来控制显示价格的 于是去抓包试试,找到了一条mgets的请求 中间很多参数不 ...

  9. devexpress控件之ASPxCallback

    ASPxCallback主要是通过注册客户端事件与服务器端事件来相互通信完成任务.ASPxCallback控件为我们封装了大量的Ajax操作,使用起来非常的方便,如果页面中遇到需要局部刷的操作而又不想 ...

  10. BZOJ2325 [ZJOI2011]道馆之战 树链剖分 线段树

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ2325 题意概括 给你一棵N个点的树,树上的每个节点有A,B两块区域,且每种区域有两种状态:可以走的 ...