小编Hau*_*ing的帖子

Linux:为某些应用程序/主机名阻止 IPv6

问题与目标

我们没有从我们的 ISP 获得 IPv6,因此我有一个 IPv6 隧道,它工作正常,但当然不是很快。而且不是很可靠。我喜欢“以防万一”提供 IPv6,但我希望某些主机(域)仅与 IPv4 连接。

默认协议

在我看来,所有应用程序都首先尝试 IPv6;这可能是 glibc 设置。如果这个默认值被反转(对于所有应用程序),我会很好。

网络过滤器

可以使用 Netfilter 阻止 IPv6 地址/网络,但有两个问题:

  1. 当应用程序在尝试 IPv4 之前等待 IPv6 超时时,这会导致延迟吗?
  2. 有的域似乎混杂,看起来像混沌。如果可以避免,将 google.com 和 youtube.com 分开似乎是您不想做的事情。

我只是注意到手册页ip route说的是路由类型unreachable

本地发件人收到 EHOSTUNREACH 错误。

Netfilter DROP 或 REJECT 是否也会发生同样的情况?此类错误不应导致相关延迟。

DNS过滤

另一种解决方案(如果可能的话,相当简单)是过滤某些域的 AAAA 记录。如果这不是(很容易)可能:是否可以连接 DNS 服务器和 Netfilter,以便我知道“IP 地址 X 属于域 Y”,以便我可以将其添加到 Netfilter?有什么比记录所有内容和 grep 日志更优雅的事情吗?

要走的路?

有哪些(其他)可能性,什么是最简单的?

domain-name-system linux iptables ipv6 glibc

8
推荐指数
2
解决办法
2048
查看次数

标签 统计

domain-name-system ×1

glibc ×1

iptables ×1

ipv6 ×1

linux ×1