因此,我尝试在 centos 6.8 上设置太空行走服务器,但它在重新启动服务以安装 cobbler 时一直挂起。它会一直运行,而不会取得任何进展。最后,我将输入和输出的 iptables 策略更改为接受,安装过程终于成功完成。但我对此并不满意。我希望能够成功安装太空行走,而不必接受所有连接,除了那些真正需要太空行走才能工作的连接。请记住,我对服务器和 iptables 完全是新手,所以我对这些混乱的政策感到抱歉 :(
这些是我的政策:
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
-A INPUT -p udp -m udp --dport 69 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5269 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5222 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 69 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
编辑:TLDR 我需要打开环回接口的连接
对于遇到过同样问题的人:我添加了 Diogenes 告诉我的 cobbler 端口。不幸的是,这并没有解决问题。根据他的第二个建议,我尝试使用不起作用的 iptables 配置进行安装,并使用“netstat -aln”并将其保存到文件中。然后我将策略更改为 ACCEPT 并成功安装了 spacewalk 并再次运行 netstat。然后我拿出两个文件并进行比较,发现问题是 127.0.0.1 无法正常通信。一旦我将接口添加到 iptables,spacewalk 就会使用我想要的 iptable 配置成功安装(包括默认的 DROP 策略)。
答案1
看起来 Cobbler 需要端口 25150 和 25151。根据 Cobbler 参考指南,第 11.1.1 节(使用 Cobbler 检查):
iptables — 将提醒您,如果您正在运行 IPTables 防火墙,则您已设置规则以允许端口 69(TFTP)、80(HTTPD)、25150 和 25151(Cobbler)。
在您的系统上以 root 身份运行 cobbler check 命令,查看需要启用哪些设置和服务才能在启动服务器上正确运行 Cobbler。
暂时禁用防火墙规则后,您可以使用 netstat -aln 或 lsof -i 列出已附加侦听器的端口。这可能会显示需要为正在运行的服务打开的其他端口。