zoukankan      html  css  js  c++  java
  • linux下用rinetd做端口转发

    原文转自: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即可。

  • 相关阅读:
    合并排序二
    合并排序
    理解Windows消息循环机制
    直接插入排序
    关于typedef的用法总结
    迭代器的抽象
    C++基础--malloc和new的区别
    C++基础--sizeof和strlen的区别
    C++ VS编译问题--LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    SSL--Windows下生成OpenSSL自签证书
  • 原文地址:https://www.cnblogs.com/redsmith/p/5342855.html
Copyright © 2011-2022 走看看