通过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 就可以实现安装。

时间: 2024-08-25 00:38:23

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

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

# 安装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 说明:IP的端口是双字节,也就是256*256-1, 256*256对计算机来说就是0,因

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

可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.rinetd,Windows 下的 portmap 等,本文简要介绍 rinetd,和 ssh tunnel 的配置方法. 说明:本文相关配置和说明仅用于示例和操作指引,阿里云不对相关操作结果及由此产生的问题负责. rinetd 配置方法 如果是 Ubuntu 系统,可以直接使用如下指令安装: apt-get ins

iptables 端口转发 实现访问内网的httpd服务

上篇文章写到通过dhcp实现客户机上网功能,由于公网地址只有一个,我想把内部服务发布到外网就需要通过 "端口转发" 来实现 1.公网服务器: eth0:公网IP eth1:内网IP - 192.168.1.1 2.HTTPD服务器: eth0:内网IP -192.168.1.100 3.实现方法: 通过访问公网IP的8080端口来实现到内网MYSQL服务器的3306端口的访问 4.在公网服务器上: iptables -t nat -A PREROUTING -p tcp --dport

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

近期家里更换了移动的宽带,拨号后拿到的是10开头的内网IP,就不能像之前一样通过路由器的端口映射实现从外网访问主机的远程桌面.这种情况下可以利用一台具有公网IP的服务器充当中转,利用SSH的隧道转发功能将远程桌面请求转发至内网主机. SSH隧道 SSH 会自动加密和解密所有SSH 客户端与服务端之间的网络数据,除此之外SSH 还能够将其他TCP端口的网络数据通过SSH链接来转发,并且自动提供了相应的加密及解密服务,这一功能也称为“SSH隧道”.SSH隧道分为本地转发.远程转发和动态转发. 本地转

虚拟机NAT模式下外网访问内网FTP服务

宿主主机地址  192.168.1.106 VMnet8网络虚拟网卡地址 192.168.137.1 虚拟机地址 192.168.137.99 1,外网设备需要访问虚拟机FTP服务 首先在虚拟机上安装FTP服务(直接RPM安装vsftpd RPM安装包即可),并启用FTP服务 如果需要外网能访问这台虚拟机上的FTP服务,那么需要开启虚拟机的端口映射功能 Workstation虚拟机上操作步骤如下 编辑--虚拟网络编辑器-- 首先找个端口映射到咱们的虚拟机FTP服务器的21端口上 但是这个时候问题

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

本地部署了一个微服务,只能在局域网内访问,怎样从外网也能访问到本地的微服务呢?本文将介绍具体的实现步骤. 准备工作 部署并启动微服务程序 默认部署的微服务端口是8088. 实现步骤 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包. 获取holer access key信息 在holer官网上申请专属的holer access key或者使用开源社区上公开的access key信息. 例如申

VM NAT模式端口映射,让外网访问内网的虚拟机

情景: 物理机外网为IP为A 虚拟机的NAT 内网ip为B 现在想通过ip A访问内网ip为B的虚拟机. 原理: web服务器使用80端口,所以只要做80端口的映射就好了. SSH的默认端口是22,也要做映射才能SSH登陆. 两者均是基于TCP协议. 先查看虚拟机的内网ipB: ifconfig 然后编辑VM的虚拟网络: 编辑->虚拟网络编辑器 1.点击更改设置 2.选中NAT模式后,点击NAT设置 添加端口转发: 主机端口:物理机的端口 做80和22端口的映射 这里虚拟网络就设置好了. 然后在

mysql-proxy做客户端连接转发【外网访问内网mysql】

功能 用于外网客户端连接内网的MySQL,将此工具安装在中转服务器上. 软件版本 mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz 简单的配置过程 解压后有5个目录 bin include lib libexec share 进bin目录,查看mysql_proxy的使用帮助 [[email protected] bin]# ./mysql-proxy --help-all Usage: mysql-proxy [OPTION...] - MySQL

通过rinetd实现port转发来訪问内网的服务

一.   问题描写叙述 通过外网来訪问内网的服务 二.   环境要求 须要有一台能够外网訪问的机器做port映射.通过数据包转发来实现外部訪问阿里云的内网服务 三.   操作方法 做port映射的方案有非常多.Linux下的ssh tunnel和windows下的portmap等等,这里分享一个更稳定和简单的小工具rinetd 四.   下载安装 $ wget http://www.boutell.com/rinetd/http/rinetd.tar.gz $ tar -xvf rinetd.t