|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (11)
просмотр истории страницы{tip}{*}Время выполнения инструкции*: 20-30 60-120 минут{tip} |
{toc} |
h2. Организация постоянных пакетов с запросом адреса |
h2. Организация тестовой станции Windows |
В Windows создать bat файл с содержимым: |
... |
{note} |
h2. Отладка получения IP адреса |
|
Проверьте, что dhcp-сервер [настроен|DHCP]. В примере использованы: * *Сервер* - 198.51.100.10 * *Клиент* - 198.51.100.20 h3. DHCP в широковещательном домене # Просмотрите трафик на сетевом интерфейсе настроенном на приём DHCP запросов: {code} tcpdump -pnnei eth0 port 67 or port 68 {code} Вывод команды будет выглядеть следующим образом. В примере показан законченный dhcp диалог. {code} 10:37:00.623329 08:00:27:97:c8:3c > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 350: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 08:00:27:97:c8:3c, length 308 10:37:00.628647 08:00:27:ee:21:c8 > 08:00:27:97:c8:3c, ethertype IPv4 (0x0800), length 342: 198.51.100.10.67 > 198.51.100.20.68: BOOTP/DHCP, Reply, length 300 10:37:00.632202 08:00:27:97:c8:3c > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 08:00:27:97:c8:3c, length 300 10:37:00.632403 08:00:27:ee:21:c8 > 08:00:27:97:c8:3c, ethertype IPv4 (0x0800), length 342: 198.51.100.10.67 > 198.51.100.20.68: BOOTP/DHCP, Reply, length 300 {code} Если вывод команды пуст, значит пакеты не доходят до интерфейса биллинга. Проверьте настройки вашей сети. {info} Если в широковещательном домене несколько dhcp клиентов, удобно отфильтровать пакеты тестовой станции по mac адресу: {code} tcpdump -pnnei eth0 '(port 67 or port 68) and ether host 08:00:27:97:c8:3c' {code} {info} # Просмотрите запрос адреса в логе DHCP сервера: #* Удалите данные по выданным адресам, чтобы они были взяты из конфигурационного файла: {code} rm -f /app/collector/var/lib/dhcpd/* {code} Перезапустите DHCP сервер: {code} chroot /app/collector/ service dhcpd restart {code} Проследите за логом DHCP сервера: {code} tail -f /app/collector/var/log/messages {code} #* Законченный dhcp диалог в логе сервера выглядит так: {code} Jul 12 10:30:11 localhost dhcpd: DHCPDISCOVER from 08:00:27:97:c8:3c (windows07) via eth0 Jul 12 10:30:11 localhost dhcpd: DHCPOFFER on 198.51.100.20 to 08:00:27:97:c8:3c (windows07) via eth0 Jul 12 10:30:11 localhost dhcpd: Jul 12 10:30:11 localhost dhcpd: DHCPREQUEST for 198.51.100.20 (198.51.100.10) from 08:00:27:97:c8:3c (windows07) via eth0 Jul 12 10:30:11 localhost dhcpd: DHCPACK on 198.51.100.20 to 08:00:27:97:c8:3c (windows07) via eth0 {code} # Проверьте, что *DHCPOFFER* доходит до абонента. То есть абонент получает выданный адрес. ## Посмотрите лог DHCP сервера: {code} tail -f /app/collector/var/log/messages | fgrep -i dhcpd {code} ## Если видим, что на запрос IP адреса DHCPDISCOVER биллинг отвечает DHCPOFFER и на этом dhcp диалог по этому абоненту заканчивается и начинается снова, значит DHCPOFFER до абонента от биллинга не доходит. {code} Jul 12 10:30:11 localhost dhcpd: DHCPDISCOVER from 08:00:27:97:c8:3c (windows07) via eth0 Jul 12 10:30:11 localhost dhcpd: DHCPOFFER on 198.51.100.20 to 08:00:27:97:c8:3c (windows07) via eth0 Jul 12 10:31:00 localhost dhcpd: DHCPDISCOVER from 08:00:27:97:c8:3c (windows07) via eth0 Jul 12 10:31:00 localhost dhcpd: DHCPOFFER on 198.51.100.20 to 08:00:27:97:c8:3c (windows07) via eth0 {code} ## Возможные причины: #* На промежуточном коммутаторе настроен dhcp-snooping; #* Проблема в настройках клиентской станции. h3. DHCP-relay Отладка проходит так же, как в широковещательном домене. Нужно убедиться, что relay доступен по IP для биллинга. h3. Возможные ошибки h4. ignored (unknown subnet) {code:title=лог /app/collector/var/log/messages} Oct 7 07:02:04 Optimaset dhcpd: DHCPREQUEST for 10.90.163.133 from b0:be:76:6a:b3:55 via 10.90.163.129: ignored (unknown subnet). {code} Ошибка может возникать при выдаче IP-адреса абоненту, который подключен через dhcp-relay. Требуется проверить, что в файле конфигурации DHCP */app/collector/etc/dhcp/dhcpd.conf* есть запись об этой подсети. {code:title=Запрос для проверки}grep '10.90.163.128' /app/collector/etc/dhcp/dhcpd.conf{code} Если записи нет в списке, а в *http://ip-биллинга:8081/settings/collector/dhcp_subnets/* запись существует, требуется изменить, например, dns и нажать кнопку "Сохранить" внизу страницы. После этого вновь убедиться, что конфигурационный файл dhcp сервера создан корректно, со всеми сетями. h4. unknown network segment {code:title=лог /app/collector/var/log/messages} Jan 10 19:27:19 carbon dhcpd: DHCPDISCOVER from 34:0a:98:88:7a:d8 via 10.10.10.1: unknown network segment {code} Ошибка может возникать при выдаче IP-адреса абоненту, который подключен через dhcp-relay или запрос проходит несколько релеев. Убедитесь, что для IP релея, с которого поступает запрос (в примере 10.10.10.1) заведена подсеть. Можно добавить подсеть только на IP релея, например "10.10.10.1/32", если адреса для абонентов принаджежат другой подсети. h2. Отладка opt82 # Для исключения сетевых проблем проведите [отладку получения IP адреса|Отладка DHCP#Отладка получения IP адреса]; # Проверьте, что *отключена* опция [OPT 82. Создавать статические mac привязки вместо vlan+port|DHCP#Настройка Option 82]; |
# Настройте на коммутаторе релей и OPT82; # В учётной записи абонента укажите MAC. {note} |
Не ставьте галочку opt82. Эту опцию поставим после того как отладим прием opt82 от коммутатора. |
Галочку opt82 оставьте *пустой*. Поставим её после того, как отладим прием opt82 от коммутатора. |
{note} # Просмотрите лог dhcp сервера. В логе виден запрос на получение адреса и дальнейшая его обработка. DHCP сервер последовательно проходит по всем [типам коммутаторов|Добавление коммутаторов и их типов в биллинг] и разбирает DHCP указанными в них функциями. В конечном счёте адрес выдаётся по MAC адресу. |
... |
May 19 14:01:32 TestBill dhcpd: DHCPACK on 192.0.2.2 to aa:bb:cc:dd:ee:ff via 198.51.100.10 {code} |
# Убедитесь, что биллинг разбеирает данные из opt82 DHCP запроса верно; |
# Заполните поля opt82 учётной записи. Установите галочку opt82. Биллинг сгенерирует конфигурационный файл dhcpd. {code} |
... |
{code} |
# Проверьте, что клиентская станция получает адрес. Видно, что был применён тип коммутатора *Cisco2950*. |
{code} |
May 19 15:34:30 Avetel dhcpd: DHCPREQUEST for 192.0.2.2 (198.51.100.20) from aa:bb:cc:dd:ee:ff (Cisco2950) (TestPC) via 198.51.100.10 |
May 19 15:34:30 Avetel dhcpd: DHCPACK on 192.0.2.2 to aa:bb:cc:dd:ee:ff (Cisco2950) (TestPC) via 198.51.100.10 |
{code} |