我正在使用 20.04 LTS,但突然无法浏览 IP 地址为 IPv6 的网站,例如 (hepsiburada.com)。
甚至 apt update 命令也不再起作用,因为 Launchpad 正在重定向到 IPv6 地址:
W: Couldn't get http://ppa.launchpad.net/ubuntubudgie/backports/ubuntu/dists/focal/InRelease ppa.launchpad.net:80 (2001:67c:1560:8008::19). - connect (101: Network is unreachable)
还:
$ ping ipv6.google.com
ping: connect: Network is unreachable
但是,我可以顺利浏览所有其他 IPv4 网站,没有任何问题。
可能是什么问题?
更新:我已经已识别apt 问题与 HTTPS 或证书问题有关,因此听起来它不完全是 IPv6 问题。我的 ISP 被发现不支持 IPv6 地址。不过,正如我在评论中所说,我无法浏览和和等网站hepsiburada.com
,yurticikargo.com
甚至suratkargo.com.tr
Google 有时也无法加载。
/etc/grub/default
:
# 如果你更改了此文件,请随后运行“update-grub”进行更新 #/boot/grub/grub.cfg。 # 有关此文件中选项的完整文档,请参阅: # info -f grub -n ‘简单配置’ GRUB_DEFAULT=0 GRUB_TIMEOUT_STYLE=隐藏 GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 静默启动 nvme_core.default_ps_max_latency_us=0" GRUB_CMDLINE_LINUX="" # 取消注释以启用 BadRAM 过滤,修改以满足您的需求 # 这适用于 Linux(无需补丁)以及任何获得 # 来自 GRUB(GNU Mach、FreeBSD 的内核...)的内存映射信息 #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # 取消注释以禁用图形终端(仅限 grub-pc) #GRUB_TERMINAL=控制台 # 图形终端使用的分辨率 # 请注意,您只能使用您的显卡通过 VBE 支持的模式 # 您可以使用命令“vbeinfo”在真实的 GRUB 中看到它们 #GRUB_GFXMODE=640x480 # 如果不希望 GRUB 将“root=UUID=xxx”参数传递给 Linux,请取消注释 #GRUB_DISABLE_LINUX_UUID=true # 取消注释以禁用恢复模式菜单项的生成 #GRUB_DISABLE_RECOVERY="真" # 取消注释以便在 grub 启动时听到哔声 #GRUB_INIT_TUNE="480 440 1"
/etc/gai.conf
:
# getaddrinfo(3) 的配置。 # # 到目前为止,只需要对目标地址排序进行配置。 # RFC 3484 规定了排序。但 RFC 还规定系统 # 管理员应该能够覆盖默认值。这可以是 # 在这里实现。 # # 每一行都有一个初始标识符,指定后面跟着的选项 # 最多两个值。此文件中指定的信息将取代 # 默认信息。一种数据的完全缺失会导致 # 适当的默认信息将被使用。支持的命令包括: # # 重新加载 # 如果设置为是,则每个 getaddrinfo(3) 调用都会检查此文件 # 更改,如有必要,重新加载。此选项实际上不应该 # 使用。可能存在运行时问题。默认为否。 # # 标签 # 向 RFC 3484 标签表添加另一条规则。请参阅 #RFC 3484. 默认值为: # #标签 ::1/128 0 #标签 ::/0 1 #标签 2002::/16 2 #标签 ::/96 3 #标签 ::ffff:0:0/96 4 #标签 fec0::/10 5 #标签 fc00::/7 6 #标签 2001:0::/32 7 # # 此默认值与 RFC 3484 中给出的表格不同,处理方式如下 #(现已过时)站点本地 IPv6 地址和唯一本地地址。 # 造成这种差异的原因是这些地址永远不会 # NAT 而 IPv4 站点本地地址很可能是 NAT。鉴于 # 在仅具有 IPv6 的机器上,IPv6 优先于 IPv4(见下文) # 站点本地 IPv4 和 IPv6 地址查找全局地址 # 看到 IPv6 是首选。结果是长时间延迟,因为 # 当 IPv4 地址为 #(至少在可预见的未来)NATed。我们还将Teredo # 隧道特殊。 # # 优先级 # 向 RFC 3484 优先级表添加另一条规则。请参阅第 2.1 节 # 和 RFC 3484 中的 10.3。默认值为: # #优先级::1/128 50 #优先级 ::/0 40 #优先级 2002::/16 30 #优先级 ::/96 20 #优先级 ::ffff:0:0/96 10 # # 对于首选 IPv4 连接的站点,将最后一行更改为 # #优先级 ::ffff:0:0/96 100 # # 范围v4 # 向 RFC 6724 IPv4 地址范围表添加另一条规则。 # 默认情况下,RFC 6724 第 3.2 节中描述的范围 ID 是 # 已使用。几乎不需要更改这些默认值。 # 默认值相当于: # #scopev4 ::ffff:169.254.0.0/112 2 #scopev4 ::ffff:127.0.0.0/104 2 #scopev4 ::ffff:0.0.0.0/96 14 优先级 ::ffff:0:0/96 100
/etc/sysctl.conf
:
# # /etc/sysctl.conf - 设置系统变量的配置文件 # 查看 /etc/sysctl.d/ 以了解更多系统变量。 # 查看 sysctl.conf (5) 了解信息。 # #kernel.domainname = example.com # 取消注释以下内容以停止控制台上的低级消息 #内核.printk = 3 4 1 3 ################################################################3 # 之前在 netbase 中找到的函数 # # 取消注释接下来的两行以启用欺骗保护(反向路径过滤器) # 在所有接口上开启源地址验证 # 防止一些欺骗攻击 #net.ipv4.conf.默认.rp_filter=1 #net.ipv4.conf.all.rp_filter=1 # 取消注释下一行以启用 TCP/IP SYN cookies # 参见http://lwn.net/Articles/277146/ # 注意:这也可能会影响 IPv6 TCP 会话 #net.ipv4.tcp_syncookies=1 # 取消注释下一行以启用 IPv4 数据包转发 #net.ipv4.ip_forward=1 # 取消注释下一行以启用 IPv6 数据包转发 # 启用此选项将禁用无状态地址自动配置 # 根据此主机的路由器通告 #net.ipv6.conf.全部转发=1 ################################################################### # 附加设置 - 这些设置可以改善网络 # 主机的安全并防止一些网络攻击 # 包括欺骗攻击和中间人攻击 # 重定向。但是,有些网络环境要求这些 # 设置已被禁用,因此请根据需要检查并启用它们。 # # 不接受 ICMP 重定向(防止 MITM 攻击) #net.ipv4.conf.all.accept_redirects = 0 #net.ipv6.conf.all.accept_redirects = 0 # _或者_ # 仅接受默认网关列出的 ICMP 重定向 # 网关列表(默认启用) #net.ipv4.conf.all.secure_redirects = 1 # # 不发送 ICMP 重定向(我们不是路由器) #net.ipv4.conf.all.send_redirects = 0 # # 不接受 IP 源路由数据包(我们不是路由器) #net.ipv4.conf.all.accept_source_route = 0 #net.ipv6.conf.all.accept_source_route = 0 # # 记录 Martian 数据包 #net.ipv4.conf.all.log_martians = 1 # ################################################################### # 魔法系统请求密钥 # 0=禁用,1=启用全部,>1 sysrq 功能的位掩码 # 参见 https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html # 其他值的作用 #内核.sysrq=438 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.默认.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
更新 2:因此,经过调查,发现这个问题与 IPv6 无关。是的,我的网络不支持 IPv6,但看起来我的 ISP 存在其他问题,这与 Ubuntu 无关,因为我在使用相同网络的 Android 手机上也遇到了同样的问题。
感谢每一位提供帮助和建议的人,很抱歉因为一个错误的问题而打扰您。
答案1
以下几点可能会有所帮助。如果您及时发布反馈,解决问题的机会就会增加。
可能的解决方案/尝试的方法
编辑如果您的计算机是便携式的,请尝试从其他位置执行相同操作。这显示一个案例相似的症状和你的一样,问题根源是硬件。或者你可以使用你的手机作为 USB 网络共享设备。
编辑与上述相同,来自具有支持 IPV6 并已启用该功能的 ISP/路由器组合的地方。
抑制 IPV6(如果 IPV6 确实不可用则有必要)
1.1. 将
ipv6.disable=1
的值添加到中GRUB_CMDLINE_LINUX_DEFAULT
(通常具有 的值"quiet splash"
)grub
。使用$ sudo nano /etc/default/grub <EDIT>, <SAVE> $ sudo update-grub
1.2. 重新启动。
抑制 IPV6。附加到
/etc/gai.conf
以下行:precedence ::ffff:0:0/96 100
如果存在则取消注释。
禁止 IPV6 (来源)。使用(我不确定是否需要最后一个命令)
$ sudo nano /etc/sysctl.conf <EDIT>, <ADD LINES BELOW>, <SAVE> net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 $ sudo sysctl --load $ sudo systemctl restart networking
仅抑制 IPV6 。运行时
apt-get
添加。或者将其设为永久的,如下所示-o Acquire::ForceIPv4=true
apt-get
这里。
额外有用信息
请在问题中发布以下命令的输出
cat /etc/default/grub
cat /etc/gai.conf
cat /etc/sysctl.conf
- 编辑
cat /etc/apt/sources.list
- 编辑
inxi -N
- 编辑
lspci -knn | grep Net -A2
请添加以下几点信息
- 您提到“突然间我无法浏览 IP 地址为 IPv6 的网站”。您以前能浏览这些网站吗?使用您现在无法浏览的相同软件和硬件?您能确定两者之间有什么变化吗?
- 编辑您的计算机的品牌/型号。
- 编辑上述第 1 项和第 2 项(重新编号)的结果。
有关的
答案2
尝试从 中删除iface eth0 inet dhcp
和。如果可用,网络管理器将收到 IPv6 地址。iface eth0 inet6 dhcp
/etc/network/interfaces
如果您必须在 /etc/network/interfaces 中使用手动配置,则 IPv6 的正确设置将是,iface eth0 inet6 auto
因为在许多情况下路由器上不使用 DHCPv6。最常见的是 SLAAC 配置。
答案3
首先通过在终端中运行以下命令来检查系统上是否禁用了 IPv6:
ip a | grep -i inet6
如果该命令的输出为空白,则表示 IPv6 已禁用,需要重新启用。如果不是空白,则表示您的系统已启用 IPv6,问题可能出在路由器或提供商级别。您可以通过运行以下命令来启用 IPv6:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
sudo sysctl -p
答案4
所以……事实证明,这不是 IPv6 问题。原来是我的 ISP 在连接这些网站(和其他网站)时遇到了一些奇怪的问题,所以我联系了他们,他们从他们的角度修复了问题。现在一切都正常了。
感谢所有提供帮助的人,很抱歉浪费了你们的时间。