小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Linux 中iptables轉(zhuǎn)發(fā)外網(wǎng)成功轉(zhuǎn)發(fā)本地失敗的解決辦法

 WindySky 2017-09-15

 

1、Nginx端口轉(zhuǎn)發(fā)

因?yàn)閚ginx賬號(hào)不能直接啟動(dòng)80端口,所以利用iptables做了80到8081端口的轉(zhuǎn)發(fā),這樣外部應(yīng)用可以直接訪問80端口,然后通過iptables轉(zhuǎn)發(fā)到真正的nginx服務(wù)的8081端口。

 

Iptables轉(zhuǎn)發(fā)命令:

         iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081                  

 

 

2、外網(wǎng)能通,但是本地不通

外網(wǎng)的網(wǎng)頁頁面能打通,如下:

[tomcat@dev_121_21 ~]$ wget http://bright./PLATFORM_AUTH_Service/1.html

--2016-11-22 12:43:01--  http://bright./PLATFORM_AUTH_Service/1.html

正在解析主機(jī) bright.... 192.168.121.21

正在連接 bright.|192.168.121.21|:80... 已連接。

已發(fā)出 HTTP 請(qǐng)求,正在等待回應(yīng)... 200 OK

長度:39 [text/html]

正在保存至: “1.html”

 

100%[=====================================================================================================================================================>] 39          --.-K/s   in 0s     

 

2016-11-22 12:43:01 (4.13 MB/s) - 已保存 “1.html” [39/39])

 

[tomcat@dev_121_21 ~]$

 

 

 

本地的service服務(wù)器打不通:

[tomcat@dev_121_21 ~]$ wget http://bright./PLATFORM_AUTH_Service/remoting/AuthenticationService

--2016-11-22 12:29:17--  http://bright./PLATFORM_AUTH_Service/remoting/AuthenticationService

正在解析主機(jī) bright.... 192.168.121.21

正在連接 bright.|192.168.121.21|:80... 失?。壕芙^連接。

[tomcat@dev_121_21 ~]$

 

問題在哪里呢?直接telnet端口80試試

# telnet域名的80端口不通

[tomcat@dev_121_21 ~]$ telnet bright. 80

Trying 192.168.121.21...

telnet: connect to address 192.168.121.21: Connection refused

[tomcat@dev_121_21 ~]$

# telnet 域名所在ip地址的80端口,也不通

[tomcat@dev_121_21 ~]$ telnet 192.168.121.21 80

Trying 192.168.121.21...

telnet: connect to address 192.168.121.21: Connection refused

[tomcat@dev_121_21 ~]$

 

# 因?yàn)?/span>80只是iptables轉(zhuǎn)發(fā)的端口,不是真正nginx服務(wù)的端口,nginx服務(wù)的8081端口是有效的,

[tomcat@dev_121_21 ~]$ telnet bright. 8081

Trying 192.168.121.21...

Connected to bright..

Escape character is '^]'.

Connection closed by foreign host.

[tomcat@dev_121_21 ~]$

 

問題場景很明顯了,就是本地本機(jī)telnet不通80端口,其它的外部過來的訪問80端口都o(jì)k。

 

問題分析:
外網(wǎng)訪問需要經(jīng)過PREROUTING鏈,但是localhost以及192.168.121.21本機(jī)ip地址不經(jīng)過該鏈,因此需要用OUTPUT。

 

 

3、設(shè)置OUTPUT

設(shè)置output限制:

#在本機(jī)telnet也可以做轉(zhuǎn)發(fā)到本機(jī)端口,不過限制了ip地址為localhost的域名訪問

[root@dev_121_21 ~]#iptables -t nat -A OUTPUT -d 192.168.121.21 -p tcp --dport 80 -j REDIRECT --to-ports 8081        

 

#不限制ip地址的訪問

[root@dev_121_21 ~]#iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8081

 

PS:如果想外部內(nèi)部都通過域名來走,而域名又綁定實(shí)際的ip地址的話,那么這里就需要采用第一種限制域名實(shí)際ip的方式來操作才能有效

 

# iptables永久生效,保存到系統(tǒng)配置中

[root@dev_121_21 ~]# service iptables save;

iptables:將防火墻規(guī)則保存到 /etc/sysconfig/iptables:     [確定]

[root@dev_121_21 ~]#      chkconfig --level 2345 iptables on;

[root@dev_121_21 ~]#      chkconfig --add iptables;

[root@dev_121_21 ~]# service iptables restart

iptables:清除防火墻規(guī)則:                                 [確定]

iptables:將鏈設(shè)置為政策 ACCEPT:nat                       [確定]

iptables:正在卸載模塊:                                   [確定]

iptables:應(yīng)用防火墻規(guī)則:                                 [確定]

[root@dev_121_21 ~]#

 

 

 

4、問題解決本地能通

 

再試下,本地就可以訪問本地的service接口服務(wù)了:

[tomcat@dev_121_21 ~]$ wget http://bright./PLATFORM_AUTH_Service/remoting/AuthenticationService

--2016-11-22 12:51:14--  http://bright./PLATFORM_AUTH_Service/remoting/AuthenticationService

正在解析主機(jī) bright.... 192.168.121.21

正在連接 bright.|192.168.121.21|:80... 已連接。

已發(fā)出 HTTP 請(qǐng)求,正在等待回應(yīng)... 405 Method Not Allowed

2016-11-22 12:51:14 錯(cuò)誤 405:Method Not Allowed。

 

[tomcat@dev_121_21 ~]$

 

 

參考文章:http://blog.csdn.net/zzhongcy/article/details/42738285

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多