LINUX 下 rinetd服务实现端口映射转发

 
更多

1、下载wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
    版本号rinetd 0.62

2、安装
    tar zxvf rinetd.tar.gz
    cd rinetd

3、运行make  #可能会出现错误,需如下修改:
    vi rinetd.c
    输入/bindPort >= 65536 查询
    输入/connectPort >= 65536查询

    将查询到的65536修改为65535  不然在make的时候会提示超出系统最大定义端口

4、手动建目录/usr/man/man8

5、make install
    成功后会提示文件路径install -m 700 rinetd /usr/sbin,即程序放在此位置

6、建立配置文件
    /etc/rinetd.conf
    内容格式:源IP 源端口 要跳转的IP 要跳转的端口

7、启动程序:rinetd 或者 rinetd -c /etc/rinetd.conf

8、查看是否启动成功:netstat -tanulp|grep rinetd

9、加入开机启动:
    vi /etc/rc.d/rc.local
    加入/usr/sbin/rinetd
或者自己写个 系统服务
    vi /etc/init.d/rinetd

拷贝下面的内容进去
************

#!/bin/bash
# rinetd Startup script

# chkconfig: 2345 55 25
# description: rinetd

rinetd=/usr/sbin/rinetd
rinetd_config=/etc/rinetd.conf
RETVAL=0
prog=”rinetd”
# Source function library.
. /etc/rc.d/init.d/functions

# Start rinetd daemons functions.
start() {
  pid=`pidof $prog`
  if [ -z $pid ] ; then  
     echo -n $”Starting $prog: “
     daemon $rinetd -c ${rinetd_config}
     RETVAL=$?
     echo
     [ $RETVAL = 0 ] && touch /var/run/rinetd.lock
     return $RETVAL
  else
     echo “$prog already running….”
     echo “pid is $pid”
     exit 1
  fi
}
# Stop rinetd daemons functions.
stop() {
        echo -n $”Stopping $prog: “
        killproc $rinetd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ]

}
# reload rinetd service functions.
# See how we were called.
case “$1” in
start)
        start
        ;;
stop)
        stop
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $”Usage: $prog {start|stop|restart|status|help}”
        exit 1
esac
exit $RETVAL

************

保存
chmod +x /etc/init.d/rinetd
chkconfig –level 2345 rinetd on

10、其他注意:
    不支持FTP的跳转
    要停掉程序:pkill rinetd
    
    
    

打赏

本文固定链接: https://www.cxy163.net/archives/952 | 绝缘体

该日志由 绝缘体.. 于 2013年11月04日 发表在 首页 分类下,
原创文章转载请注明: LINUX 下 rinetd服务实现端口映射转发 | 绝缘体

报歉!评论已关闭.