来自专用服务器的传出连接被iptables拒绝关闭

时间:2012-08-30 10:01:42

标签: wordpress http iptables dedicated-server

我的专用网络服务器存在一个特殊问题。它正在运行CentOS并使用PLESK通过网络进行管理。

在尝试更新wordpress中的插件以及wordpress本身时,我注意到了标题中的问题。当尝试更新插件或wordpress时,它会抛出这个错误:

“下载失败:无法连接到72.233.56.139:权限被拒绝”

我做的第一件事就是应用规则(在PLESK防火墙中)允许传入和传出流量到IP,但无济于事。我通过SSH连接到服务器并检查iptables进一步调查了这一点,iptables具有以下传出规则:

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02     reject-with tcp-reset
DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     udp  --  0.0.0.0/0            72.233.56.138
ACCEPT     tcp  --  0.0.0.0/0            72.233.56.138
ACCEPT     udp  --  0.0.0.0/0            72.233.69.88
ACCEPT     udp  --  0.0.0.0/0            72.233.69.89
ACCEPT     udp  --  0.0.0.0/0            66.135.58.62
ACCEPT     udp  --  0.0.0.0/0            66.135.58.61
ACCEPT     tcp  --  0.0.0.0/0            72.233.69.88
ACCEPT     tcp  --  0.0.0.0/0            72.233.69.89
ACCEPT     tcp  --  0.0.0.0/0            66.135.58.62
ACCEPT     tcp  --  0.0.0.0/0            66.135.58.61
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

其他IP用于Akismet反垃圾邮件过滤器,该过滤器也无效(无法连接到akismet服务器)。

我联系了我的主人他们调查了它,但我得到的答复是他们不知道(!)导致问题的原因并说我需要自己弄明白。

我尝试的第一件事就是停止iptables并打开所有内容,但我仍然会在传出流量上获得权限拒绝(传入是允许的,并且可以完美地运行,因为人们可以在我的博客上发表评论/垃圾邮件)。

有谁知道我可以尝试进一步解决这个问题?即使使用“iptables stop”完全(?)关闭防火墙,流量仍然被阻止似乎很奇怪。

3 个答案:

答案 0 :(得分:0)

采取此停止防火墙脚本;它有效。

#! /bin/bash

# In order to flush all iptables rules , Run the following commands :

/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -F
/sbin/iptables -t mangle -X
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT

答案 1 :(得分:0)

在所有事情中,我最终发现问题是由设置为“强制执行”的selinux引起的。我用

更改了它
# nano -w etc/sysconfig/selinux 

将“SELINUX = enforcing”行更改为“SELINUX = permissive”并重启我的服务器。现在一切都按预期工作了。

答案 2 :(得分:0)

我遇到了同样的问题,你的解决方案确实有效。但是,我在这里找到的解决方案https://unix.stackexchange.com/questions/8854/how-do-i-configure-selinux-to-allow-outbound-connections-from-a-cgi-script 能够修复它,而无需完全禁用SELinux防火墙功能。