我无法从 ubuntu 访问 Fedora 机器上的本地站点。在 Firefox 中我收到此错误:
连接超时
软呢帽iptables我添加了这一行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
也被禁用SELinux,但仍然无法连接。为什么?
输出netstat -tpln
:
Proto Recv-Q Send-Q 本地地址 外部地址 状态 PID/程序名称 tcp 0 0 0.0.0.0:3306 0.0.0.0:* 听 - tcp 0 0 0.0.0.0:139 0.0.0.0:* 听 - tcp 0 0 0.0.0.0:631 0.0.0.0:* 听 - tcp 0 0 127.0.0.1:25 0.0.0.0:* 听 - tcp 0 0 0.0.0.0:445 0.0.0.0:* 听 - tcp 0 0 :::139 :::* 听 - tcp 0 0 :::80 :::* 听 - tcp 0 0 :::631 :::* 听 - tcp 0 0 :::445 :::* 听 -
输出iptables -L -n -v
:
Chain INPUT(策略接受0个数据包,0个字节) pkts 字节目标 prot 选择输出源目标 9982 1956K 全部接受 -- * * 0.0.0.0/0 0.0.0.0/0 状态相关,已建立 0 0 REJECT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0 禁止 icmp 主机拒绝 0 0 拒绝 icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 拒绝 icmp 主机禁止 0 0 接受 icmp -- * * 0.0.0.0/0 0.0.0.0/0 139 9168 全部接受 -- lo * 0.0.0.0/0 0.0.0.0/0 20 16824 接受 udp -- * * 0.0.0.0/0 224.0.0.251 状态新 udp dpt:5353 0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 状态新 udp dpt:631 0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 状态 新 tcp dpt:631 0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 状态新 udp dpt:631 0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 状态新 udp dpt:137 0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 状态新 udp dpt:138 0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 状态 新 tcp dpt:139 5 355 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 状态 新 tcp dpt:445 0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 状态 新 tcp dpt:22 0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 状态 新 tcp dpt:80 87 4524 拒绝全部 -- * * 0.0.0.0/0 0.0.0.0/0 禁止 icmp 主机拒绝 Chain FORWARD(策略接受0个数据包,0个字节) pkts 字节目标 prot 选择输出源目标 0 0 拒绝全部 -- * * 0.0.0.0/0 0.0.0.0/0 拒绝 icmp 主机禁止 Chain OUTPUT(策略接受14997个数据包,16M字节) pkts 字节目标 prot 选择输出源目标
答案1
我需要在防火墙配置中打开端口 80:
firewall-cmd --permanent --add-service=http
答案2
Netstat 输出显示您仅接受使用 IPv6 的连接。您必须将服务器配置为也绑定到80
地址上的端口0.0.0.0
。
Fedora 附带了一个可用于配置防火墙的工具。避免直接弄乱 iptables。
答案3
您的 http 服务器仅在 IPv6 上的端口 80 上运行。这可能是您无法使用本地主机进行连接的原因。
在“/etc/hosts”中添加“localhost”主机名对应“::”IP地址
sudo vim /etc/hosts
:: localhost
现在您的 Firefox 将进行连接,因为如果检测到 IPv6 是首选连接方法。
或者,您可以启用 http 服务器同时侦听 IPv4 和 IPv6。