Linux 下使用rinetd工具实现端口转发

本文介绍了如何在Linux系统中使用rinetd工具进行端口转发,包括下载、安装、配置及服务的启动与停止,并提示了 rinetd 在高并发场景下的性能限制。同时,也展示了在Windows环境中,通过netsh命令行工具进行端口转发的操作方法,强调需以管理员权限执行,并指出仅支持TCP端口转发。
摘要由CSDN通过智能技术生成

Linux 下使用rinetd工具实现端口转发

下载rinetd部署包
wget http://www.rinetd.com/download/rinetd.tar.gz
解压rinetd部署包
tar xvf rinetd.tar.gz
编译安装
cd rinetd
make && make install
[root@localhost rinetd]# make && make install
cc -DLINUX -g   -c -o rinetd.o rinetd.c
rinetd.c:177:6: warning: conflicting types for built-in function ‘log’ [enabled by default]
 void log(int i, int coSe, int result);
      ^
cc -DLINUX -g   -c -o match.o match.c
gcc  rinetd.o match.o -o rinetd -lpthread
install -m 700 rinetd /usr/sbin
echo > /etc/rinetd.conf
配置详情

解释:将192.168.1.120的88端口重定向到192.168.1.21的80端口

echo "192.168.1.120 88 192.168.1.21 80" > /etc/rinetd.conf
启动rinetd服务

不指定-c 选项配置文件的情况下,Rinetd 使用默认的配置文件 /etc/rinetd.conf

rinetd 或 rinetd -c /etc/rinetd.conf 
停止rinetd服务
pkill rinetd
开启日志记录
vim /etc/rinetd.conf

在 /etc/rinetd.conf 配置文件中追加logfile 配置

192.168.1.120 88 192.168.1.21 80

logfile /var/log/rinetd.log

备注:rinetd 在生产环境要谨慎使用

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

优点:简单易用。

Windows 下使用自带netsh实现端口转发

管理员权限启动powershell,执行如下命令:

netsh interface portproxy add v4tov4 listenaddress=192.168.1.92 listenport=88 connectaddress=192.168.1.21 connectport=80
listenaddress=192.168.1.92  #监听的IP地址
listenport=88               #监听的端口
nnectaddress=192.168.1.21   #重定向到的IP
onnectport=80               #重定向到的端口

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值