rinetd实现端口转发方式

 更新时间:2026年01月14日 09:07:19   作者:咕咚杨  
Rinetd是一个用于重定向TCP连接的工具,适用于Unix和Linux系统,它通过配置文件`/etc/rinetd`来指定源地址/端口对和目标地址/端口对,从而实现端口转发,安装方式包括源码安装和二进制安装,并且可以通过配置文件灵活设置多个转发规则

工具简介

Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。

Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。

安装

前提:保证转发机器到被转发的tcp协议如url或ip:port通信正常

1. 源安装

  • ubuntu :
sudo apt-get update
sudo apt-get install rinetd
  • centos:
sudo yum update
sudo yum install rinetd

2. 二进制安装

安装依赖gcc:

  • ubuntu:
sudo apt-get install gcc 
  • centos:
sudo yum install gcc

# 下载二进制包并安装:

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz

tar -xf rinetd.tar.gz

cd rinetd && ./configure --prefix=/usr/local/rinetd

make && make install

配置服务自启:

cat >> /lib/systemd/system/rinetd.service << EOF

[Unit]

Description=Rinetd Daemon

After=network.service

Wants=network.service

[Service]

Type=forking

PIDFile=/var/run/rinetd.pid

ExecStart=/usr/local/rinetd/sbin/rinetd -c /usr/local/rinetd/etc/rinetd.conf

Restart=on-failure

[Install]

WantedBy=multi-user.target

EOF

配置文件

# 配置端口转发,可配置多个映射对:

vim /usr/local/rinetd/etc/rinetd.conf

0.0.0.0 3306 192.168.1.130 3306
 
logfile /var/log/rinetd.log

# 参数解释(可以是ip也可以是域名,也可以是外网ip[一般不转发到外网]) 

0.0.0.0 22 192.168.1.11 10022


0.0.0.0                    --- 源IP
22                           --- 源端口
192.168.1.11          --- 目标IP
10022                     --- 目标端口

上面配置的意思是将本机22端口转发到192.168.1.11的10022端口

服务启动

systemctl  daemon-reload
systemctl  enable rinetd.service
systemctl  start/stop/restart rinetd.service

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • 浅谈Shell中的函数

    浅谈Shell中的函数

    这篇文章主要介绍了Shell中函数的相关资料,帮助大家更好的理解和使用shell,感兴趣的朋友可以了解下
    2020-09-09
  • 一张图让你学会Vim编辑器快捷键

    一张图让你学会Vim编辑器快捷键

    今天小编就为大家分享一篇一张图让你学会Vim编辑器快捷键,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • 浅谈 Linux 下 file 的六种应用实例

    浅谈 Linux 下 file 的六种应用实例

    Linux file命令用于辨识文件类型。通过file指令,我们得以辨识该文件的类型。这篇文章主要介绍了浅谈 Linux 下 file 的应用实例,需要的朋友可以参考下
    2017-11-11
  • Shell脚本中提取邮箱用户名的两种方法

    Shell脚本中提取邮箱用户名的两种方法

    在 Linux 系统中,Shell 脚本是一种强大的自动化工具,它可以帮助我们执行各种任务,包括文本处理,在日常工作中,我们经常需要处理电子邮件地址,比如从邮箱地址中提取用户名,本文就给大家介绍了Shell中脚本提取邮箱用户名的两种方法,需要的朋友可以参考下
    2024-12-12
  • Shell获取当前正在执行脚本的绝对路径

    Shell获取当前正在执行脚本的绝对路径

    本文主要介绍了Shell获取当前正在执行脚本的绝对路径,主要有三种方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Shell 命令启动Docker Container的实现

    Shell 命令启动Docker Container的实现

    本文主要介绍了Shell 命令启动Docker Container的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • linux命令行bandit使用练习实战

    linux命令行bandit使用练习实战

    这篇文章主要为大家介绍了linux命令行bandit使用练习实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 比较两个字符串是否相等的shell代码

    比较两个字符串是否相等的shell代码

    比较两个字符串是否相等的shell代码,需要的朋友可以参考下
    2013-02-02
  • 智能监测自动重启Apache服务器的Shell脚本

    智能监测自动重启Apache服务器的Shell脚本

    这篇文章主要介绍了智能监测自动重启Apache服务器的Shell脚本,实现监控Apache不可用时,第一次强制重启,第二次邮件通知管理员,需要的朋友可以参考下
    2014-07-07
  • Shell脚本定期清空大于1G的日志文件

    Shell脚本定期清空大于1G的日志文件

    这篇文章主要介绍了Shell脚本定期清空大于1G的日志文件,本文直接给出实现代码,需要的朋友可以参考下
    2015-05-05

最新评论