linux下用rinetd做端口转发

Posted redsmith

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下用rinetd做端口转发相关的知识,希望对你有一定的参考价值。

原文转自:http://blog.chinaunix.net/uid-345389-id-2131648.html

经常遇到端口转发的情况,用iptable是经常的,不过每次都需要查手册。看到菜包子的文章,感觉还不错,测试感觉很好用。

端口转发映射的程序叫rinetd,并没有发现版本之说,只有一个下载地址。直接manke编译安装即可。

[[email protected] tmp]# tar xvfz rinetd.tar.gz 
rinetd/
rinetd/getopt.h
rinetd/rinetd.c
rinetd/CHANGES
rinetd/rinetd.8
rinetd/Makefile
rinetd/README
rinetd/index.html
rinetd/rinetd.ncb
rinetd/match.c
rinetd/match.h
rinetd/rinetd.opt
rinetd/rinetd.dsw
rinetd/rinetd.dsp
rinetd/getopt.c
rinetd/rinetd.plg
rinetd/.CHANGES.swp
rinetd/rinetd.exe
[[email protected]
fan3838 tmp]# cd rinetd
[[email protected]
fan3838 rinetd]# make
cc -DLINUX -g -c -o rinetd.o rinetd.c
rinetd.c:176: 警告:与内建函数 ‘log’ 类型冲突
rinetd.c: In function ‘readConfiguration’:
rinetd.c:544: 警告:由于数据类型范围限制,比较结果永远为假
rinetd.c:567: 警告:由于数据类型范围限制,比较结果永远为假
rinetd.c: In function ‘log’:
rinetd.c:1395: 警告:‘log’ 的地址总是等价为 ‘true’
cc -DLINUX -g -c -o match.o match.c
gcc rinetd.o match.o -o rinetd
[[email protected]
fan3838 rinetd]# make install
install -m 700 rinetd /usr/sbin
install -m 644 rinetd.8 /usr/man/man8

安装完毕只有一个二进制文件一个帮助文件,通过man帮助可以知道其需要一个/etc/rinetd.conf配置文件,这个文件的内容和格式要求如下:

地址 端口 地址 端口

测试了一个简单的例子,172.16.86.113的113端口映射到172.16.81.88的80端口,配置文件如下

[[email protected] etc]# cat /etc/rinetd.conf 
172.16.86.113 113 172.16.81.88 80
allow *.*.*.*
logfile /var/log/rinetd.log

这样的话只要在任意浏览器访问:http://172.16.86.113:113就和访问http://172.16.81.88同样的效果。

启动很简单,执行rinetd即可。

以上是关于linux下用rinetd做端口转发的主要内容,如果未能解决你的问题,请参考以下文章

Linux下使用Rinetd来实现端口转发

linux下简单好用的端口映射转发工具rinetd

linux下简单好用的端口映射转发工具rinetd

Linux:rinetd的安装部署以及端口转发

linux端口转发

Linux中的快速端口转发工具—rinetd