我的一位客户无法通过 WGET 从任何网站下载任何内容。他在终端中没有收到任何错误消息。连接只是保持“正在连接”状态。它进行了 DNS IPV4 和 IPV6 解析,然后保持“正在连接”状态。
Linux 操作系统:Linux Mint(我以前在使用 RedHat Enterprise 时也遇到过这个问题)。
- 我检查了 Iptables 规则,然后完全禁用防火墙以消除任何怀疑(UFW)+清除所有 Iptables 规则。
- 检查 DNS(端口 53) - 全部设置正确。为了消除 ISP 阻止 WGET 的可能性,我设置了 Google DNS:8.8.8.8 和 8.8.4.4 - 用于 IPV4 和 2001:4860:4860::8888 和 2001:4860:4860::8844 - 用于 IPV6。
- 我检查了证书的有效性,一切都正确。但是连接仍然停留在“正在连接”状态,终端没有任何错误。
在我为所有用户声明 WGET 启用 IPV4 并禁用 IPV6 后,一切都立即开始正常工作,没有任何问题。WGET 立即连接!
sudo nano /etc/wgetrc
#Force IPV4 only
inet4_only = on
#Force IPV6 OFF
inet6_only = off
问题是:WGET 日志的位置在哪里?我很好奇日志指定了什么,以及它给出的 IPV6 连接被拒绝的原因是什么。
答案1
日志档案
WGET日志文件由参数指定-o
:
wget -r --tries=10 http://any.domain.xy/ -o log
您可以根据需要进行设置。
连接诊断
测试 TCP 端口 443(或 80 或您希望的任何其他端口)在远程端是否可用。使用netcat
或nc
工具:
IPv4 测试
nc -4zv www.seznam.cz 443
IPv6 测试
nc -6zv www.seznam.cz 443
具有可用 TCP 端口的正确响应是:
Connection to www.seznam.cz 443 port [tcp/https] succeeded!