原文转自:http://blog.chinaunix.net/uid-345389-id-2131648.html
经常遇到端口转发的情况,用iptable是经常的,不过每次都需要查手册。看到菜包子的文章,感觉还不错,测试感觉很好用。
端口转发映射的程序叫rinetd,并没有发现版本之说,只有一个下载地址。直接manke编译安装即可。
[root@fan3838 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 [root@ fan3838 tmp]# cd rinetd [root@ 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 [root@ 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端口,配置文件如下
[root@fan3838 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即可。