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

简介: 一、   问题描述   通过外网来访问内网的服务二、   环境要求   需要有一台能够外网访问的机器做端口映射,通过数据包转发来实现外部访问阿里云的内网服务三、   操作方法   做端口映射的方案有很多,Linux下的ssh tunnel和windows...

一、   问题描述

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

二、   环境要求

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

三、   操作方法

   做端口映射的方案有很多,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版本,配置方法完全相同,在此不再赘述。

目录
相关文章
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
312 0
|
Java 应用服务中间件
多项目分接口:在同一Tomcat下使用不同的端口号访问不同的项目。
总而言之,要在同一Tomcat服务器下使用不同端口访问不同项目,关键是通过对server.xml文件的配置创建多个 `<Service>`实例和相应的虚拟主机。这种方法既实现了项目隔离,也有助于优化资源利用率。通过遵循本文的详细说明,很容易地就能满足需求实现多项目分接口。
510 38
|
安全 网络协议 网络安全
【Azure APIM】APIM服务配置网络之后出现3443端口不通,Management Endpoint不健康状态
如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。
468 30
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
1106 7
|
传感器 人工智能 物联网
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发,以及面临的挑战和未来趋势,旨在帮助读者深入了解并掌握这些关键技术。
510 6
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
1029 5
|
JSON 安全 网络协议
【Azure Policy】添加策略用于审计Azure 网络安全组(NSG)规则 -- 只能特定的IP地址允许3389/22端口访问
为了确保Azure虚拟机资源的安全管理,只有指定IP地址才能通过RDP/SSH远程访问。解决方案包括使用Azure Policy服务扫描所有网络安全组(NSG),检查入站规则中的3389和22端口,并验证源地址是否在允许的IP列表中。不符合条件的NSG规则将被标记为非合规。通过编写特定的Policy Rule并定义允许的IP地址参数,实现集中管控和合规性检查。
299 0
|
11月前
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
网络协议 安全 应用服务中间件
云服务器怎么开启被关闭的端口?手把手教你开启端口
在使用云服务器时,若发现某些服务无法访问,可能是端口被关闭。本文介绍了端口关闭的原因、检查方法及开启步骤。原因包括初始设置限制、防火墙规则和外部网络策略;可通过netstat或ss命令检查端口状态,用ufw、iptables或firewalld调整防火墙规则。最后提供了解决常见问题的建议,确保端口正常开放并可供外网访问。
2460 9