新聞中心
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)轉(zhuǎn)發(fā)已經(jīng)成為我們?nèi)粘9ぷ髦蟹浅V匾囊徊糠帧6贚inux平臺上實現(xiàn)端口轉(zhuǎn)發(fā)更是讓網(wǎng)絡(luò)轉(zhuǎn)發(fā)變得非常便捷和高效。

成都創(chuàng)新互聯(lián)公司成立十載來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供網(wǎng)站制作、做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設(shè)計、國際域名空間、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
所謂端口轉(zhuǎn)發(fā),就是指在兩個不同的網(wǎng)絡(luò)之間傳輸數(shù)據(jù)時,將數(shù)據(jù)從一個網(wǎng)絡(luò)的端口轉(zhuǎn)發(fā)到另外一個網(wǎng)絡(luò)的端口。采用端口轉(zhuǎn)發(fā)的方法可以將我們的服務(wù)端隱藏在內(nèi)網(wǎng)中,而不會暴露在外網(wǎng)上。而如果我們不想在外網(wǎng)中直接暴露自己的服務(wù)端,那么我們就可以使用端口轉(zhuǎn)發(fā)的方法來實現(xiàn)。
Linux平臺下有很多工具和軟件可以實現(xiàn)端口轉(zhuǎn)發(fā),如iptables,socat、haproxy等。下面就來介紹一下Linux平臺下實現(xiàn)端口轉(zhuǎn)發(fā)的方法。
iptables實現(xiàn)端口轉(zhuǎn)發(fā)
iptables是Linux平臺下的一個防火墻工具,也可以用來實現(xiàn)端口轉(zhuǎn)發(fā)。我們可以使用iptables來將來自外部網(wǎng)絡(luò)的請求轉(zhuǎn)發(fā)到內(nèi)部的服務(wù)器上。
首先我們需要安裝iptables,使用以下命令即可:
sudo apt-get install iptables
安裝完成之后,我們就可以開始配置iptables了。下面是一個示例配置:
sudo iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination 10.0.0.10:80
上面的命令中,“-t nat”表示對nat表進行操作,“-A PREROUTING”表示在PREROUTING鏈中添加一條規(guī)則,“-p tcp”表示匹配TCP協(xié)議,“–dport 80”表示匹配80端口,“-j DNAT”表示進行目標地址轉(zhuǎn)換,“–to-destination 10.0.0.10:80”表示將目標地址轉(zhuǎn)換為10.0.0.10的80端口。
通過上述命令,我們就可以將來自外部網(wǎng)絡(luò)的請求轉(zhuǎn)發(fā)到內(nèi)部的服務(wù)器上。
socat實現(xiàn)端口轉(zhuǎn)發(fā)
socat是一個強大的網(wǎng)絡(luò)工具,可以用來進行端口轉(zhuǎn)發(fā)、SOCKET文件操作、SSL通信等。要實現(xiàn)端口轉(zhuǎn)發(fā),我們可以使用socat的TCP-LISTEN選項和TCP連接選項。
下面是一個示例命令:
socat TCP-LISTEN:80,fork TCP:10.0.0.10:80
上面的命令中,“TCP-LISTEN:80”表示監(jiān)聽80端口,“fork”表示將新的連接分離成子進程,“TCP:10.0.0.10:80”表示連接到10.0.0.10的80端口。通過上述命令,我們就可以將來自外部網(wǎng)絡(luò)的請求轉(zhuǎn)發(fā)到內(nèi)部的服務(wù)器上。
haproxy實現(xiàn)端口轉(zhuǎn)發(fā)
haproxy是一款高性能的負載均衡軟件,可以用來進行端口轉(zhuǎn)發(fā)、負載均衡等操作。haproxy可以支持多種協(xié)議,包括HTTP、HTTPS、TP等。
下面是一個示例配置:
frontend http-in
bind *:80
default_backend servers
backend servers
server server1 10.0.0.10:80 check
上面的配置中,“frontend http-in”表示監(jiān)聽http協(xié)議,“bind *:80”表示綁定到80端口,“default_backend servers”表示將請求轉(zhuǎn)發(fā)到servers后端,“backend servers”表示后端服務(wù)器組,“server server1 10.0.0.10:80 check”表示添加一個服務(wù)器,IP地址為10.0.0.10,端口為80。
通過上述配置,我們就可以將來自外部網(wǎng)絡(luò)的請求轉(zhuǎn)發(fā)到內(nèi)部的服務(wù)器上。
通過以上三種方法,我們就可以在Linux平臺下實現(xiàn)端口轉(zhuǎn)發(fā)。不同方法的優(yōu)缺點不同,根據(jù)實際需要進行選擇。
無論哪種方法,都可以讓我們輕松地實現(xiàn)網(wǎng)絡(luò)轉(zhuǎn)發(fā),將內(nèi)部服務(wù)暴露在外網(wǎng)上,實現(xiàn)更加高效的網(wǎng)絡(luò)通訊。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
iptables端口復(fù)用和端口轉(zhuǎn)發(fā)
端口復(fù)用參考: Linux利用iptables做端口復(fù)用-Linux實驗室 (wanyunshuju.com)
端口轉(zhuǎn)發(fā)參考: 使用 iptables 進行端口轉(zhuǎn)發(fā) – 51nb – 博客園 (cnblogs.com)
一臺虛擬機:192.168.2.2(私禪攔網(wǎng)ip),8080端口tomcat服務(wù)仔伏
一臺虛擬機:192.168.3.6(公網(wǎng)ip),192.168.2.10(私網(wǎng)ip),80端口apache服務(wù)
1、虛擬機(192.168.3.6)開啟轉(zhuǎn)發(fā)功能
vim /etc/sysctl.conf
輸入 net.ipv4.ip_forward=1
使用命令 sysctl -p 使配置生效
2、添加iptables規(guī)則實現(xiàn)端口轉(zhuǎn)發(fā)
iptables -t nat -I PREROUTING -i ens36 -d 192.168.3.6 -p tcp –dportj DNAT –to-destination 192.168.2.2:8080
3、轉(zhuǎn)發(fā)成功
1、設(shè)置iptables規(guī)則
iptables -t nat -I PREROUTING -i ens36 -s 192.168.3.3 -d 192.168.3.6 -p tcp –dport 80 -j REDIRECT –to-port 22
2、攻擊機192.168.3.3使用XShell對192.168.3.6的80端口進行SSH連接
1、虛擬機(192.168.3.6)開啟轉(zhuǎn)發(fā)功能
vim /etc/sysctl.conf
輸入 net.ipv4.ip_forward=1
使用命令 sysctl -p 使配置生效
2、設(shè)置iptables規(guī)則,當且僅當192.168.3.3訪問時,192.168.3.6的80端口的http服務(wù)變成192.168.2.2的22端口(即iptables流量轉(zhuǎn)發(fā))
iptables -t nat -I PREROUTING -i ens36 -s 192.168.3.3 -d 192.168.3.6 -p tcp –dport 80 -j DNAT –to-destination 192.168.2.2:22
3、驗證
1)當192.168.3.3進行訪問時:
2)當其他ip機器訪問時
利用TCP協(xié)議做遙控開關(guān),這樣攻擊方在需要訪問http服務(wù)的時念襲攜候可以及時切換
1、創(chuàng)建端口復(fù)用鏈子
iptables -t nat -N MyChains
2、創(chuàng)建端口復(fù)用規(guī)則,訪問192.168.3.6:80的流量轉(zhuǎn)發(fā)至22端口
iptables -t nat -A MyChains -p tcp -j REDIRECT –to-port 22 (如果要轉(zhuǎn)發(fā)到其他ip機器,注意需要開啟轉(zhuǎn)發(fā)功能)
3、設(shè)置開啟開關(guān),當接收到一個含有”nihao123coming”的TCP包,則將來源IP添加到MyChains的列表中
iptables -A INPUT -p tcp -m string –string “nihao123coming” –algo bm -m recent –set –name MyChains –rsource -j ACCEPT
4、設(shè)置關(guān)閉開關(guān),如果接收到含有”nihao123leaving”的TCP包,則將來源IP從MyChains的列表中刪除
iptables -A INPUT -p tcp -m string –string “nihao123leaving” –algo bm -m recent –name MyChains –remove -j ACCEPT
5、當發(fā)現(xiàn)SYN包的來源IP處于MyChains的列表中,將跳轉(zhuǎn)到MyChains鏈進行處理,有效時間為3600秒
iptables -t nat -A PREROUTING -p tcp –dport 80 –syn -m recent –rcheck –secondsname MyChains –rsource -j MyChains
4、開啟復(fù)用,開啟后發(fā)送開啟命令的機器到目標80端口的流量將被轉(zhuǎn)發(fā)到目標20端口
驗證:
5、關(guān)閉復(fù)用
驗證:
linux對外做端口轉(zhuǎn)發(fā)的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux對外做端口轉(zhuǎn)發(fā),Linux實現(xiàn)端口轉(zhuǎn)發(fā),網(wǎng)絡(luò)轉(zhuǎn)發(fā)不再難!,iptables端口復(fù)用和端口轉(zhuǎn)發(fā)的信息別忘了在本站進行查找喔。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機租用。成都機房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長,共創(chuàng)價值。
當前題目:Linux實現(xiàn)端口轉(zhuǎn)發(fā),網(wǎng)絡(luò)轉(zhuǎn)發(fā)不再難!(linux對外做端口轉(zhuǎn)發(fā))
鏈接分享:http://www.dlmjj.cn/article/dpoohee.html


咨詢
建站咨詢
