编者按:

近期由于公司开启定制项目规划,对于每个项目都会开启一个测试服务器,实施方会用到测试服务器的ssh端口、mysql端口、web端口,为了节省资源(公网IP、服务器资源复用),基于rinted工具搭建一个端口转发的服务器。下面的流程图将更好的表达本文即将实现的功能!

1、源码安装rinted:

下载和解压源码包:

cd /usr/local/src && wget https://boutell.com/rinetd/http/rinetd.tar.gz && tar xf rinetd.tar.gz && cd rinetd
 

修改编译配置:

sed -i 's/65536/65535/g' rinetd.c# 修改端口范围,否则会报错
 

编译安装:

mkdir -p /usr/man/man8 && make && make install
 

编辑配置文件:/etc/rinetd.conf

#自定义mysql端口:3001/3100
#自定义ssh端口:2001/2500
#自定义web端口:801/899
#端口转发:[Source Address] [Source Port] [Destination Address] [Destination Port]
0.0.0.0 8080 10.124.162.114 8080
0.0.0.0 443 10.124.162.114 8080
0.0.0.0 3001 10.124.162.114 33080
#端口映射: bindaddress bindport connectaddress connectport logfile /var/log/rinetd.log
 

启动与关闭:

#启动
/usr/sbin/rinetd -c /etc/rinetd.conf
#关闭
pkill rinetd
 

启动脚本:/home/shell/rinetd  使用方法:sh /home/shell/rinetd start|stop|restart|reload

#!/bin/bash
#
# Startup script for Rinetd - this script starts and stops the rinetd daemon
#
# chkconfig: - 85 15
# description: Rinetd is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
# processname: rinetd
# config: /etc/rinetd.conf
# pidfile: /var/lock/subsys/rinetd
# Source function library.
. /etc/rc.d/init.d/functions # Source networking configuration.
. /etc/sysconfig/network # Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0 rinetd="/usr/sbin/rinetd"
prog=$(basename $rinetd) RINETD_CONF_FILE="/etc/rinetd.conf" #[ -f /etc/sysconfig/rinetd ] && . /etc/sysconfig/rinetd lockfile=/var/lock/subsys/rinetd start() {
[ -x $rinetd ] || exit 5
[ -f $RINETD_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $rinetd -c $RINETD_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
} stop() {
echo -n $"Stopping $prog: "
#killproc $rinetd -HUP
daemon pkill $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
} restart() {
stop
sleep 1
start
} reload() {
echo -n $"Reloading $prog: "
killproc $rinetd -HUP
RETVAL=$?
echo
} rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
} case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
status)
rh_status
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload}"
exit 2
esac

 

 

Linux端口转发-rinted工具部署、配置、使用的更多相关文章

  1. [转]otunnel:一个和lcx差不多的端口转发的工具

    这是一个采用Golang编写的和lcx差不多的端口转发的工具,用来突破内网环境 项目地址 ooclab/otunnel 下载地址(内涵各大平台) http://dl.ooclab.com/otunne ...

  2. Linux 端口转发一则

    目前已知的,公司的网络只有 80.8008(后来又给关了 - -).443 端口的 TCP 可以出去,其它已知的所有端口都被封锁.所以,我的***工具就歇菜了. 最后尝试,通过配置端口转发,将ss主机 ...

  3. 轻松搞定Linux端口转发

    一 从一台机到另一台机端口转发 启用网卡转发功能 #echo 1 > /proc/sys/net/ipv4/ip_forward 举例:从192.168.0.132:21521(新端口)访问19 ...

  4. linux 端口转发

    一 从一台机到另一台机端口转发 启用网卡转发功能#echo 1 > /proc/sys/net/ipv4/ip_forward 举例:从192.168.0.132:21521(新端口)访问192 ...

  5. Linux端口转发工具rinetd

    介绍:Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具.Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址 ...

  6. linux端口转发

    场景 假如你在用 resin 调试一个 Web 程序,需要频繁地重启 resin.这个 Web 程序需要开在 80 端口上,而 Linux 限制 1024 以下的端口必须有 root 权限才能开启.但 ...

  7. WlMAP:突破内网端口转发映射工具

    使用说明 Wlmap包括服务端程序和客户端程序两部分 服务端程序Wlmaps一般架设到其它用户可以访问到的地方例如internet,它主要用来记录客户端信息以及端口映射信息,并且转发用户和客户端之间数 ...

  8. otunnel : 一个和lcx差不多的端口转发的工具

    项目地址 ooclab/otunnel 下载地址(内涵各大平台) http://dl.ooclab.com/otunnel/ otunnel 用法 前提: 1. 假设 server 的地址为 exam ...

  9. linux下一个rsync工具和配置

    本文介绍了整个基本:http://www.2cto.com/os/201308/238733.html 一些简单的备忘录: 1. ubuntu下通过apt-get就可以安装: 2. 配置文件/etc/ ...

随机推荐

  1. P3150 pb的游戏(1)

    P3150 pb的游戏(1)选偶数,这一轮一定会活,选奇数,自己这一轮可能会死,并且(如果自己这一轮没死)下一轮对手一定可以活,因为选了奇数,就会被分解成奇数和偶数. #include<iost ...

  2. SpringBoot使用AOP

    本文介绍SpringBoot中使用Spring AOP. 简介 AOP简介 AOP可能对于广大开发者耳熟能详,它是Aspect Oriented Programming的缩写,翻译成中文就是:面向切面 ...

  3. BZOJ.3170.[TJOI2013]松鼠聚会(切比雪夫距离转曼哈顿距离)

    题目链接 将原坐标系每个点的坐标\((x,y)\)变为\((x+y,x-y)\),则原坐标系中的曼哈顿距离等于新坐标系中的切比雪夫距离. 反过来,将原坐标系每个点的坐标\((x,y)\)变为\((\f ...

  4. 通过Obfuscated ssh避免时不时ssh连接不畅的问题【转】

    众所周知的原因,为了能流畅的使用google.使用某些“不存在”的网站,我们一般都是需要通过某些不方便光明正大说明使用用途的技术.比如通过ssh tunnel,这是最简单的,也是用得最多的. 不过,这 ...

  5. 潭州课堂25班:Ph201805201 django 项目 第二十一课 文章主页 新闻列表页面功能 (课堂笔记)

    新闻列表页功能 1.分析 业务处理流程: 判断前端传的标签分类id是否为空,是否为整数.是否超过范围 判断前端传的当前文章页数是否为空,是否为整数.是否超过范围 请求方法:GET url定义:/new ...

  6. Linux下载软件

    .yum yum install tree yum install telnet 直接安装与更新 .查询软件是否装上 rpm -qa tree telnet .查询软件包的内容 rpm -ql tre ...

  7. OpenStack--Havana

    OpenStack provides an Infrastructure as a Service (IaaS) solution through a set ofinterrelated servi ...

  8. click()和onclick()的区别

    click()和onclick()的区别: 1.onclick是绑定事件,告诉浏览器在鼠标点击时候要做什么 click本身是方法作用是触发onclick事件,只要执行了元素的click()方法,就会触 ...

  9. sql基本查询语句

    查询语句的五中字句:where(条件查询),having(筛选),group by(分组),order by(排序),Limit(限制结果数) 一 单表查询 1.查询指定列:select 列名 fro ...

  10. Intellij IDEA使用Docker插件部署应用

    1.安装Docker插件 配置Docker Api,在API URL中填入api的地址,记得Docker后台程序启动是要配置 -H tcp://0.0.0.0:2375 开放远程地址端口,注意这里的i ...