1. 程式人生 > >通過rinetd實現port轉發來訪問內網的服務

通過rinetd實現port轉發來訪問內網的服務

data- adding local rac pad 進程 track 5.1 grep

一、 問題描寫敘述

通過外網來訪問內網的服務

二、 環境要求

須要有一臺能夠外網訪問的機器做port映射。通過數據包轉發來實現外部訪問阿裏雲的內網服務

三、 操作方法

做port映射的方案有非常多。Linux下的ssh tunnel和windows下的portmap等等,這裏分享一個更穩定和簡單的小工具rinetd

四、 下載安裝

$ wget http://www.boutell.com/rinetd/http/rinetd.tar.gz

$ tar -xvf rinetd.tar.gz

$ cd rinetd

# 改動port範圍,否則會報錯

$ sed -i ‘s/65536/65535/g‘ rinetd.c

$ mkdir /usr/man&&make&&make install

五、 創建配置文件:

$ vim /etc/rinetd.conf

# allow 192.168.2.*

# deny 192.168.1.*

# bindaddress bindport connectaddress connectport

114.215.143.167 4408 10.174.205.239 3306

logfile /var/log/rinetd.log

六、 增加到開機啟動腳本中

$ echo rinetd >> /etc/rc.local

$ cat /etc/rc.local

七、 啟動rinetd

$ rinetd -c /etc/rinetd.conf

# 檢查進程是否啟動

$ ps aux | grep -I rinetd

# 檢查監控的port是否開啟

$ netstat -tanop | grep 4408

八、 驗證

待 rinetd啟動後,就已經能夠通過外網的4408port連接到處於內網模式的10.174.205.239:3306數據庫了

九、 其他說明

除了這個場景,其他的內網port轉發也都能夠(因為FTP協議相對特殊,無法實現轉發)

配置文件裏能夠對某個IP或者IP段進行同意/拒絕,藉此提高內網port的安全性。

假設二者沖突,拒絕優先。

rinetd也有Windows版本號,配置方法全然同樣,在此不再贅述。

通過rinetd實現port轉發來訪問內網的服務