【rinetd】Linux用rinetd實(shí)現(xiàn)TCP/UDP端口轉(zhuǎn)發(fā)

一、背景

在Linux系統(tǒng)中大多數(shù)情況選擇用iptables來實(shí)現(xiàn)端口轉(zhuǎn)發(fā),iptables雖然強(qiáng)大,但配置不便,而且新手容易出錯(cuò)。
在此分享另一個(gè)TCP/UDP端口轉(zhuǎn)發(fā)工具rinetd,rinetd體積小巧,配置也很簡(jiǎn)單。

二、安裝rinetd

#安裝依賴
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

#進(jìn)入目錄
cd rinetd-0.70

#編譯安裝
./bootstrap
./configure

安裝后,可以輸入rinetd -v查看當(dāng)前版本。

#  rinetd -v
rinetd 0.70

隨著時(shí)間推移,上面下載地址不一定是最新的,大家可前往Github:https://github.com/samhocevar/rinetd/releases下載最新版本。

特別注意: 2019年12月26日,某組織注冊(cè)的http://www.rinetd.com/域名上線,以rinetd工具的'官方'站點(diǎn)的身份,對(duì)外提供附帶后門的rinetd源碼壓縮包下載。

三、 設(shè)置TCP端口轉(zhuǎn)發(fā)

#新建rinetd配置文件
vi /etc/rinetd.conf

#填寫如下內(nèi)容
0.0.0.0 2018 103.74.192.160 2019

#啟動(dòng)rinetd
rinetd   -c /etc/rinetd.conf

rinetd配置文件的格式如下:

0.0.0.0:源IP

2018:源端口

103.74.192.160:目標(biāo)IP

2019:目標(biāo)端口

上面配置的意思是將本地2018端口轉(zhuǎn)發(fā)到103.74.192.160的2019端口,啟動(dòng)后可以輸入netstat -apn|grep 'rinetd'查看是否運(yùn)行正常,注意還需要在自己服務(wù)器防火墻放行對(duì)應(yīng)的源端口,否則無法正常使用用。

從0.70版本開始rinetd已經(jīng)支持UDP轉(zhuǎn)發(fā),寫法如下:


127.0.0.1   8000/udp  192.168.1.2     8000/udp

為了方便管理,我們可以為rinetd編寫一個(gè)systemd服務(wù),有興趣的同學(xué)可參考《Linux系統(tǒng)編寫Systemd Service實(shí)踐》。

#創(chuàng)建rinetd服務(wù)
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
# 重載daemon
systemctl daemon-reload

#啟動(dòng)rinetd
systemctl start rinetd

#設(shè)置開機(jī)啟動(dòng)
systemctl enable rinetd

#停止rinetd
systemctl stop rinetd

#重啟
systemctl restart rinetd

四、 rinetd的一些問題

rinetd支持轉(zhuǎn)發(fā)到域名,rinetd會(huì)提前解析域名,并將解析出的IP緩存到內(nèi)存中,如果您的域名解析IP發(fā)生了變化必須重啟rinetd才會(huì)生效,所以rinetd并不適合轉(zhuǎn)發(fā)到域名IP經(jīng)常發(fā)生變化的情況,而socat則不存在此問題。

rinetd安裝和配置都非常簡(jiǎn)單,并且從0.70版本開始已經(jīng)支持UDP轉(zhuǎn)發(fā),但rinetd具體性能如何并未進(jìn)一步測(cè)試,不知道高并發(fā)的情況下能否扛得住。

五、參考

rinetd實(shí)現(xiàn)TCP/UDP端口轉(zhuǎn)發(fā)
https://mp.weixin.qq.com/s/lkk1gZ-6AgOVK_AEehh59Q

知名端口轉(zhuǎn)發(fā)工具rinetd遭高仿投毒
https://mp.weixin.qq.com/s/9N1nO1KwR-IEz2RYedhNEQ

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容