如何允许对防火墙端口的传出访问

如何允许对防火墙端口的传出访问

我正在做file_get_contents但是Connection refused

我使用以下命令允许从服务器 2 到服务器 1 的传出连接,反之亦然。但我仍然得到failed to open stream: Connection refused

iptables -A OUTPUT -p tcp -d 123.123.123.123 --dport 8983 -j ACCEPT
iptables -A INPUT  -p tcp -s 321.321.321.321 --dport 8983 -j ACCEPT

也许存在一些规则使得我无法file_get_contents在两个不同的服务器/ip 之间使用?

我想现在我会使用curl,但想知道这里什么不起作用......

答案1

您正在连接到目标上的端口 8983,因此您必须允许输出流量到该端口server 2,即:

iptables -A OUTPUT -p tcp -d 123.123.123.123 --dport 8983 -j ACCEPT

server 2通常,您还应该接受相关和已建立连接的传入流量:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

另外,不要忘记添加相应的规则server 1

iptables -A INPUT -p tcp -m tcp --dport 8983 -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

如果设置此规则后您仍然无法连接,则您可能被server 1和之间的中间防火墙阻止了server 2

如果不是这种情况,可能server 1是在 NAT 后面,您必须设置 NAT 路由器以将传入连接转发到 8983 到server 1该路由器后面的同一端口。

相关内容