Установка IPv4 в качестве предпочтительного протокола по IPv6

Я использую как IPv6, так и IPv4 в локальной сети, содержащей блоки Slackware 13.0. Как я могу установить IPv4 в качестве предпочтительного протокола на рабочих станциях в этой сети? Я хочу использовать IPv6 либо явно, либо когда доступны только записи AAAA. Например, если я попытаюсь открыть http://ipv6.org/ из Firefox, я всегда буду подключаться через IPv6. Ситуация такая же с другими приложениями. Я попытался создать /etc/gai.conf и добавить к нему следующее:

precedence ::ffff:0:0/96  100

Это должно контролировать поведение getaddrinfo(3) по крайней мере в Debian, но это не помогло в Slackware.

Любые идеи будут оценены. Заранее спасибо!

2 ответа

Решение

Согласно справочной странице, вставка precedence Значение в gai.conf отключает все остальные правила по умолчанию. Попробуйте установить все правила, перечисленные в RFC 3484 (10.3):

  Prefix        Precedence Label
  ::1/128               50     0
  ::/0                  40     1
  2002::/16             30     2
  ::/96                 20     3
  ::ffff:0:0/96        100     4

ipv6 на самом деле не моя область знаний, но на странице руководства для resolver(5) кажется, есть несколько вариантов в /etc/resolv.conf это может быть связано:

options inet6 наборы RES_USE_INET6 в _res.options, Это приводит к попытке запроса AAAA перед запросом A внутри gethostbyname(3) функции и отображения ответов IPv4 в "туннелированной форме" IPv6, если записи AAAA не найдены, но существует набор записей A.

Может быть, ваши клиенты имеют эту опцию?

Другие вопросы по тегам