Linux:阻止某些应用程序/主机名的IPv6
问题和目标 我们没有从我们的ISP获得IPv6,因此我有一个IPv6隧道工作正常但当然不是很快.并不是真的可靠.我希望“以防万一”提供IPv6,但我希望某些主机(域)仅与IPv4连接. 默认协议 在我看来,所有应用程序都首先尝试IPv6;这可能是一个glibc设置.如果违反此默认值(对于所有应用程序),我会没事的. Netfilter的 使用Netfilter阻止IPv6地址/网络是可能的,但有两个问题: >当应用程序在尝试IPv4之前等待IPv6超时时,是否会导致延迟? 我只是注意到ip route的手册页说的路由类型无法访问:
Netfilter DROPs或REJECTs会发生同样的情况吗?这样的错误不应导致相关的延迟. DNS过滤 另一种解决方案(如果可能的话,相当简单)可以过滤某些域的AAAA记录.如果这不是(轻松)可能:是否可以连接DNS服务器和Netfilter,以便我知道“IP地址X属于域Y”,以便我可以将其添加到Netfilter?还有什么比记录所有东西和点击日志更优雅? 要走的路? 有哪些(其他)可能性,最简单的是什么? 解决方法您可以使用/etc/gai.conf 控制地址选择.配置文件已有详细记录,并且已包含默认值,因此您可以开始调整.
这里有趣的默认值是: label ::1/128 0 label ::/0 1 label 2002::/16 2 label ::/96 3 label ::ffff:0:0/96 4 precedence ::1/128 50 precedence ::/0 40 precedence 2002::/16 30 precedence ::/96 20 precedence ::ffff:0:0/96 10 最后一行给出了所有IPv4地址的最低优先级. 如果要为所有IPv4提供更高的首选项,可以将其更改为: precedence ::ffff:0:0/96 100 如果您只想对特定的IPv4地址或块提供更高的优先级,您也可以指定它们.请记住,您必须使用十六进制的IPv4映射IPv6. 因此,要优先考虑所有IPv6的203.0.113.0/24,您需要添加: label ::ffff:cb00:7100/120 5 precedence ::ffff:cb00:7100/120 100 重新启动运行的应用程序,让他们获取您所做的更改. 在Debian派生系统上,/ etc / gai.conf已经存在.在Red Hat派生系统上,它不存在,但是示例文件位于/usr/share/doc/glibc-common-*/gai.conf;只需将其复制到/ etc. (编辑:大庆站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |