通过rinetd实现端口转发来访问内网的服务
通过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实现端口转发来访问内网的服务的更多相关文章
- Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)
# 安装rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz& ...
- Linux 通过rinetd端口转发来访问内网服务
可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.rinetd,Wi ...
- 阿里云ECS linux通过rinetd 端口转发来访问内网服务
一.场景说明: 可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.r ...
- Linux 通过端口转发来访问内网服务
Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具,系统内部服务受系统网服限制外部无法访问,需要通过rinetd映射将内网服务转发出来. 1. 下载解压 ...
- p2p-tunnel 打洞内网穿透系列(三)TCP转发访问内网web服务
系列文章 p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞 p2p-tunnel 打洞内网穿透系列(二)TCP转发访问远程共享文件夹 p2p-tunnel 打洞内网穿透系列(三)TCP转发 ...
- iptables端口转发规则(内网端口转外网端口)
需求:外网124.202.173.118需要访问 10.45.225.70的内网54032端口,10.45.225.70服务器有公网地址139.129.109.81将内网地址端口转发到外网地址端口,并 ...
- 利用SSH端口转发实现远程访问内网主机远程桌面(一) 建立SSH转发
近期家里更换了移动的宽带,拨号后拿到的是10开头的内网IP,就不能像之前一样通过路由器的端口映射实现从外网访问主机的远程桌面.这种情况下可以利用一台具有公网IP的服务器充当中转,利用SSH的隧道转发功 ...
- frp 内网穿透访问内网Web服务
ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...
- 怎样从外网访问内网微服务Microservices?
本地部署了一个微服务,只能在局域网内访问,怎样从外网也能访问到本地的微服务呢?本文将介绍具体的实现步骤. 准备工作 部署并启动微服务程序 默认部署的微服务端口是8088. 实现步骤 下载并解压hole ...
随机推荐
- xsltproc docbook 转 html
/etc/xml/catalog <?xml version="1.0" encoding="UTF-8"?> <catalog xmlns= ...
- python命令行参数
〇.python中对应的argc, argv需要模块:sys参数个数:len(sys.argv)脚本名: sys.argv[0]参数1: sys.argv[1]参数2: sys. ...
- iOS 1 到 iOS 10 ,我都快老了
iOS 1:iPhone诞生 虽然很难想像,但初代iPhone在问世时在功能方面其实远远落后于那时的竞争对手,比如Windows Mobile.Palm OS.塞班.甚至是黑莓.它不支持3G.多任务. ...
- PoEdu - C++阶段班【Po学校】- 第1课
1 C++开讲 C ++ 伟大的编程语言:能提高程序运行效率,节约更多的资源,"正确的使用C++,能够抑制全球变暖问题". 2 C++能力雷达图 通过 1效率 2灵活度 3 抽象 ...
- oracle 安装注意
1. 本地安装oracle数据库后,并不代表可以用plsql 连接上了.. 如果安装的是64位的oracle,plsql 是不能直接连接的.. 2. 如果是64位的..需要下载一个oracle 客户端 ...
- mysql中的高级查询
以前学习的查询语法: select 字段名 from 表名 where 条件 其实,查询的语法变化很多: 1. select 可以查询表达式, 表达式就是 运算符+操作数. 比如 1 + 1 2 * ...
- HDU 1165 Eddy's research II (找规律)
题意:给定一个表达式,然后让你求表达式的值. 析:多写几个就会发现规律. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400000 ...
- 改变tableView索引颜色
_tableView.sectionIndexBackgroundColor = [UIColor clearColor]; _tableView.sectionIndexColor ...
- php_mysqli面向对象链接数据库(一)
<?php$servername="localhost";$username="root";$password="root";$dbn ...
- android:shape
android:shape=["rectangle" | "oval" | "line" | "ring"] shape ...