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

上面这个是一个简单的示例,其中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. 选择一个 HTTP 状态码不再是一件难事 – Racksburg《转载》

    本文转载自:众成翻译 译者:十年踪迹 链接:http://www.zcfy.cc/article/904 原文:http://racksburg.com/choosing-an-http-status ...

  2. poj2019 二维RMQ模板题

    和hdu2888基本上一样的,也是求一个矩阵内的极值 #include<iostream> #include<cstring> #include<cstdio> # ...

  3. python+selenium九:ddt数据驱动

    第一种,测试数据放在Excel里面 test_Login: import unittestimport timeimport ddtimport osfrom selenium import webd ...

  4. 2017-2018-2 20155309南皓芯 Exp8 WEB基础实践

    基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本 ...

  5. [SDOI2014]数数

    题解: 做过ac自动机上dp的这题应该就很容易想到了 首先在ac自动机上搞dp 表示当前考虑了i位,在自动机的j位上 然后转移就可以了 考虑限制 显然是一个数位dp 考虑位数小于n显然满足要求 考虑位 ...

  6. 【开源小软件 】Bing每日壁纸 让桌面壁纸保持更新

    发布一个开源小软件,Bing每日壁纸. 该小软件可以自动获取Bing的精美图片设置为壁纸,并且支持随机切换历史壁纸,查看壁纸故事. 欢迎大家下载使用,点star!有问题请留言或者提issue. 开源地 ...

  7. Codeforces 744C Hongcow Buys a Deck of Cards 状压dp (看题解)

    Hongcow Buys a Deck of Cards 啊啊啊, 为什么我连这种垃圾dp都写不出来.. 不是应该10分钟就该秒掉的题吗.. 从dp想到暴力然后gg, 没有想到把省下的红色开成一维. ...

  8. MT4编程初级手册

    http://www.fxunion.com/college/2015/17554.html

  9. 【Java】 剑指offer(8) 用两个栈实现队列

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集  题目 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数append ...

  10. 【Java】 剑指offer(42) 连续子数组的最大和

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整/ ...