通过rinetd实现端口转发来访问内网的服务

一、   问题描述

通过外网来访问内网的服务

二、   环境要求

需要有一台能够外网访问的机器做端口映射,通过数据包转发来实现外部访问阿里云的内网服务

三、   操作方法

做端口映射的方案有很多,Linux下的ssh tunnel和windows下的portmap等等,这里分享一个更稳定和简单的小工具rinetd

四、   下载安装

$ wget http://www.boutell.com/rinetd/http/rinetd.tar.gz

$ tar -xvf rinetd.tar.gz

$ cd rinetd

# 修改端口范围,否则会报错

$ sed -i 's/65536/65535/g' rinetd.c

$ mkdir /usr/man&&make&&make install

五、   创建配置文件:

$ vim /etc/rinetd.conf

# allow 192.168.2.*

# deny 192.168.1.*

# bindaddress bindport connectaddress connectport

114.215.143.167 4408 10.174.205.239 3306

logfile /var/log/rinetd.log

六、   加入到开机启动脚本中

$ echo rinetd >> /etc/rc.local

$ cat /etc/rc.local

七、   启动 rinetd

$ rinetd -c /etc/rinetd.conf

# 检查进程是否启动

$ ps aux | grep -I rinetd

# 检查监控的端口是否开启

$ netstat -tanop | grep 4408

八、   验证

待 rinetd启动后,就已经可以通过外网的4408端口连接到处于内网模式的10.174.205.239:3306数据库了

九、   其他说明

除了这个场景,其它的内网端口转发也都可以(由于FTP协议相对特殊,无法实现转发)

配置文件中可以对某个IP或者IP段进行允许/拒绝,藉此提高内网端口的安全性。

如果二者冲突,拒绝优先。

rinetd也有Windows版本,配置方法完全相同,在此不再赘述。 如果你是ubuntu系统,使用:apt-get install rinetd -y 就可以实现安装。

通过rinetd实现端口转发来访问内网的服务的更多相关文章

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

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

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

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

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

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

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

    Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具,系统内部服务受系统网服限制外部无法访问,需要通过rinetd映射将内网服务转发出来. 1. 下载解压 ...

  5. p2p-tunnel 打洞内网穿透系列(三)TCP转发访问内网web服务

    系列文章 p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞 p2p-tunnel 打洞内网穿透系列(二)TCP转发访问远程共享文件夹 p2p-tunnel 打洞内网穿透系列(三)TCP转发 ...

  6. iptables端口转发规则(内网端口转外网端口)

    需求:外网124.202.173.118需要访问 10.45.225.70的内网54032端口,10.45.225.70服务器有公网地址139.129.109.81将内网地址端口转发到外网地址端口,并 ...

  7. 利用SSH端口转发实现远程访问内网主机远程桌面(一) 建立SSH转发

    近期家里更换了移动的宽带,拨号后拿到的是10开头的内网IP,就不能像之前一样通过路由器的端口映射实现从外网访问主机的远程桌面.这种情况下可以利用一台具有公网IP的服务器充当中转,利用SSH的隧道转发功 ...

  8. frp 内网穿透访问内网Web服务

    ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...

  9. 怎样从外网访问内网微服务Microservices?

    本地部署了一个微服务,只能在局域网内访问,怎样从外网也能访问到本地的微服务呢?本文将介绍具体的实现步骤. 准备工作 部署并启动微服务程序 默认部署的微服务端口是8088. 实现步骤 下载并解压hole ...

随机推荐

  1. JavaScript密码复杂度

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  2. 用PHP将Unicode 转化为UTF-8

    function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|&#x.{4};|& ...

  3. NC WebService接口开发流程

    一.定义类: 接口类 包定义在public下,接口类名为I开头,Service结尾 实现类 包定义在private下,实现类名以ServiceImpl结尾 VO类 若有VO类,也放在public下 U ...

  4. iOS开发:深入理解GCD 第二篇(dispatch_group、dispatch_barrier、基于线程安全的多读单写)

    Dispatch Group在追加到Dispatch Queue中的多个任务处理完毕之后想执行结束处理,这种需求会经常出现.如果只是使用一个Serial Dispatch Queue(串行队列)时,只 ...

  5. hdoj 2680 choose the best route

    Problem Description One day , Kiki wants to visit one of her friends. As she is liable to carsicknes ...

  6. Response、Request、QueryString,repeater添加,修改,删除数据

    内置对象: Response对象:响应请求,Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response.Write("<script>a ...

  7. 2007Hanoi双塔问题

    题目描述 Description 给定A.B.C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形).现 ...

  8. struts2 学习记录 过滤器 国际化

    struts2接触不是一天两天了,但是一直没有用它做什么项目,但老师确一直说它有很大的学习价值,所以还是把我学习到的东西给记录一下,记录的东西没有规律,只是给自己留个备份, struts2中最关键的是 ...

  9. asp.net 文件批量移动重命名

    最近闲时写了个批量移动重命名文件的工具 点击下载工具

  10. Spring的定时任务配置2(转)

    spring的定时任务配置分为三个步骤: 1.定义任务 2.任务执行策略配置 3.启动任务 1.定义任务 <!--要定时执行的方法--> <bean id="testTas ...