簡單端口映射、轉發、重定向工具-Rinetd

一、簡介

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地址都可以連接了,這樣不安全,最好做下防火牆,針對外網卡,只允許公司的網絡訪問。

Exit mobile version