一、簡介
Rinetd是為在一個Unix和Linux操作系統中為重定向傳輸控制協議(TCP)連接的一個工具。Rinetd是單一過程的服務器,它處理任何數量的連接到在配置文件etc/rinetd中指定的地址/端口對。盡管rinetd使用非閉鎖I/O運行作為一個單一過程,它可能重定向很多連接而不對這台機器增加額外的負擔。
二、安裝Rinetd
環境說明:
公司開發人員需要使用Navicat連接阿里雲RDS數據庫,官方只有網頁的操作界面,用着不習慣。
之前的想法是在ECS主機安裝×××,客戶端進行撥號,來連接阿里雲RDS數據庫,后來發現總是無法打開表,非常慢,他們建議使用rinted,后來進過測試,可以打開表,而且速度很快。
安裝
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz tar -zxvf rinetd.tar.gz -C /usr/src cd /usr/src/rinetd sed -i 's/65536/65535/g' rinetd.c (修改端口范圍,否則會報錯) mkdir /usr/man make && make install
創建配置文件
cat >>/etc/rinetd.conf <<end # allow 192.168.2.* # deny 192.168.1.* # bindadress bindport connectaddress connectport 0.0.0.0 3306 a.rds.aliyuncs.com 3306 #logfile /var/log/rinetd.log end
添加開機自啟動
echo rinetd >>/etc/rc.local
啟動服務
rinetd
rinetd啟動后,就已經可以通過雲服務器的3306端口連接到處於內網模式的xxx rds數據庫了
除了這個場景,其它的內網端口轉發也都可以(由於FTP協議相對特殊,無法實現轉發)
配置文件中可以對某個IP或者IP段進行允許/拒絕,藉此提高內網端口的安全性;
如果二者沖突,測試的結果來看是拒絕優先。
三、多端口配置
上面配置只是配置一個RDS,如果有多個,需要添加端口號
vi /etc/rinetd.conf
內容如下:
# allow 192.168.2.* # deny 192.168.1.* # bindadress bindport connectaddress connectport 0.0.0.0 3306 a.rds.aliyuncs.com 3306 0.0.0.0 3307 b.rds.aliyuncs.com 3306 0.0.0.0 3308 c.rds.aliyuncs.com 3306 #logfile /var/log/rinetd.log
重啟服務
pkill rinetd
rinetd
測試連接
使用mysql客戶端進行測試。注意連接第2台和第3台的時候,更改下端口號。
這樣任何IP地址都可以連接了,這樣不安全,最好做下防火牆,針對外網卡,只允許公司的網絡訪問。
然后家里連接的時候,先撥×××,用內網連接。
本文參考鏈接:
https://blog.51cto.com/xiao987334176/1643856