經過rinetd實現端口轉發來訪問內網的服務數據庫
經過外網來訪問內網的服務ubuntu
須要有一臺可以外網訪問的機器作端口映射,經過數據包轉發來實現外部訪問阿里雲的內網服務vim
作端口映射的方案有不少,Linux下的ssh tunnel和windows下的portmap等等,這裏分享一個更穩定和簡單的小工具rinetdwindows
$ wget http://www.boutell.com/rinetd/http/rinetd.tar.gz安全 $ tar -xvf rinetd.tar.gzssh $ cd rinetd工具 # 修改端口範圍,不然會報錯阿里雲 $ sed -i 's/65536/65535/g' rinetd.cspa $ 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 -c /etc/rinetd.conf # 檢查進程是否啓動 $ ps aux | grep -I rinetd # 檢查監控的端口是否開啓 $ netstat -tanop | grep 4408 |
待 rinetd啓動後,就已經能夠經過外網的4408端口鏈接處處於內網模式的10.174.205.239:3306數據庫了
除了這個場景,其它的內網端口轉發也均可以(因爲FTP協議相對特殊,沒法實現轉發)
配置文件中能夠對某個IP或者IP段進行容許/拒絕,藉此提升內網端口的安全性。
若是兩者衝突,拒絕優先。
rinetd也有Windows版本,配置方法徹底相同,在此再也不贅述。 若是你是ubuntu系統,使用:apt-get install rinetd -y 就能夠實現安裝。