无法远程访问网络服务器 cent os

无法远程访问网络服务器 cent os

我最近安装了 centos 服务器。我已经配置了 apache 和所有 mysql 包。

我还有一个实时 IP。当我在 centos web 服务器本身上使用实时 IP 运行 web 服务器时,一切看起来都很好。但是当我尝试通过另一个 IP 进行远程访问时,它显示“无法连接”。

我也设置了 iptables。但我无法访问服务器 - 请问有人能帮忙吗?这是我的 iptable 文件:

 # Generated by iptables-save v1.4.7 on Sat Mar 16 21:12:18 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [20928:2320365]
-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 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sat Mar 16 21:12:18 201

下面是输出netstat

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2109/mysqld         
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1575/rpcbind        
tcp        0      0 0.0.0.0:54354               0.0.0.0:*                   LISTEN      1770/rpc.statd      
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      1971/vsftpd         
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1828/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2205/master         
tcp        0      0 :::51272                    :::*                        LISTEN      1770/rpc.statd      
tcp        0      0 :::111                      :::*                        LISTEN      1575/rpcbind        
tcp        0      0 :::80                       :::*                        LISTEN      3026/httpd          
tcp        0      0 ::1:631                     :::*                        LISTEN      1828/cupsd          
udp        0      0 0.0.0.0:43728               0.0.0.0:*                               1770/rpc.statd      
udp        0      0 0.0.0.0:5353                0.0.0.0:*                               1751/avahi-daemon   
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               1575/rpcbind        
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               1828/cupsd          
udp        0      0 0.0.0.0:902                 0.0.0.0:*                               1575/rpcbind        
udp        0      0 0.0.0.0:674                 0.0.0.0:*                               1770/rpc.statd      
udp        0      0 0.0.0.0:39847               0.0.0.0:*                               1751/avahi-daemon   
udp        0      0 :::33127                    :::*                                    1770/rpc.statd      
udp        0      0 :::111                      :::*                                    1575/rpcbind        
udp        0      0 :::902                      :::*                                    1575/rpcbind    

我也正在监听端口 80。

答案1

你的 iptables 规则顺序错误,这个规则

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

应该在此之前

-A INPUT -j REJECT --reject-with icmp-host-prohibited

您可能所做的是使用 iptables 命令的 -A 选项。这会将规则添加到链的末尾。iptables 中的规则从上到下执行,第一个匹配的规则获胜。在您的设置中,在端口 80 上允许之前将执行全面拒绝。

解决这个问题最直接的方法是保存当前配置

service iptables save

然后编辑 /etc/sysconfig/iptables 文件并交换规则的位置,然后重新启动 iptables

service iptables restart.

相关内容