端口转发工具Rinetd详细入门教程

这篇具有很好参考价值的文章主要介绍了端口转发工具Rinetd详细入门教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

条件

下载 

安装

方法A.shell安装

方法B.shell脚本安装

配置rinetd.conf文件

编辑器A:nano(新手友好)

编辑器B:vim

rinetd开关

A.配置启动

B.脚本启动

创建脚本

启动

测试

参考链接


条件

  • 有root权限
  • rinetd.conf中绑定的本机端口必须没有被其它程序占用
  • 运行rinetd的系统防火墙应该打开绑定的本机端口

例如:iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

 转发规则

端口转发工具Rinetd详细入门教程

这个转发只看目标端口协议,

如果目标端口协议是TCP的,工具软件中就使用TCP连接,

如果目标端口协议是SSL的,工具软件中就使用SSL连接即可。

rinetd的转发,是无条件转发,不查看协议等内容,也就不存在遭受CC攻击等风险,但DDOS攻击还是受影响的。

所以,尽量保护好你的中转IP。

rinetd 在生产环境要谨慎使用,CPU使用率高

下载 

rinetd的下载地址:http://www.rinetd.com/download/rinetd.tar.gz

官网异常时下载处

安装

方法A.shell安装

[root@nginx /]# mkdir rined_soft                        #创建rined_soft 
[root@nginx /]# cd rined_soft                           #进入到该文件夹
[root@nginx rined_soft]# tar -zxvf rinetd.tar.gz		#解压
[root@nginx rined_soft]# make							#编译
[root@nginx rined_soft]# make install 					#安装
[root@master rinetd]# rinetd --help					#rinetd是以命令的形式存在的
Usage: rinetd [OPTION]
  -c, --conf-file FILE   read configuration from FILE
  -h, --help             display this help
  -v, --version          display version number

Most options are controlled through the
configuration file. See the rinetd(8)
manpage for more information.

方法B.shell脚本安装

cat >> rinetd-installer.sh <<'EOF'           #cat追加内容,以EOF为结尾
#!/bin/bash                                  #直接使用当前所在的shell(也就是bash)来解释脚本
wget http://www.rinetd.com/download/rinetd.tar.gz #wget下载
tar -zxvf rinetd.tar.gz                           #解压报错则去掉z             
cd rinetd  
mkdir -p /usr/man/man8
make && make install      #若提示make cc Command not found  则yum安装gcc: yum install gcc
EOF
chmod +x rinetd-installer.sh                       #chmod改权限。代号x :执行权限 
./rinetd-installer.sh                             #安装

#wget 下载

从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。

若tar -zxvf rinetd.tar.gz解压报错

gzip: stdin: not in gzip format

tar: Child returned status 1

tar: Error is not recoverable: exiting now

可将tar -xzvf去掉z

原因:gz下载不完整,或者并非.gz格式

本质:并非真正用到了gzip,所以不用参数z

配置rinetd.conf文件

命令默认在/usr/sbin/rinet,配置文件默认在/etc/rinetd.conf

编辑器A:nano(新手友好)

对标的是Windows系统中的记事本软件

nano /etc/rinetd.conf

端口转发工具Rinetd详细入门教程

如果目标文件不存在,系统会自动在该位置新建一个该名字的文件。

文件编辑:
使用键盘的上 下 左 右对光标进行移动,移动到指定位置以后,直接输入即可。

# 设置拒绝访问的ip地址信息
# deny 192.168.1.*

#允许192.168.18.*网段访问
allow 192.168.18.*

#​443端口即网页浏览端口
0.0.0.0 443 mirrors.tuna.tsinghua.edu.cn 443  ​

# 设置日志文件路径
logfile /var/log/rinetd.log

保存文件:

Ctrl + o

CTRL+英文键o,如果文件发生了更改,会弹出提示,询问文件保存位置,

如果不需要进行修改文件保存位置,直接回车即可。

如果不想保存可以按Ctrl + C键取消保存。

端口转发工具Rinetd详细入门教程

退出编辑

Ctrl + x

如果文件保存完了,输入这一步,会直接回到命令行模式,

如果文件没有保存,按完这命令以后,会提示是否进行保存,

输入Y然后提示保存位置再按一遍回车即可保存,即可保存并退出。

输入N为不保存退出。取消的话,可以按Ctrl + C键退回编辑模式。

端口转发工具Rinetd详细入门教程

编辑器B:vim

vim filename,如果文件存在则打开,如果文件不存在则新建

vim插入模式想要退出,需要先按下键盘的“esc”键,然后输入“:”,输入wq(保存退出)或者q!(不保存退出)

vim /etc/rinetd.conf							#添加如下几行内容
0.0.0.0 8080 192.168.43.120 8080				#将所有发往本机任何网卡的8080端口的请求转发到192.168.43.120的8080端口上
0.0.0.0 2222 192.168.43.121 3389				#将所有发往本机任何网卡2222端口的请求转发到192.168.43.121的3389端口
192.168.43.1 80 192.168.43.122 80				#将所有发往本机IP为192.168.43.1的80端口请求转发到192.168.43.122的80端口
#说明:
0.0.0.0表示本机绑定所有可用地址
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址 源端口 目的地址 目的端口

Linux常用工具之vim_哆哆哆咪咪咪的博客-CSDN博客_linux vim

rinetd开关

A.配置启动

rinetd的启动与停止
[root@master rinetd]# rinetd -c /etc/rinetd.conf                 #启动rinetd
[root@master rinetd]# pkill rinetd                                #关闭rinetd

B.脚本启动

创建脚本

cat >> /etc/init.d/rinetd <<'EOF'
#!/bin/bash

EXEC=/usr/sbin/rinetd
CONF=/etc/rinetd.conf
PID_FILE=/var/run/rinetd.pid
NAME=Rinetd
DESC="Rinetd Server"

case "$1" in
    start)
        if [ -x "$PID_FILE" ]; then
            echo "$NAME is running ..."
            exit 0
        fi

        $EXEC -c $CONF

        echo -e "\e[1;32m$NAME is running\e[0m"
    ;;
    stop)
        if [ -f "$PID_FILE" ]; then
            kill `cat $PID_FILE`

            while [ -x "$PID_FILE" ]
            do
                echo "Waiting for $NAME to shutdown..."  
                sleep 1
            done

            rm -f $PID_FILE
        fi

        echo -e "\e[1;31m$NAME stopped.\e[0m"
    ;;
    restart)
        $0 stop
        $0 start
    ;;
    status)
        if [ -f $PID_FILE ]; then
            echo "$NAME is running ..."
        else
            echo "$NAME stopped."
        fi
    ;;
    *)
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 2
    ;;
esac

exit 0
EOF

启动

/etc/init.d/rinetd start

测试

[root@master rinetd]#echo '0.0.0.0 80 192.168.43.201 8161' >> /etc/rinetd.conf                #添加这条转发规则到rinetd.conf
[root@master rinetd]# pkill rinetd                                                            #关闭rinetd
[root@master rinetd]# rinetd -c /etc/rinetd.conf                                             #启动rinetd

网页测试成功,已经将80端口转发到mq的8161端口,如下:

端口转发工具Rinetd详细入门教程

参考链接

rinetd端口转发工具_MssGuo的博客-CSDN博客_rinetd

Linux下使用Rinetd搭建一个中转服务器来实现端口转发 - 玩技e族

Linux服务器安装rinetd转发 - 应援 - E.R.T. -

Rinetd——端口转发工具 - 简书文章来源地址https://www.toymoban.com/news/detail-442172.html

到了这里,关于端口转发工具Rinetd详细入门教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ActiveMQ详细入门教程系列

    两个系统或两个客户端之间进行消息传送,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。 消息中间件,总结起来作用有三个: 异步化提升性

    2024年02月15日
    浏览(48)
  • python入门教程(非常详细)

    Python是一种高级、解释性的脚本语言,其简单易学、灵活、强大等特点,使其成为了当代最流行的编程语言之一。如果您是想学习Python编程的新手,以下是详细的Python入门教程,以帮助您快速掌握Python编程基础。   1. 安装Python   首先,您需要从Python官网(https://www.python.org/d

    2024年02月16日
    浏览(48)
  • Nginx超详细入门教程

    目录 一、nginx配置文件介绍 二、nginx的核心功能  1)反向代理 1正向代理 2反向代理 3准备工作  2)负载均衡 3)负载均衡策略 4)动静分离 三、Nginx的高可用性 1)准备两台虚拟机并都安装nginx 2)需要在每一个nginx服务器上安装keepalived 3)修改keepalived的配置文件内容  4)将

    2024年02月08日
    浏览(40)
  • Annotorious入门教程:图片注释工具

    最近有工友问我前端怎么给图片做标注。使用 Fabric.js 或者 Konva.js 等库确实可以实现,但我又好奇有没有专门做图片标注的工具呢? 在网上搜了一下发现 Annotorious 可以实现这个功能。 Annotorious 提供了图片注释和标注功能,而且用法很简单。 本文分为 【快速入门】和【API讲

    2024年02月08日
    浏览(41)
  • go语言入门详细教程

    1.Hello World Go 是一门编译型语言,Go 语言的工具链将源代码及其依赖转换成计算机的机器指令(译注:静态编译)。Go 语言提供的工具都通过一个单独的命令 go 调用, go 命令有一系列子命令。最简单的一个子命令就是 run 。这个命令编译一个或多个以。 .go 结尾的源文件,链

    2024年02月04日
    浏览(81)
  • Playwright 入门详细教程

    playwright的python文档 -o, --output :保存生成脚本 –target :生成的脚本语言,可以设置javascript, test, python, python-async和csharp,默认为python -b, --browser :要使用的浏览器,可以选择cr, chromium, ff, firefox, wk和webkit,默认chromium。 –channel :chromium版本,比如chrome, chrome-beta, msedge-dev等 –

    2023年04月14日
    浏览(34)
  • TypeScript 入门详细教程

    安装TypeScript: 首先,你需要在本地安装TypeScript。你可以通过npm(Node Package Manager)来安装TypeScript。打开命令行工具,运行以下命令: 创建TypeScript文件: 创建一个新的文件,例如 hello.ts ,并在文件中编写TypeScript代码。例如,你可以写一个简单的打印语句: 编译TypeScript文件

    2024年02月11日
    浏览(49)
  • 小程序入门——详细教程

                                                       🎬 艳艳耶✌️:个人主页                                                   🔥 个人专栏 :《Spring与Mybatis集成整合》《Vue.js使用》                                                    ⛺️ 生活的理想,

    2024年02月06日
    浏览(43)
  • Git入门详细教程

    Git官网 Git是一个开源的 分布式版本控制系统 ,用于跟踪文件的变化和协作开发。它允许多个开发者在同一项目中共同工作,并能够有效地管理代码的版本和历史记录。Git可以帮助开发团队更好地协作,追踪代码变更,并且可以在需要时轻松地回滚到之前的版本。 版本控制是

    2024年01月19日
    浏览(50)
  • python爬虫入门教程(非常详细)

    爬虫指的是一种自动化程序,能够模拟人类在互联网上的浏览行为,自动从互联网上抓取、预处理并保存所需要的信息。 爬虫运行的过程一般是先制定规则(如指定要抓取的网址、要抓取的信息的类型等),紧接着获取该网址的HTML源代码,根据规则对源代码进行解析和抽取

    2024年02月09日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包