端口转发: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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

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

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