Iptables

iptables 傳出預設策略是接受,但某些埠似乎被阻止

  • October 1, 2015

我是伺服器和 iptables 的新手。我在我的 Centos 6.7 apache/httpd 伺服器上執行了一個網路應用程序(恰好是 bugzilla),它嘗試通過埠 80 連接到網路(updates.bugzilla.org)。它還嘗試連接到(到 smtp .gmail.com)使用埠 465。但是,它不能。儘管具有 ACCEPT 的預設輸出策略並打開了相關埠以供輸入,但這仍然存在。

我不知道從這裡去哪裡。我應該從哪裡開始解決這個問題?可能的罪魁禍首是什麼?

一些輸出:

$ 服務 iptables 狀態

表:過濾器

鏈輸入(策略接受)

num target prot opt source destination

1 全部接受 – 0.0.0.0/0 0.0.0.0/0

2 全部接受 – 0.0.0.0/0 0.0.0.0/0 狀態 RELATED,ESTABLISHED

3 接受 tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

4 接受 tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

5 接受 tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:443

6 接受 tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:25

7 接受 tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:587

Chain FORWARD (policy DROP) num target prot opt source destination

Chain OUTPUT (policy ACCEPT) num target prot opt source destination

和:

iptables -L -v Chain INPUT(策略接受 881 個數據包,106K 字節)

pkts bytes target prot opt in out source destination

0 0 ACCEPT all – lo any 任何地方 任何地方

436 183K 接受所有 - 任何任何任何地方任何地方狀態相關,已建立

0 0 ACCEPT tcp – 任何 任何 任何 任何 任何 地方 tcp dpt:ssh

1 60 ACCEPT tcp – 任何 任何 任何 任何 任何 地方 tcp dpt:http

0 0 接受 tcp – 任何 任何 任何 任何 任何 地方 tcp dpt:https

0 0 接受 tcp – 任何 任何 任何 任何 任何 地方 tcp dpt:smtp

0 0 ACCEPT tcp – 任何任何地方任何地方 tcp dpt:submission

Chain FORWARD (policy DROP 0 packet, 0 bytes) pkts bytes target prot opt in out source destination

鏈輸出(策略接受 348 個數據包,56741 字節)

pkts bytes target prot opt in out source destination

我希望它不是 bugzilla 或特定於 centos 的東西,因為我已經在 ubuntu 桌面上成功安裝了 bugzilla,儘管那是在使用 ubuntu 的 ufw 時(我想我也用 iptables 嘗試過,但必須嘗試再次驗證)。

更新:

對於那些網路搜尋並在以後看到這個的人來說,事實證明這是一個 SELinux 問題!需要啟用布爾值“httpd_can_network_connect”(對於其他人,使用“getsebool -a”)。

試試這個:

service iptables save
service iptables stop
chkconfig iptables off

繁榮,沒有防火牆。再次測試。

嘗試使用 telnet 測試該埠:

telnet updates.bugzilla.org 80

與 telnet 連接後,鍵入“get”並查看是否有響應。

Example:

# telnet updates.bugzilla.org 80
Trying 63.245.223.29... 
Connected to updates.bugzilla.org.
Escape character is '^]'
get
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.0.15</center>
</body>
</html>
Connection closed by foreign host.

沒用?

嘗試 tcptraceroute 看看它在哪裡被阻塞:

tcptraceroute updates.bugzilla.org 80

會不會有其他東西阻塞了埠?防火牆、路由器、ISP?

引用自:https://serverfault.com/questions/725914