欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言

Linux安装"rinetd"实现TCP/UDP端口转发

linux sky995 11个月前 (03-20) 234次浏览 0个评论

本文最后更新时间 2022-03-20 by sky995

端口转发方式有很多,gost,brook之类的消耗性能大一点。
本文推荐一个小巧精悍,使用方便的工具“rinetd”
搭建过程使用的是debian10,其他系统可参考

#安装依赖
#debian
apt-get install gcc g++ make automake -y

#centos
yum -y install gcc gcc-c++ make automake

#下载rinetd
wget https://ghproxy.com/github.com/samhocevar/rinetd/releases/download/v0.73/rinetd-0.73.tar.gz
#解压
tar -zxvf rinetd-0.73.tar.gz
#进入目录
cd rinetd-0.73
#编译安装
./bootstrap
./configure
make && make install
Ssh

安装后,可以输入rinetd -v查看当前版本。

root@debian:~/rinetd-0.73# rinetd -v rinetd 0.73

输入 whereis rinetd可查看到安装位置 配置文件路径
我的是

rinetd: /usr/local/sbin/rinetd /usr/local/etc/rinetd.conf

最新版发布页Github:https://github.com/samhocevar/rinetd/releases

设置TCP端口转发

#新建rinetd配置文件
nano /usr/local/etc/rinetd.conf
#填写如下内容
#本地Ip 端口 目标ip 目标端口 
0.0.0.0 2021 1.1.1.1 80

#启动rinetd
rinetd -c /usr/local/etc/rinetd.conf
Ssh

rinetd配置文件的格式如下:

0.0.0.0:源IP
2021:源端口
1.1.1.1:目标IP
80:目标端口

上面配置的意思是将本地2021端口转发到1.1.1.1的80端口,
启动后可以输入netstat -apn|grep 'rinetd'查看是否运行正常,
注意还需要在自己服务器防火墙放行对应的源端口,否则无法正常使用用。

 

从0.70版本开始rinetd已经支持UDP转发,写法如下:

0.0.0.0 8000/udp 192.168.1.1 8000/udp

创建systemd服务

为了方便管理,我们可以为rinetd编写一个systemd服务,直接复制下面的内容即可:

创建rinetd服务
nano /etc/systemd/system/rinetd.service
复制下面的内容进行保存:

[Unit]
Description=rinetd
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/rinetd -c /usr/local/etc/rinetd.conf

[Install]
WantedBy=multi-user.target
Rinetd

输入命令:systemctl daemon-reload重载daemon使其生效,
然后就可以使用下面的命令来管理rinetd了。

#启动rinetd
systemctl start rinetd
#设置开机启动
systemctl enable rinetd
#停止rinetd
systemctl stop rinetd
#重启
systemctl restart rinetd
Systemctl

rinetd的一些问题
rinetd支持转发到域名,rinetd会提前解析域名,并将解析出的IP缓存到内存中,如果您的域名解析IP发生了变化必须重启rinetd才会生效,所以rinetd并不适合转发到域名IP经常发生变化的情况


好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux安装"rinetd"实现TCP/UDP端口转发
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址