#[喵咪Liunx(3)]端口轉發工具rinetd#redis
##前言##數據庫
今天筆者爲你們帶來了另一款很是優秀的Liunx工具,這個工具備什麼用呢?它能幫助咱們解決一些特定場景下的端口轉發需求,這個工具就是runetd,runetd能夠很是方便的進行端口轉發的設置,那就讓咱們一同來開始本次的學習吧!tomcat
附上:服務器
喵了個咪的博客:w-blog.cn網絡
##1. 端口轉發是什麼##工具
咱們先來了解幾個名詞的含義:端口映射,端口轉發,反向代理,一同分析他們的相同點以及區別學習
###端口映射代理
若是你去網上查找端口映射,大部分都是說路由器ADSL把公網IP映射到內網,這個通常是從路由器中設置的,對公網IP某個端口進行映射到路由器下的某個端口,經過訪問這個外網地址就能夠請求到這臺服務器了,使用場景最平凡的就是你們購買的AWS或UCloud的服務器,他們服務器的公網都是經過端口映射的方式實現的.code
###端口轉發blog
端口轉發就實現的功能效果和端口映射幾乎同樣,這兩個名詞的邊界也比較含糊不清,若是上面把端口映射解釋爲從是處理路由器公網到內網,能夠理解端口轉發是系統級別的.一個簡單的例子你的tomcat默認使用內網8080端口,你須要在80端口上去訪問,這個時候就須要把本身的80端口轉發到8080端口,訪問80端口的時候會被系統把請求轉發到8080端口上接受.
###反向代理
反向代理咱們最多見使用的就是Nginx反向代理,通用也能實現用戶請求80端口代理給本機的8080端口這個業務,可是反向代理和端口轉發惟一不一樣的是他們的網絡層次,反向代理是應用層面的通俗易懂的說就是HTTP,反向代理服務器接受到HTTP請求會在創建一條HTTP請求到請求的服務器獲取返回結果以後在返回給請求的服務器,可是端口轉發就不一樣了,端口轉發是TCP/IP層的也就是說全部的TCP均可以被轉發,好比數據庫鏈接,redis鏈接這個是反向代理作不到的
##2. 使用rinetd進行端口轉發##
你們瞭解端口轉發以後大體明白在什麼場景下應該來使用了,咱們一般配置端口轉發時多半會使用Liunx的iptables來進行,可是這樣有諸多不方便的地方,端口占用不提示,關閉不方便等等,後來就有了rinetd這個快速端口轉發工具的誕生,咱們來了解怎麼使用rinetd來配置一個端口轉發.
下載軟件:
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
安裝軟件:
tar xzvf rinetd.tar.gz cd rinetd make make install
編輯配置文件加入你的轉發規則 :
內容格式:源IP 源端口 要跳轉的IP 要跳轉的端口
好比須要經過80端口訪問到8080端口的內容
0.0.0.0 8080 0.0.0.0 80
啓動rinetd :
rinetd -c /etc/rinetd.conf
在啓動時候若是你的80端口被佔用會有報錯信息
查看轉發規則是否成功 :
netstat -tanulp|grep rinetd
##3. 總結##
咱們一同瞭解了關於端口映射,端口轉發,反向代理以前的區別,而且使用rinetd快速設置端口轉發規則,在後面的某些特定場景合理的使用以上技術能夠解決不少特定問題,也但願對可以有幫助!
注:筆者能力有限有說的不對的地方但願你們可以指出,也但願多多交流!