Вопрос или проблема
Недавно мы обновили сервер DHCP с Windows 2003 на сервер DHCP3 на Ubuntu 10.04.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что клиенты Windows 7 теперь получают IPv6 адреса наряду с IPv4 адресами. Это создает запись AAAA на нашем сервере DNS Windows. Но когда я переключаюсь обратно на сервер DHCP Windows, адрес не назначается, и запись AAAA не создается на сервере DNS.
Я установил ddns-update-style none; и ignore client-updates
Я могу отключить IPv6 на самом компьютере, но я хотел бы выяснить, какая настройка не позволит DHCP назначать IPv6 адреса клиентам Windows 7 или отключить автоматическую настройку для IPv6 на ПК с Windows 7.
Спасибо.
authoritative; ddns-update-style none; log-facility local7; ignore client-updates; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.50 192.168.1.58; default-lease-time 86400; max-lease-time 86400; option routers 192.168.1.1; option ip-forwarding off; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.225; option domain-name-servers 192.168.1.2, 192.168.1.3; option domain-name "my.domain"; } host host1 { hardware ethernet FF:FF:FF:FF:FF; fixed-address 192.168.1.50; } host host2 { hardware ethernet AA:AA:AA:AA:AA; fixed-address 192.168.1.51; }
Удачи!
Запустите sudo netstat -lnp | fgrep :547
и убедитесь, что что-то работает на этом порту. Если нет, значит, вы не предоставляете адреса IPV6 с любого компьютера, который вы смотрите.
Если на этом порту что-то работает, и вы не можете выяснить, как это остановить, вы можете попробовать изменить /etc/services и изменить четыре записи dhcpv6 на неиспользуемый номер порта и перезапустить соответствующую программу. Программы, которые правильно вызывают getservbyname(), будут использовать указанный порт. DHCP сервер, работающий на неправильном порту, не сможет обслуживать никого.
Андерс правильно указывает, что компьютеры могут назначать свои собственные адреса уровня канала. У меня нет службы DHCP IPV6 в моей сети, и тем не менее у меня есть такие адреса.
wlan0 Link encap:Ethernet HWaddr 00:21:63:6d:2e:97 inet addr:192.168.1.34 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::221:63ff:fe6d:2e97/64 Scope:Link
Обратите внимание, что адрес канала начинается с fe80 и включает, с добавлением в середине, аппаратный адрес из первой строки, остальная часть – нули.
Если вы хотите выяснить, что может вызывать поведение Windows, вы можете использовать сниффер, такой как Wireshark, чтобы сравнить пакеты, отправляемые двумя серверами DHCP. У сервера DHCP3 также есть опция -tf
, которая должна сохранять его DHCP-трафик в файл.
Хм, тогда ваш dhcpd работает лучше, чем я ожидал. 😉
Вам действительно следует принять IPv6, потому что MS Windows, насколько я знаю, начнет туннель IPv6, когда находится в локальной сети без IPv6 (возможно, это недоразумение с моей стороны, я не специалист по MS). Легче всего контролировать это, настроив сеть IPv6 самостоятельно, тогда ваши машины MS Windows не начнут туннель.
И да, все современные операционные системы, даже MS Windows Vista, автоматически генерируют локальные IPv6 адреса, независимо от DHCP. Это часть соответствия стандарту IPv6. Итак, какие адреса получает ваш клиент и сервер Ubuntu? Нужно увидеть только сетевой префикс, который составляет не более первых 64 битов IPv6 адреса. Последние 64 бита могут быть построены на основе MAC-адреса компьютера, так что если вы параноик, замените их на x:es.
Вам следует/можно установить Wireshark на сервере Ubuntu, который запускает сервер dhcpd, и собирать весь трафик с/к портам вашего сервера dhcpd (их два). Затем вы сможете увидеть, что на самом деле отправляет сервер dhcpd вашим машинам MS Windows.
Если вы хотите изменить настройки запуска для сервера на вашем Ubuntu/Debian компьютере, посмотрите в каталоге /etc/defaults
подходящий файл. Также проверьте страницы man для опций, которые вы хотите отправить серверу при его запуске.
Ответ или решение
Проблема, с которой вы столкнулись при переходе с Windows 2003 DHCP-сервера на Ubuntu 10.04 DHCP3-сервер, заключается в том, что клиенты Windows 7 получают адреса IPv6, что создает нежелательные записи AAAA в вашей DNS. Давайте рассмотрим возможные причины и решения данной ситуации.
Причины и решение проблемы
-
Автоматическая настройка IPv6:
В современных операционных системах, включая Windows 7, процесс автоматической настройки IPv6 происходит независимо от наличия DHCPv6-сервера. Клиенты автоматически получают локальные адреса IPv6 (начинающиеся сfe80::
) на основе их MAC-адресов. Эта функциональность является частью спецификации IPv6.Чтобы полностью отключить получение адресов IPv6 на клиентских машинах, можно рассмотреть возможность отключения IPv6 в системных параметрах. Однако, если вас интересует именно отключение через DHCP-сервер, это потребует дополнительных действий.
-
Проверка на наличие DHCPv6-сервера:
Убедитесь, что на вашем сервере не запущен DHCPv6-сервер. Выполните команду:sudo netstat -lnp | fgrep :547
Если по этому порту ничего не запущено, значит, никакой DHCP-сервер для IPv6 не работает. В противном случае проверьте конфигурацию и отключите его, если он вам не нужен.
-
Конфигурация сервера DHCP:
В конфигурации вашего DHCP-сервера вы указали параметры, которые касаются только IPv4. Если вам нужно убедиться, что DHCP-сервер не предоставляет адреса IPv6, вам нужно будет проверить и настроить параметры запуска самого сервера. Например, вам может потребоваться отключить соответствующие строки в конфигурационных файлах. -
Изменение поведения Windows 7:
В настройках сети Windows 7 можно отключить автоматическое получение адресов IPv6.- В панели управления перейдите в "Центр управления сетями и общим доступом".
- Выберите "Изменение параметров адаптера".
- Кликните правой кнопкой мыши на активном сетевом соединении и выберите "Свойства".
- В списке протоколов снимите галочку с "Протокол Интернета версии 6 (TCP/IPv6)".
-
Анализ трафика:
Использование сетевого анализатора, такого как Wireshark, может помочь вам проверить, какие именно запросы DHCP посылаются клиентами в вашей сети. Сравнить пакеты, отправляемые Windows 7 при подключении по DHCP, а также вывод вашей конфигурации поможет лучше понять, что происходит в сети.
Заключение
Ситуация с получением IPv6-адресов на Windows 7 клиентах может быть вызвана несколькими факторами, включая автоматическую настройку IPv6 и наличие DHCP-сератора. Хотя полностью отключить IPv6 можно, рекомендую рассмотреть возможность его настройки для дальнейшего использования. Поддержка IPv6 будет только усиливаться в будущем, и обновление сетевой инфраструктуры может оказаться полезным. Чтобы решить проблему с ненужными записями в DNS, вам следует тщательно проанализировать конфигурацию сети и, если необходимо, внести корректировки на стороне клиентов.