端口转发:Rinetd简化虚拟化网络配置(另附:Windows系统端口转发)

端口转发:Rinetd简化虚拟化网络配置(另附:Windows系统端口转发)目录开场白 Rinetd 简介快速使用转发规则访问控制日志管理开场白虚拟化平台 libvirt qemu kvm vmware Hyper V VirtualBox 等 将虚机接入网络的方式基本上就三种 Bridge NAT Host Only 而默认的 VirtualNetwo 是 NAT 模式 就目前的云平台而言 默认也是 privatenetwo 然后通过绑定 floatingIP 对外提供服务 不管是 LinuxBridge openvswitch 方式实现桥接 其

目录

开场白

Rinetd简介

快速使用

转发规则

访问控制

注册systemd服务

日志管理

Windows上进行端口转发


开场白

虚拟化平台(libvirt+qemu-kvm、vmware、Hyper-V、VirtualBox等)将虚机接入网络的方式基本上就三种:Bridge、NAT、Host-Only。而默认的Virtual Network是NAT模式。

就目前的云平台而言,默认也是private network,然后通过绑定floating IP对外提供服务。

不管是Linux Bridge、openvswitch方式实现桥接,其配置都比默认网络增加了不少。而我们可以通过Rinetd工具实现网络转发,在默认Virtual Network的情况下,依然可以对外提服务访问。比如:将22、3389、8080等端口转发出去。

注意:经在生产环境上使用,高并发场景下rinetd性能差(rinetd 没有使用epoll,而是用了select),低并发场景或者测试环境下可以使用。优点:简单易用。

Rinetd简介

Rinetd 是一个 TCP 连接重定向工具,将TCP连接从一个IP:Port重定向到另一个(UDP应该不行[未验证])。rinetd是一个单进程服务,它可以处理到地址/端口对的任意数量的连接。这些address/port pairs通过/etc/rinetd.conf文件指定。由于rinetd使用非阻塞I/O作为单个进程运行,因此它能够重定向大量连接,而不会对计算机造成严重影响。

NOTE:Rinetd 不能用于重定向 FTP 服务,因为 FTP 服务使用了多个 socket 进行通讯。

快速使用

转发规则

绑定地址:将绑定端口绑定到本机的哪个IP地址上,0.0.0.0:绑定到所有接口。
绑定端口:任意,保证本地端口不冲突即可。
转发地址:真实服务所在IP地址,比如:NAT方式创建虚机自动分配的地址:192.168.122.253
转发端口:真实服务的端口,比如:虚机上SSH服务暴露的端口22/tcp。


访问控制

pattern 的内容:

规则类型:
全局规则:在转发规则之前配置的权限规则会作为一个全局生效的规则生效;

特定规则:在转发规则之后配置的权限规则仅适用于本条转发规则。

匹配优先级:
校验的过程是先校验是否能够通过全局规则,再校验特定的规则。

注册systemd服务

# cat /usr/lib/systemd/system/rinetd.service [Unit] Description=Rinet server daemon After=network.target [Service] Type=forking ExecStart=/usr/sbin/rinetd ExecReload=/bin/kill -HUP $MAINPID ExecStop=/usr/bin/pkill rinetd [Install] WantedBy=multi-user.target

日志管理

日志格式如下:

01/Dec/2020:17:40:34    192.168.115.223  0.0.0.0 3389    192.168.122.253 3389    1299    1839    done-remote-closed
01/Dec/2020:17:42:42    192.168.115.223  0.0.0.0 3389    192.168.122.253 3389    41402    done-remote-closed

Windows上进行端口转发

如上所述,测试环境下,使用rinetd既方便又轻量,可谓佳品。但是Windows上怎么做端口转发呢?可以使用Windows自带的netsh工具进行端口转发,也很易用!

NOTE:1、必须使用管理员权限,否则执行命令将无效;2、只对TCP端口进行转发,对于UDP端口将不起作用;

管理员权限启动powershell,执行netsh进入交互视图:

参考链接:rinetd 在生产环境要谨慎使用_woshiaotian的专栏-CSDN博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231151.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月25日 上午11:01
下一篇 2026年1月25日 上午11:22


相关推荐

  • 抓包工具charles的https抓包配置

    抓包工具charles的https抓包配置PC端安装ssl证书单击安装证书 单击下一步,修改证书存储路径,如下图单击下一步直到完成  手机客户端安装证书手机浏览器访问地址证书下载地址:http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/https://www.charlesproxy.com/docum…

    2022年5月30日
    39
  • 微信开放平台开发第三方授权登陆(一):开发前期准备

    微信开放平台开发第三方授权登陆(一):开发前期准备据微信开放平台“开发资源”中网站应用微信登陆功能开发指南描述:进行授权登陆接入前,需要先注册一个开发者账号,并拥有一个已经审核通过的网站应用,并获取AppID和APPSecret,然后申请微信登陆并通过审核后,可以接入流程进行开发。据开发者资质认证处介绍:开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力。所以在微信第三方授权登陆获取用户信息…

    2022年5月11日
    59
  • 最全面的OpenClaw中文教程

    最全面的OpenClaw中文教程

    2026年3月12日
    1
  • SQL中row_number() over(partition by)详解「建议收藏」

    SQL中row_number() over(partition by)详解「建议收藏」row_number语法ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号partitionby关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反…

    2022年6月14日
    32
  • Stata 15详细安装步骤

    Stata 15详细安装步骤安装步骤 安装前先关闭杀毒软件和 360 卫士 注意安装路径不能有中文 安装包路径也不要有中文 试装系统 win1064bit1 解压安装包 2 Stata15 分为 MP SE 和 IC 三个版本 不同的版本功能有些许差异 安装包中只有 MP 试用序列号和 SE 永久序列号 这两个版本安装方法有些许差异 本教程以 SE 安装为例 MP 的安装需要更改系统时间 MP 版本如最后安装完成出现 badserialnu

    2026年3月26日
    2
  • mysql mariadb 安装_mysql兼mariadb安装过程详解

    mysql mariadb 安装_mysql兼mariadb安装过程详解mysql兼mariadb下载自己找自己对应的版本:https://dev.mysql.com/downloads/mysql/因为5.5以后都用cmake编译了,所以系统里没有的话,就下个源码的装一下,怎么测试系统里有没有装了,在命令行中输入#cma在按Tab看有没有cmake有的话系统就装过了,就不用在装了。没有话就去下个吧,下载地址:https://cmake.org/downloa…

    2022年6月5日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号