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即可。

  • 相关阅读:
    BZOJ 3744 Gty的妹子序列
    BZOJ 3872 Ant colony
    BZOJ 1087 互不侵犯
    BZOJ 1070 修车
    BZOJ 2654 tree
    BZOJ 3243 向量内积
    1003 NOIP 模拟赛Day2 城市建设
    CF865D Buy Low Sell High
    CF444A DZY Loves Physics
    Luogu 4310 绝世好题
  • 原文地址:https://www.cnblogs.com/redsmith/p/5342855.html
Copyright © 2011-2022 走看看