阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

210次阅读
没有评论

共计 1634 个字符,预计需要花费 5 分钟才能阅读完成。




在 Linux 系统中大多数情况选择用 iptables 来实现端口转发,iptables 虽然强大,但配置不便,而且新手容易出错。在此分享另一个 TCP/UDP 端口转发工具 rinetd,rinetd 体积小巧,配置也很简单。

安装 rinetd

这篇文章以 CentOS 7 为例,复制下面的命令输入,一行一个:

# 安装依赖
yum -y install gcc gcc-c++ make automake
#下载 rinetd
wget https://github.com/samhocevar/rinetd/releases/download/v0.70/rinetd-0.70.tar.gz
#解压
tar -zxvf rinetd-0.70.tar.gz
#进入目录
cd rinetd-0.70
#编译安装
./bootstrap
./configure
make && make install

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

[root@kryptcn2 rinetd-0.70]# rinetd -v
rinetd 0.70

随着时间推移,上面下载地址不一定是最新的,大家可前往 Github:https://github.com/samhocevar/rinetd/releases下载最新版本。

设置 TCP 端口转发

# 新建 rinetd 配置文件
vi /etc/rinetd.conf
#填写如下内容
0.0.0.0 2018 103.74.192.160 2019
#启动 rinetd
rinetd -c /etc/rinetd.conf

rinetd 配置文件的格式如下:

  • 0.0.0.0:源 IP
  • 2018:源端口
  • 103.74.192.160:目标 IP
  • 2019:目标端口

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

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

127.0.0.1   8000/udp  192.168.1.2     8000/udp

创建 systemd 服务

为了方便管理,我们可以为 rinetd 编写一个 systemd 服务,有兴趣的同学可参考《Linux 系统编写 Systemd Service 实践》,xiaoz 已经编写好了,直接复制下面的内容即可:

# 创建 rinetd 服务
vi /etc/systemd/system/rinetd.service

复制下面的内容进行保存:

[Unit]
Description=rinetd
After=network.target

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

[Install]
WantedBy=multi-user.target

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

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

rinetd 的一些问题

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

其它转发工具

总结

rinetd 安装和配置都非常简单,并且从 0.70 版本开始已经支持 UDP 转发,但 rinetd 具体性能如何 xiaoz 并未进一步测试,不知道高并发的情况下能否扛得住。

项目地址:https://github.com/samhocevar/rinetd

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1634字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中