Problème et objectif
Nous n'obtenons pas IPv6 de notre FAI, j'ai donc un tunnel IPv6 qui fonctionne bien mais qui, bien sûr, n'est pas très rapide. Et pas vraiment fiable. J'aime avoir IPv6 disponible "juste au cas où" mais je veux que certains hôtes (domaines) soient connectés avec IPv4 uniquement.
Protocole par défaut
Il me semble que toutes les applications essaient d'abord IPv6; il s'agit probablement d'un paramètre glibc. Je serais bien si ce défaut était inversé (pour toutes les applications).
Netfilter
Il serait possible de bloquer les adresses / réseaux IPv6 avec Netfilter mais il y a deux problèmes:
- Cela entraînerait-il un retard lorsque l'application attend un délai IPv6 avant d'essayer IPv4?
- Certains domaines semblent être mixtes, cela ressemble à du chaos. Séparer google.com et youtube.com semble être quelque chose que vous ne voulez pas faire si vous pouvez l'éviter.
Je note simplement que la page de manuel de ip route
indique le type de routage unreachable
:
Les expéditeurs locaux obtiennent une erreur EHOSTUNREACH.
Est-ce la même chose avec les DROP ou REJETS de Netfilter? Une telle erreur ne devrait pas entraîner de retard significatif.
Filtrage DNS
Une autre solution (plutôt facile si possible) serait de filtrer les enregistrements AAAA pour certains domaines. Si ce n'est pas (facilement) possible: est-il possible de connecter le serveur DNS et Netfilter pour que je sache que "l'adresse IP X appartient au domaine Y" afin de pouvoir l'ajouter à Netfilter? Quelque chose de plus élégant que de tout enregistrer et de saluer le journal?
Le chemin à parcourir?
Quelles (autres) possibilités existent et quelle est la plus simple?