2014-07-02 172 views
-1

所以我一直在嘗試過去幾個小時纔打開端口80,以便我可以訪問我的Apache服務器。我正在運行RHEL 6.5,下面是我的iptables的配置。80端口被阻止

# Generated by iptables-save v1.4.7 on Wed Jul 2 12:59:50 2014 
*filter 
:INPUT ACCEPT [0:0] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [9:1332] 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
## Open 443 port i.e. HTTPS 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
COMMIT 
# Completed on Wed Jul 2 12:59:50 2014 

我已經保存並重新啓動,無濟於事。我正在使用一個端口檢查器(http://www.checkmyports.net/)來檢查它是否打開,但事實並非如此。在將此標記爲重複之前,我已嘗試過所有在線內容。我重新配置了我的iptables多次,刪除了額外的防火牆,禁用和重新啓用,以及其他多種解決方案,都無濟於事。關於我要去哪裏的任何想法都是錯誤的?謝謝。

ps aux | grep的 'httpd的' :

root  20353 0.0 0.7 175704 3668 ?  Ss 12:59 0:00 /usr/sbin/httpd 
apache 20355 0.0 0.4 175704 2408 ?  S 12:59 0:00 /usr/sbin/httpd 
apache 20356 0.0 0.4 175704 2408 ?  S 12:59 0:00 /usr/sbin/httpd 
apache 20357 0.0 0.4 175704 2408 ?  S 12:59 0:00 /usr/sbin/httpd 
apache 20358 0.0 0.4 175704 2408 ?  S 12:59 0:00 /usr/sbin/httpd 
apache 20359 0.0 0.4 175704 2408 ?  S 12:59 0:00 /usr/sbin/httpd 
apache 20360 0.0 0.4 175704 2408 ?  S 12:59 0:00 /usr/sbin/httpd 
apache 20361 0.0 0.4 175704 2408 ?  S 12:59 0:00 /usr/sbin/httpd 
apache 20362 0.0 0.4 175704 2408 ?  S 12:59 0:00 /usr/sbin/httpd 
root  21624 0.0 0.1 103244 856 pts/0 S+ 13:55 0:00 grep httpd 

輸出的netstat -tulpn的:

Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address    Foreign Address    State   PID/Program name 
tcp  0  0 0.0.0.0:111     0.0.0.0:*     LISTEN   960/rpcbind   
tcp  0  0 0.0.0.0:22     0.0.0.0:*     LISTEN  28361/sshd   
tcp  0  0 0.0.0.0:36088    0.0.0.0:*     LISTEN  978/rpc.statd  
tcp  0  0 127.0.0.1:25    0.0.0.0:*     LISTEN  1108/sendmail  
tcp  0  0 :::111      :::*      LISTEN  960/rpcbind   
tcp  0  0 :::80      :::*      LISTEN  20353/httpd   
tcp  0  0 :::51733     :::*      LISTEN  978/rpc.statd  
tcp  0  0 :::22      :::*      LISTEN  28361/sshd   
udp  0  0 0.0.0.0:111     0.0.0.0:*        960/rpcbind   
udp  0  0 0.0.0.0:39182    0.0.0.0:*        978/rpc.statd  
udp  0  0 0.0.0.0:68     0.0.0.0:*        20708/dhclient  
udp  0  0 0.0.0.0:711     0.0.0.0:*        960/rpcbind   
udp  0  0 0.0.0.0:730     0.0.0.0:*        978/rpc.statd  
udp  0  0 :::111      :::*         960/rpcbind   
udp  0  0 :::711      :::*         960/rpcbind   
udp  0  0 :::35278     :::*         978/rpc.statd  
+2

如果禁用iptables仍然使端口80被阻塞,那麼您可能遇到路由器防火牆問題,或者您在nat後面。如果您在NAT後面,則需要通過它將端口80轉發到您的網絡服務器。 – Reshurum

+0

端口80的流量可能會被您的ISP阻止。其常見做法 – redFIVE

回答

0

確保有在該端口上運行的東西。

如果在防火牆上打開了端口80,但沒有任何內容正在偵聽該端口(apache,http),那麼端口將顯示爲關閉。

請告訴我的

ps aux | grep 'httpd' 

netstat -tulpn 
+0

添加了這些回覆。 – user3294283

0

你可以嘗試完全清除了iptables的輸出,獲得網絡接入工作,然後重新打開它。

我有一個iptables-clear.sh腳本,我跑這樣做。

注意,這並不使用iptables的/etc/init.d版本,在修復此問題時可能必須關閉它。只要記得在完成後再打開它。

# Flush all tables 
iptables -F 
iptables -t nat -F 

# Default policy to ACCEPT 
iptables -P INPUT ACCEPT 
iptables -P FORWARD ACCEPT 
iptables -P OUTPUT ACCEPT 
iptables -t nat -P PREROUTING ACCEPT 
iptables -t nat -P POSTROUTING ACCEPT 
iptables -t nat -P OUTPUT ACCEPT