编者按:

近期由于公司开启定制项目规划,对于每个项目都会开启一个测试服务器,实施方会用到测试服务器的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. [译] Go数据结构-接口

    原文 Go Data Structures: Interfaces 作者 Russ Cox 声明:本文目的仅仅作为个人mark,所以在翻译的过程中参杂了自己的思想甚至改变了部分内容.但由于译者水平有限 ...

  2. Callable与Runable接口 submit与execute区别

    execute(Runnable x) 没有返回值.可以执行任务,但无法判断任务是否成功完成. submit(Runnable x) 返回一个future.可以用这个future来判断任务是否成功完成 ...

  3. EF Core中Fluent Api如何删除指定数据表中的行

    这两天一直在研究在code first下如何删除数据表中的指定行,于是开始搜狗,后来百度,压根就找不到资料,后来一想可能我的搜索关键字有问题,而且ef core命令与ef的命令差不多,于是从这两个方面 ...

  4. 理解JSON对象:JSON.parse、 JSON.stringify

    何时是JSON,何时不是JSON? JSON就是一个有特殊规则的字符串,按照这个规则我们就可以把这个字符串解析成JS对象. JSON是设计成描述数据交换格式的,他也有自己的语法,这个语法是JavaSc ...

  5. sql关于对一个字段同时满足多条件判断来筛选查询

    表所有数据 查询userName为abc或xyz的 以下为本菜鸟项目中遇到的问题: 背景: /**  * wangjie 180629  *   * 学生需要查询四种可能的消息  * 1.班级管理员发 ...

  6. 潭州课堂25班:Ph201805201 爬虫高级 第十一课 Scrapy-redis分布 项目实战 (课堂笔

  7. npm install报错Unhandled rejection RangeError: Maximum call stack size exceededill install

    故障 在使用npm install下载依赖的时候报错Unhandled rejection RangeError: Maximum call stack size exceededill instal ...

  8. Java中类加载过程和对象创建过程

    类加载过程: 1, JVM会先去方法区中找有没有相应类的.class存在.如果有,就直接使用:如果没有,则把相关类的.class加载到方法区 2, 在.class加载到方法区时,会分为两部分加载:先加 ...

  9. vmware提示请卸载干净再重新安装的解决办法

    结论:删掉   HKEY_LOCAL_MACHINE\\SOFTWARE\Wow6432Node\VMware, Inc.    就可以了. ----------------------------- ...

  10. jQuery 学习(2)——jQuery选择器

    1.jQuery为元素添加CSS样式如下: <div id="tt1">单个样式:css()内"属性名称","value"< ...