/etc/iptables.rules新建一個(gè)b" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

linux配置本地tomcat應(yīng)用80端口轉(zhuǎn)發(fā)

系統(tǒng) 2142 0

場景:

本地部署tomcat到8080端口,并期望本地訪問80端口來訪問本地tomcat。

結(jié)論:

使用linux下的iptables工具實(shí)現(xiàn)端口轉(zhuǎn)發(fā)功能。

具體為

  1. 現(xiàn)取得root權(quán)限
  2. 執(zhí)行iptables -t nat -I OUTPUT -p tcp ?-d 127.0.0.1 --dport 80 -j REDIRECT --to-port 8080
  3. 目前在重啟前均生效。要想永久生效,需要繼續(xù)執(zhí)行(ubuntu環(huán)境):iptables-save > /etc/iptables.rules
  4. 新建一個(gè)bash腳本
            #!/bin/bash
    
    iptables-restore < /etc/iptables.rules
          
  5. 保存到/etc/network/if-pre-up.d/目錄下
  6. 結(jié)束!
  7. BTW:如果是配置外部服務(wù)器,則把第2步換為執(zhí)行iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

?

實(shí)驗(yàn)過程:

實(shí)驗(yàn)過程主要集中在上述第2步中該添加何種iptables規(guī)則。

取得root權(quán)限后,單獨(dú)執(zhí)行各個(gè)操作:

?

  1. iptables -t nat -I OUTPUT -p tcp ?--dport 80 -j REDIRECT --to-port 8080 ?
    結(jié)果:訪問本地localhost正常轉(zhuǎn)發(fā),訪問外部網(wǎng)絡(luò)全部被重定向到本地localhost:8080
    原因: 本機(jī)訪問請(qǐng)求時(shí),本地進(jìn)程產(chǎn)生的報(bào)文將進(jìn)入OUTPUT鏈,因?yàn)楫?dāng)前請(qǐng)求包的端口是80,于是重定向道8080,注意是所有數(shù)據(jù)包。

  2. iptables -t nat -I OUTPUT -p tcp -s 127.0.0.1 --dport 80 -j REDIRECT --to-port 8080
    結(jié)果:訪問本地localhost正常轉(zhuǎn)發(fā),訪問外部網(wǎng)絡(luò)正常沒特殊處理
    原因:類似上例,但多了一個(gè)規(guī)則:需匹配數(shù)據(jù)包源地址-s 127.0.0.1。但實(shí)際上,訪問外部網(wǎng)絡(luò)時(shí)實(shí)際數(shù)據(jù)包在經(jīng)過這個(gè)鏈時(shí)的源地址是本機(jī)ip,而不是回路ip(127.0.0.1),所以相當(dāng)于本規(guī)則對(duì)訪問外部網(wǎng)絡(luò)時(shí)無效。

  3. iptables -t nat -I OUTPUT -p tcp -s 非回路網(wǎng)卡ip --dport 80 -j REDIRECT --to-port 8080
    結(jié)果:訪問本地localhost無法轉(zhuǎn)發(fā),訪問外部網(wǎng)絡(luò)全部被重定向到本地localhost:8080
    原因:和上例類似,規(guī)則匹配了對(duì)外訪問的數(shù)據(jù)包,從而被重定向。

  4. iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-port 8080?
    結(jié)果:訪問本地localhost正常轉(zhuǎn)發(fā),訪問外部網(wǎng)絡(luò)正常沒特殊處理
    原因:本地應(yīng)用的ip被匹配上,所以訪問本地應(yīng)用時(shí),數(shù)據(jù)包將被重定向道8080

  5. iptables -t nat -I OUTPUT -p tcp -s 127.0.0.1 -d 127.0.0.1 --dport 80 -j REDIRECT --to-port 8080
    結(jié)果:訪問本地localhost正常轉(zhuǎn)發(fā),訪問外部網(wǎng)絡(luò)正常沒特殊處理
    原因:2,4操作的原因結(jié)合。

  6. iptables -t nat -I PREROUTING?-p tcp -s 127.0.0.1 -d 127.0.0.1 --dport 80 -j REDIRECT --to-port 8080
    結(jié)果:訪問本地localhost無法轉(zhuǎn)發(fā),訪問外部網(wǎng)絡(luò)正常沒特殊處理
    原因:本地連接指的是在本機(jī)上,用 127.0.0.1 或者本機(jī) IP 來訪問本機(jī)的端口。本地連接的數(shù)據(jù)包不會(huì)通過網(wǎng)卡,而是由內(nèi)核處理后直接發(fā)給本地進(jìn)程。這種數(shù)據(jù)包在 iptables 中只經(jīng)過 OUTPUT 鏈,而不會(huì)經(jīng)過 PREROUTING 鏈(原文 點(diǎn)此 )。即: PREROUTING isn't used by the loopback interface( 討論貼 )。

?

知識(shí)點(diǎn):

iptables基本介紹: http://wiki.centos.org/HowTos/Network/IPTables (是centos版)

iptables全面介紹:

http://lesca.me/archives/iptables-tutorial-structures-configuratios-examples.html

http://blog.chinaunix.net/uid-307943-id-3559357.html

iptables原理: http://my.oschina.net/javagg/blog/3239

iptables數(shù)據(jù)包流向 :

以本地為目的的包 數(shù)據(jù)包 ----> mangle prerouting -------> nat prerouting -------> mangle input -------> filter input
以本地為源的包 數(shù)據(jù)包 -------> mangle output -------> nat output -------> filter output -------> mangle postrouting -------> nat postrouting?
經(jīng)過本地轉(zhuǎn)發(fā)的包 數(shù)據(jù)包 -------> mangle prerouting -------> nat prerouting -------> mangle forward -------> filter forward -------> mangle postrouting -------> nat postrouting

?

linux配置本地tomcat應(yīng)用80端口轉(zhuǎn)發(fā)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 淄博市| 潮安县| 水富县| 贺州市| 固原市| 肥西县| 凌云县| 虞城县| 元氏县| 收藏| 武隆县| 汕尾市| 锡林浩特市| 建昌县| 明光市| 本溪市| 泗水县| 洱源县| 泽库县| 虎林市| 黑山县| 灌云县| 大宁县| 武威市| 揭西县| 加查县| 长沙县| 乡城县| 连州市| 玉门市| 来凤县| 汉阴县| 八宿县| 祁门县| 曲阳县| 伊金霍洛旗| 防城港市| 米易县| 马龙县| 娄底市| 曲靖市|