Предпочитайте запросы DNS (IPv4) DNS до поиска AAAA (IPv6)

В уведомлении мой недавно установленный Ubuntu 10.10 всегда выполняет поиск AAAA DNS перед поиском записей. Есть ли способ, с помощью которого система может сначала выполнять поиск?

(В то время как в разных браузерах и других приложениях могут содержаться собственные резольверы, я говорю о них в glibc)

36
задан 28 March 2011 в 02:09

24 ответа

Моя проблема была такой же, у меня были IPV6-запросы, сделанные до IPV4, и они там, где тратили ресурсы, поэтому я изменил файл /etc/gai.conf, как опубликовал freddyb, но мой сценарий немного отличается, мой сервер Natted, поэтому IPv4 не будет иметь приоритет над IPv6 только с этой линией. Решение также комментирует другие строки в файле gai.conf, поэтому оно будет выглядеть так

#For sites which prefer IPv4 connections change the last line to precedence ::ffff:0:0/96 100 ... # For sites which use site-local IPv4 addresses behind NAT there is # the problem that even if IPv4 addresses are preferred they do not # have the same scope and are therefore not sorted first. To change # this use only these rules: # scopev4 ::ffff:169.254.0.0/112 2 scopev4 ::ffff:127.0.0.0/104 2 scopev4 ::ffff:0.0.0.0/96 14

Таким образом, ваш сервер будет пытаться использовать первый ipv4, даже если вы наттились!

7
ответ дан 25 July 2018 в 22:17
  • 1
    Файл /etc/gai.conf в Ubuntu 15.04 "яркий" говорит, что эти три строки scopev4, которые вы предлагаете выше, уже являются стандартными. Я сделал только однострочное изменение precedence ::ffff:0:0/96 100 и работал даже за NAT. – Ian D. Allen 4 June 2015 в 09:57

Стандарт для определения приоритетов IPv6 по протоколу IPv4 для разрешения IP следующего поколения:)

Вы можете изменить это, отредактировав блоки приоритетов в /etc/gai.conf (gai означает getaddrinfo, стандартный системный вызов для разрешения имен хостов). Просто закомментируйте строку, как описано в файле:

# Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на #precedence :: ffff: 0: 0/96 100

A подробное объяснение на gai.conf можно найти на странице руководства.

36
ответ дан 25 July 2018 в 22:17
  • 1
    спасибо, ты спас мой день! один из моих серверов продолжает получать результаты ipv6 с сервера DNS, но мой сервер просто не мог нормально работать w / ipv6 – Boon 21 November 2014 в 12:33
  • 2
    Привет, этот параметр требует перезагрузки системы sysctl или перезагрузки или перезагрузки? Я нашел ваш ответ полезным, но вы можете его отредактировать, чтобы исправить такие сомнения. – Marco 20 October 2017 в 11:16

Если вы не хотите, чтобы IPv6 включен вообще, вы можете отключить IPv6 для этого. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

, если нет, вы можете попробовать добавить

options single-request

В файл /etc/resolv.conf. (см. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html для подробностей gory)

1
ответ дан 25 July 2018 в 22:17
  • 1
    Страница руководства для resolv.conf указывает, что предлагаемая вами опция выполняет именно oposite & quot; Этот параметр [...] делает glibc последовательно выполнять запросы IPv6 и IPv4 (за счет некоторого замедления процесса разрешения). & Quot; - man7.org/linux/man-pages/man5/resolver.5.html – ndemou 28 September 2015 в 22:10
  • 2
    последовательный = первый, затем другой - в отличие от параллельного. он отлично работает здесь. – cweiske 21 February 2017 в 15:57

Моя проблема была такой же, у меня были IPV6-запросы, сделанные до IPV4, и они там, где тратили ресурсы, поэтому я изменил файл /etc/gai.conf, как опубликовал freddyb, но мой сценарий немного отличается, мой сервер Natted, поэтому IPv4 не будет иметь приоритет над IPv6 только с этой линией. Решение также комментирует другие строки в файле gai.conf, поэтому оно будет выглядеть так

#For sites which prefer IPv4 connections change the last line to precedence ::ffff:0:0/96 100 ... # For sites which use site-local IPv4 addresses behind NAT there is # the problem that even if IPv4 addresses are preferred they do not # have the same scope and are therefore not sorted first. To change # this use only these rules: # scopev4 ::ffff:169.254.0.0/112 2 scopev4 ::ffff:127.0.0.0/104 2 scopev4 ::ffff:0.0.0.0/96 14

Таким образом, ваш сервер будет пытаться использовать первый ipv4, даже если вы наттились!

7
ответ дан 26 July 2018 в 20:26
  • 1
    Файл /etc/gai.conf в Ubuntu 15.04 "яркий" говорит, что эти три строки scopev4, которые вы предлагаете выше, уже являются стандартными. Я сделал только однострочное изменение precedence ::ffff:0:0/96 100 и работал даже за NAT. – Ian D. Allen 4 June 2015 в 09:57

Стандарт для определения приоритетов IPv6 по протоколу IPv4 для разрешения IP следующего поколения:)

Вы можете изменить это, отредактировав блоки приоритетов в /etc/gai.conf (gai означает getaddrinfo, стандартный системный вызов для разрешения имен хостов). Просто закомментируйте строку, как описано в файле:

# Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на #precedence :: ffff: 0: 0/96 100

A подробное объяснение на gai.conf можно найти на странице руководства.

36
ответ дан 26 July 2018 в 20:26
  • 1
    спасибо, ты спас мой день! один из моих серверов продолжает получать результаты ipv6 с сервера DNS, но мой сервер просто не мог нормально работать w / ipv6 – Boon 21 November 2014 в 12:33
  • 2
    Привет, этот параметр требует перезагрузки системы sysctl или перезагрузки или перезагрузки? Я нашел ваш ответ полезным, но вы можете его отредактировать, чтобы исправить такие сомнения. – Marco 20 October 2017 в 11:16

Если вы не хотите, чтобы IPv6 включен вообще, вы можете отключить IPv6 для этого. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

, если нет, вы можете попробовать добавить

options single-request

В файл /etc/resolv.conf. (см. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html для подробностей gory)

1
ответ дан 26 July 2018 в 20:26
  • 1
    Страница руководства для resolv.conf указывает, что предлагаемая вами опция выполняет именно oposite & quot; Этот параметр [...] делает glibc последовательно выполнять запросы IPv6 и IPv4 (за счет некоторого замедления процесса разрешения). & Quot; - man7.org/linux/man-pages/man5/resolver.5.html – ndemou 28 September 2015 в 22:10
  • 2
    последовательный = первый, затем другой - в отличие от параллельного. он отлично работает здесь. – cweiske 21 February 2017 в 15:57

Моя проблема была такой же, у меня были IPV6-запросы, сделанные до IPV4, и они там, где тратили ресурсы, поэтому я изменил файл /etc/gai.conf, как опубликовал freddyb, но мой сценарий немного отличается, мой сервер Natted, поэтому IPv4 не будет иметь приоритет над IPv6 только с этой линией. Решение также комментирует другие строки в файле gai.conf, поэтому оно будет выглядеть так

#For sites which prefer IPv4 connections change the last line to precedence ::ffff:0:0/96 100 ... # For sites which use site-local IPv4 addresses behind NAT there is # the problem that even if IPv4 addresses are preferred they do not # have the same scope and are therefore not sorted first. To change # this use only these rules: # scopev4 ::ffff:169.254.0.0/112 2 scopev4 ::ffff:127.0.0.0/104 2 scopev4 ::ffff:0.0.0.0/96 14

Таким образом, ваш сервер будет пытаться использовать первый ipv4, даже если вы наттились!

7
ответ дан 2 August 2018 в 03:45
  • 1
    Файл /etc/gai.conf в Ubuntu 15.04 "яркий" говорит, что эти три строки scopev4, которые вы предлагаете выше, уже являются стандартными. Я сделал только однострочное изменение precedence ::ffff:0:0/96 100 и работал даже за NAT. – Ian D. Allen 4 June 2015 в 09:57

Стандарт для определения приоритетов IPv6 по протоколу IPv4 для разрешения IP следующего поколения:)

Вы можете изменить это, отредактировав блоки приоритетов в /etc/gai.conf (gai означает getaddrinfo, стандартный системный вызов для разрешения имен хостов). Просто закомментируйте строку, как описано в файле:

# Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на #precedence :: ffff: 0: 0/96 100

A подробное объяснение на gai.conf можно найти на странице руководства.

36
ответ дан 2 August 2018 в 03:45
  • 1
    спасибо, ты спас мой день! один из моих серверов продолжает получать результаты ipv6 с сервера DNS, но мой сервер просто не мог нормально работать w / ipv6 – Boon 21 November 2014 в 12:33
  • 2
    Привет, этот параметр требует перезагрузки системы sysctl или перезагрузки или перезагрузки? Я нашел ваш ответ полезным, но вы можете его отредактировать, чтобы исправить такие сомнения. – Marco 20 October 2017 в 11:16

Если вы не хотите, чтобы IPv6 включен вообще, вы можете отключить IPv6 для этого. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

, если нет, вы можете попробовать добавить

options single-request

В файл /etc/resolv.conf. (см. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html для подробностей gory)

1
ответ дан 2 August 2018 в 03:45
  • 1
    Страница руководства для resolv.conf указывает, что предлагаемая вами опция выполняет именно oposite & quot; Этот параметр [...] делает glibc последовательно выполнять запросы IPv6 и IPv4 (за счет некоторого замедления процесса разрешения). & Quot; - man7.org/linux/man-pages/man5/resolver.5.html – ndemou 28 September 2015 в 22:10
  • 2
    последовательный = первый, затем другой - в отличие от параллельного. он отлично работает здесь. – cweiske 21 February 2017 в 15:57

Моя проблема была такой же, у меня были IPV6-запросы, сделанные до IPV4, и они там, где тратили ресурсы, поэтому я изменил файл /etc/gai.conf, как опубликовал freddyb, но мой сценарий немного отличается, мой сервер Natted, поэтому IPv4 не будет иметь приоритет над IPv6 только с этой линией. Решение также комментирует другие строки в файле gai.conf, поэтому оно будет выглядеть так

#For sites which prefer IPv4 connections change the last line to precedence ::ffff:0:0/96 100 ... # For sites which use site-local IPv4 addresses behind NAT there is # the problem that even if IPv4 addresses are preferred they do not # have the same scope and are therefore not sorted first. To change # this use only these rules: # scopev4 ::ffff:169.254.0.0/112 2 scopev4 ::ffff:127.0.0.0/104 2 scopev4 ::ffff:0.0.0.0/96 14

Таким образом, ваш сервер будет пытаться использовать первый ipv4, даже если вы наттились!

7
ответ дан 4 August 2018 в 19:49
  • 1
    Файл /etc/gai.conf в Ubuntu 15.04 "яркий" говорит, что эти три строки scopev4, которые вы предлагаете выше, уже являются стандартными. Я сделал только однострочное изменение precedence ::ffff:0:0/96 100 и работал даже за NAT. – Ian D. Allen 4 June 2015 в 09:57

Стандарт для определения приоритетов IPv6 по протоколу IPv4 для разрешения IP следующего поколения:)

Вы можете изменить это, отредактировав блоки приоритетов в /etc/gai.conf (gai означает getaddrinfo, стандартный системный вызов для разрешения имен хостов). Просто закомментируйте строку, как описано в файле:

# Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на #precedence :: ffff: 0: 0/96 100

A подробное объяснение на gai.conf можно найти на странице руководства.

36
ответ дан 4 August 2018 в 19:49
  • 1
    спасибо, ты спас мой день! один из моих серверов продолжает получать результаты ipv6 с сервера DNS, но мой сервер просто не мог нормально работать w / ipv6 – Boon 21 November 2014 в 12:33
  • 2
    Привет, этот параметр требует перезагрузки системы sysctl или перезагрузки или перезагрузки? Я нашел ваш ответ полезным, но вы можете его отредактировать, чтобы исправить такие сомнения. – Marco 20 October 2017 в 11:16

Если вы не хотите, чтобы IPv6 включен вообще, вы можете отключить IPv6 для этого. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

, если нет, вы можете попробовать добавить

options single-request

В файл /etc/resolv.conf. (см. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html для подробностей gory)

1
ответ дан 4 August 2018 в 19:49
  • 1
    Страница руководства для resolv.conf указывает, что предлагаемая вами опция выполняет именно oposite & quot; Этот параметр [...] делает glibc последовательно выполнять запросы IPv6 и IPv4 (за счет некоторого замедления процесса разрешения). & Quot; - man7.org/linux/man-pages/man5/resolver.5.html – ndemou 28 September 2015 в 22:10
  • 2
    последовательный = первый, затем другой - в отличие от параллельного. он отлично работает здесь. – cweiske 21 February 2017 в 15:57

Моя проблема была такой же, у меня были IPV6-запросы, сделанные до IPV4, и они там, где тратили ресурсы, поэтому я изменил файл /etc/gai.conf, как опубликовал freddyb, но мой сценарий немного отличается, мой сервер Natted, поэтому IPv4 не будет иметь приоритет над IPv6 только с этой линией. Решение также комментирует другие строки в gai.conf, поэтому оно будет выглядеть так

  # Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на приоритет :: ffff: 0: 0/96  100 ... # Для сайтов, на которых используются локальные IPv4-адреса сайта за NAT, есть проблема, даже если IPv4-адреса предпочтительнее, они не имеют одинаковой области видимости и поэтому не сортируются в первую очередь.  Чтобы изменить #, используйте только следующие правила: # scopev4 :: ffff: 169.254.0.0/112 2 scopev4 :: ffff: 127.0.0.0/104 2 scopev4 :: ffff: 0.0.0.0/96 14  

Таким образом, ваш сервер попытается выполнить первый ipv4, даже если вы нацаражены!

7
ответ дан 6 August 2018 в 03:53

Если вы не хотите, чтобы IPv6 включен вообще, вы можете отключить IPv6 для этого. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

, если нет, вы можете попробовать добавить

  опции single-request  

В файл /etc/resolv.conf. (см. http://udrepper.livejournal.com/20948.html для подробностей gory)

1
ответ дан 6 August 2018 в 03:53

Стандарт для определения приоритетов IPv6 по протоколу IPv4 для разрешения IP следующего поколения:)

Вы можете изменить это, отредактировав блоки приоритетов в /etc/gai.conf (gai означает getaddrinfo , стандартный системный вызов для разрешения имен хостов). Просто закомментируйте строку, как описано в файле:

# Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на

#precedence :: ffff: 0: 0 / 96 100

Подробное объяснение в gai.conf можно найти на странице руководства.

36
ответ дан 6 August 2018 в 03:53

Стандарт для определения приоритетов IPv6 по протоколу IPv4 для разрешения IP следующего поколения:)

Вы можете изменить это, отредактировав блоки приоритетов в /etc/gai.conf (gai означает getaddrinfo , стандартный системный вызов для разрешения имен хостов). Просто закомментируйте строку, как описано в файле:

# Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на

#precedence :: ffff: 0: 0 / 96 100

Подробное объяснение в gai.conf можно найти на странице руководства.

36
ответ дан 7 August 2018 в 21:49

Если вы не хотите, чтобы IPv6 включен вообще, вы можете отключить IPv6 для этого. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

, если нет, вы можете попробовать добавить

  опции single-request  

В файл /etc/resolv.conf. (см. http://udrepper.livejournal.com/20948.html для подробностей gory)

1
ответ дан 7 August 2018 в 21:49

Моя проблема была такой же, у меня были IPV6-запросы, сделанные до IPV4, и они там, где тратили ресурсы, поэтому я изменил файл /etc/gai.conf, как опубликовал freddyb, но мой сценарий немного отличается, мой сервер Natted, поэтому IPv4 не будет иметь приоритет над IPv6 только с этой линией. Решение также комментирует другие строки в gai.conf, поэтому оно будет выглядеть так

  # Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на приоритет :: ffff: 0: 0/96  100 ... # Для сайтов, на которых используются локальные IPv4-адреса сайта за NAT, есть проблема, даже если IPv4-адреса предпочтительнее, они не имеют одинаковой области видимости и поэтому не сортируются в первую очередь.  Чтобы изменить #, используйте только следующие правила: # scopev4 :: ffff: 169.254.0.0/112 2 scopev4 :: ffff: 127.0.0.0/104 2 scopev4 :: ffff: 0.0.0.0/96 14  

Таким образом, ваш сервер попытается выполнить первый ipv4, даже если вы нацаражены!

7
ответ дан 7 August 2018 в 21:49

Если вы не хотите, чтобы IPv6 включен вообще, вы можете отключить IPv6 для этого. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

, если нет, вы можете попробовать добавить

  опции single-request  

В файл /etc/resolv.conf. (см. http://udrepper.livejournal.com/20948.html для подробностей gory)

1
ответ дан 10 August 2018 в 10:04

Стандарт для определения приоритетов IPv6 по протоколу IPv4 для разрешения IP следующего поколения:)

Вы можете изменить это, отредактировав блоки приоритетов в /etc/gai.conf (gai означает getaddrinfo , стандартный системный вызов для разрешения имен хостов). Просто закомментируйте строку, как описано в файле:

# Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на

#precedence :: ffff: 0: 0 / 96 100

Подробное объяснение в gai.conf можно найти на странице руководства.

36
ответ дан 10 August 2018 в 10:04

Моя проблема была такой же, у меня были IPV6-запросы, сделанные до IPV4, и они там, где тратили ресурсы, поэтому я изменил файл /etc/gai.conf, как опубликовал freddyb, но мой сценарий немного отличается, мой сервер Natted, поэтому IPv4 не будет иметь приоритет над IPv6 только с этой линией. Решение также комментирует другие строки в gai.conf, поэтому оно будет выглядеть так

  # Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на приоритет :: ffff: 0: 0/96  100 ... # Для сайтов, на которых используются локальные IPv4-адреса сайта за NAT, есть проблема, даже если IPv4-адреса предпочтительнее, они не имеют одинаковой области видимости и поэтому не сортируются в первую очередь.  Чтобы изменить #, используйте только следующие правила: # scopev4 :: ffff: 169.254.0.0/112 2 scopev4 :: ffff: 127.0.0.0/104 2 scopev4 :: ffff: 0.0.0.0/96 14  

Таким образом, ваш сервер попытается выполнить первый ipv4, даже если вы нацаражены!

7
ответ дан 10 August 2018 в 10:04

Если вы не хотите, чтобы IPv6 включен вообще, вы можете отключить IPv6 для этого. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

, если нет, вы можете попробовать добавить

  опции single-request  

В файл /etc/resolv.conf. (см. http://udrepper.livejournal.com/20948.html для подробностей gory)

1
ответ дан 13 August 2018 в 16:23
  • 1
    Страница руководства для resolv.conf указывает, что предлагаемая вами опция выполняет именно oposite & quot; Этот параметр [...] делает glibc последовательно выполнять запросы IPv6 и IPv4 (за счет некоторого замедления процесса разрешения). & Quot; - man7.org/linux/man-pages/man5/resolver.5.html – ndemou 28 September 2015 в 22:10
  • 2
    последовательный = первый, затем другой - в отличие от параллельного. он отлично работает здесь. – cweiske 21 February 2017 в 15:57

Стандарт для определения приоритетов IPv6 по протоколу IPv4 для разрешения IP следующего поколения:)

Вы можете изменить это, отредактировав блоки приоритетов в /etc/gai.conf (gai означает getaddrinfo , стандартный системный вызов для разрешения имен хостов). Просто закомментируйте строку, как описано в файле:

# Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на

#precedence :: ffff: 0: 0 / 96 100

Подробное объяснение в gai.conf можно найти на странице руководства.

36
ответ дан 13 August 2018 в 16:23
  • 1
    спасибо, ты спас мой день! один из моих серверов продолжает получать результаты ipv6 с сервера DNS, но мой сервер просто не мог нормально работать w / ipv6 – Boon 21 November 2014 в 12:33
  • 2
    Привет, этот параметр требует перезагрузки системы sysctl или перезагрузки или перезагрузки? Я нашел ваш ответ полезным, но вы можете его отредактировать, чтобы исправить такие сомнения. – Marco 20 October 2017 в 11:16
  • 3

Моя проблема была такой же, у меня были IPV6-запросы, сделанные до IPV4, и они там, где тратили ресурсы, поэтому я изменил файл /etc/gai.conf, как опубликовал freddyb, но мой сценарий немного отличается, мой сервер Natted, поэтому IPv4 не будет иметь приоритет над IPv6 только с этой линией. Решение также комментирует другие строки в gai.conf, поэтому оно будет выглядеть так

  # Для сайтов, которые предпочитают подключения IPv4, изменить последнюю строку на приоритет :: ffff: 0: 0/96  100 ... # Для сайтов, на которых используются локальные IPv4-адреса сайта за NAT, есть проблема, даже если IPv4-адреса предпочтительнее, они не имеют одинаковой области видимости и поэтому не сортируются в первую очередь.  Чтобы изменить #, используйте только следующие правила: # scopev4 :: ffff: 169.254.0.0/112 2 scopev4 :: ffff: 127.0.0.0/104 2 scopev4 :: ffff: 0.0.0.0/96 14  

Таким образом, ваш сервер попытается выполнить первый ipv4, даже если вы нацаражены!

7
ответ дан 13 August 2018 в 16:23
  • 1
    Файл /etc/gai.conf в Ubuntu 15.04 "яркий" говорит, что эти три строки scopev4 , которые вы предлагаете выше, уже по умолчанию. Я сделал только однострочный приоритет :: ffff: 0: 0/96 100 изменения и это работало даже за NAT. – Ian D. Allen 4 June 2015 в 09:57

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

Похожие вопросы: