Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   [решено] Проблема с DHCP (http://forum.oszone.net/showthread.php?t=126730)

mss_sarvarbek 22-12-2008 18:28 987332

Проблема с DHCP
 
Привет всем. Помогите найти ошибку. Никак не могу настроит DHCP . Вот настройки с файла dhcpd.conf:

default-lease-time 600; #
max-lease-time 7200; #
ddns-update-style none; #
subnet 192.168.0.0 netmask 255.255.255.0 { # Orendator
range 192.168.0.240 192.168.0.245; #
option routers 192.168.0.253; # IP router
}


Клиенты в системе Windows. Даемон DHCP нормально запускается. Но клиент не получает адрес... С помошью tcpdump -i sk0 -n следил вс потоком там по моему что то есть, но никак не могу разбиратся. Вот кусок лога (обратите внимание там есть МАС адрем клиента. Проверено, это точно Windows ский сетевуха.)

23:59:21.734355 arp who-has 192.168.0.3 tell 192.168.0.242
23:59:22.504219 arp who-has 192.168.0.3 tell 192.168.0.243
23:59:23.087858 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:1b:fc:ff:fe:e3, length 300
23:59:23.088050 arp who-has 192.168.0.245 tell 192.168.0.237
23:59:24.037080 IP 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300
23:59:24.644666 IP 192.168.0.112.1058 > 255.255.255.255.1234: UDP, length 204
23:59:27.207592 arp who-has 192.168.0.3 tell 192.168.0.243
23:59:28.087397 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:1b:fc:ff:fe:e3, length 300
23:59:28.087622 IP 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300
23:59:30.715713 arp who-has 192.168.0.3 tell 192.168.0.242
23:59:31.779743 arp who-has 192.168.0.4 tell 192.168.0.251
23:59:31.779768 arp who-has 192.168.0.5 tell 192.168.0.251
23:59:31.779772 arp who-has 192.168.0.6 tell 192.168.0.251
23:59:31.779775 arp who-has 192.168.0.3 tell 192.168.0.251
23:59:34.647021 IP 192.168.0.112.1058 > 255.255.255.255.1234: UDP, length 204
23:59:34.954167 IP 192.168.0.246.137 > 192.168.0.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
23:59:35.703864 IP 192.168.0.246.137 > 192.168.0.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
23:59:36.087997 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:1b:fc:ff:fe:e3, length 300
23:59:36.088215 IP 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300
23:59:36.453958 IP 192.168.0.246.137 > 192.168.0.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
23:59:39.536316 arp who-has 192.168.0.3 tell 192.168.0.243
23:59:41.779906 arp who-has 192.168.0.4 tell 192.168.0.251
23:59:41.779921 arp who-has 192.168.0.5 tell 192.168.0.251
23:59:41.779995 arp who-has 192.168.0.6 tell 192.168.0.251
23:59:41.779999 arp who-has 192.168.0.3 tell 192.168.0.251
23:59:42.791915 arp who-has 192.168.0.3 tell 192.168.0.242
23:59:44.230294 IP 192.168.0.112.138 > 192.168.0.255.138: NBT UDP PACKET(138)
23:59:44.645285 IP 192.168.0.112.1058 > 255.255.255.255.1234: UDP, length 204
23:59:45.204257 arp who-has 192.168.0.253 tell 192.168.0.246


И еще и там много непонятные адреса??? Пример :
23:59:39.536316 arp who-has 192.168.0.3 tell 192.168.0.243
Что это такое?
Помогите разобратся. Заранее спасибо!!!

leonty 22-12-2008 21:38 987508

немного странный у тебя конфиг, я у себя делал по мануалу и все работало.

Может стоит добавить недостающие части, не спроста же они там.

Telepuzik 23-12-2008 10:41 987886

mss_sarvarbek
Сколько машин получают адреса от DHCP сервера?
Покажите содержимое /var/db/dhcpd.leases
Цитата:

Цитата mss_sarvarbek
И еще и там много непонятные адреса??? Пример :
23:59:39.536316 arp who-has 192.168.0.3 tell 192.168.0.243
Что это такое? »

Работа протокола arp.

mss_sarvarbek 23-12-2008 10:54 987891

Цитата:

Цитата Telepuzik
Покажите содержимое /var/db/dhcpd.leases »

Там ничего нет , просто несколько комментированные строки.
После ответа leonty из порта установил isc-dhcp-relay но не помогло . в сети 20 компов, но они не получают адреса.
Ты посмотри там в логах :

23:59:23.087858 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:1b:fc:ff:fe:e3, length 300
23:59:23.088050 arp who-has 192.168.0.245 tell 192.168.0.237
23:59:24.037080 IP 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300


Здесь что есть???

Telepuzik 23-12-2008 11:56 987946

Цитата:

Цитата mss_sarvarbek
После ответа leonty из порта установил isc-dhcp-relay но не помогло . в сети 20 компов, но они не получают адреса. »

А зачем Вам relay ???
Поставьте из портов isc-dhcp3-server
IP dhcp сервера 192.168.0.237 ???
Фаейрвол на сервере настроен?
Если у Вас 20 компов в сети и все должны получать адреса от DHCP сервера то пул адресов должен быть больше чем 6.

mss_sarvarbek 23-12-2008 12:16 987962

Не помогло, изменил пул на 15 компов. Но никаких результатов. Файервол нет . Где находятся логи DHCP ??? Блин , давайте тогда рабочий конфиг в mss_mad@mail.ru .

mss_sarvarbek 23-12-2008 14:21 988062

Когда я зааускаю сервер у меня такая сообщения
Starting dhcpd.
Internet Systems Consortium DHCP Server V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 0 leases to leases file.
Listening on Socket/sk0/169.1/16
Sending on Socket/sk0/169.1/16


как отключить LDAP?

Telepuzik 23-12-2008 15:27 988115

Пропишите в dhcpd.conf:
authoritative;
log-facility local7;

и перезапустите демон dhcpd.

mss_sarvarbek 23-12-2008 15:38 988121

Цитата:

Цитата Telepuzik
authoritative;
log-facility local7; »

Не вышло ничего.
Вот полный dhcp.conf

default-lease-time 1600; #
max-lease-time 7200; #
authoritative; # Setda
ddns-update-style none; #
log-facility local7; #
subnet 169.1.0.0 netmask 255.255.0.0 { # Orendator
range 169.1.0.1 169.1.0.10; # Arenda IP lar
# range 192.168.1.101 192.168.1.200;
option routers 169.1.0.1; # IP router
allow bootp;
option subnet-mask 255.255.0.0;
}

Telepuzik 23-12-2008 15:44 988125

Что в логах??
Мой рабочий конфиг:
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "domain.local";
option domain-name-servers 78.x.x.x, 78.x.x.x;

default-lease-time 1296000;
max-lease-time 2592000;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# ad-hoc DNS update scheme - set to "none" to disable dynamic DNS updates.
#ddns-update-style ad-hoc;
ddns-update-style none;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.10;
option routers 192.168.0.254;
option broadcast-address 192.168.0.255;
}

# This is a very basic subnet declaration.

#subnet 10.254.239.0 netmask 255.255.255.224 {
# range 10.254.239.10 10.254.239.20;
# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

#subnet 10.254.239.32 netmask 255.255.255.224 {
# range dynamic-bootp 10.254.239.40 10.254.239.60;
# option broadcast-address 10.254.239.31;
# option routers rtr-239-32-1.example.org;
#}

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
# range 10.5.5.26 10.5.5.30;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";

leonty 23-12-2008 15:59 988142

mss_sarvarbek, скопируй к себе конфиг, который тебе дал Telepuzik, запусти сервер. Если будет работать (а он долженработать), тогда уже будешь пиводить к своим потребностям.
Цитата:

Цитата mss_sarvarbek
range 169.1.0.1 169.1.0.10; # Arenda IP lar
option routers 169.1.0.1; # IP router »

fдреса выдаются ДШСП сервером включая верхнюю и нижнюю границы. Т.е. еcли ты хочешь чтобы твой шлюз получал адрес 169.1.0.1 автоматом, закрепи его за маком сетевухи на шлюзе.

mss_sarvarbek 23-12-2008 16:26 988163

Не знаю что в системе, но не работало. Знаю что DHCP работает через UDP 67,68 . Как мне проверить что в системе открыты эти порты???

leonty 23-12-2008 21:05 988401

Цитата:

Цитата mss_sarvarbek
Как мне проверить что в системе открыты эти порты??? »

ну если ты их принудительно не закрывал, наврятли они будут закрыты. Хотя могу ошибаться...

Ладно, хватит играть в кошки-мышки, давай заново и подробно.
1 Какая ОС и версия.
2 Обновлял ли порты перед установкой ПО (необязательно в данном случае, но лишним не будет)
3 Как устанавливал сервер ДШСП
4 Конфиг впринципе видели. В /etc/rc.conf прописан запуск демона и интерфейс на котором он висит?
5 Есть ли в системе работающий фаервол, если есть, то конфиг сюда.
6 Логи сервера и /var/log/messages

mss_sarvarbek 23-12-2008 21:18 988419

Цитата:

Цитата leonty
Ладно, хватит играть в кошки-мышки, давай заново и подробно. »

1) 7.0 Release с сайта freebsd
2) нет прямо установил
3) /usr/ports/net/isc-dhcp3-server
4) Там все нормально, на вверху все указал
5) нет
6) Логи тоже на вверху

leonty 23-12-2008 21:31 988430

запусти демон DHCPD с ключиков -d 3, чтобы он делал debag
да, и попробуй пересобрать порт без подержки лдап, нах он те ваще сдался?

Barracuda 25-12-2008 01:14 989612

tcpdump - не бубен, а средство диагностики...
tcpdump -nvi rl0 "port 67" and "port 68"
ну и проверить то, что демон обслуживает порт: sockstat -4
ну и логи смотреть...
Вообще, судя по логам, запросы на получение адреса идут, однако сервер не реагирует на запросы. а вот запрос:
arp: who has addr1 tell addr2
это обычное арп-эхо запрос: скажите, как зовут(MAC-адрес) Addr1 и передайте это Addr2
ответом будет: arp: addr1 at mac1

mss_sarvarbek 25-12-2008 10:33 989776

Во первом спасибо за помощь.

Цитата:

Цитата Barracuda
tcpdump - не бубен, а средство диагностики...
tcpdump -nvi rl0 "port 67" and "port 68" »

Вот результати tcpdump (Проверил с два компа.)

14:18:58.726158 IP (tos 0x0, ttl 128, id 22452, offset 0, flags [none], proto UDP (17), length 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:15:f2:de:cc:9a, length 300, xid 0xc33b7087, Flags [Broadcast]
Client-Ethernet-Address 00:15:f2:de:cc:9a [|bootp]
14:18:59.011892 IP (tos 0x0, ttl 64, id 36, offset 0, flags [none], proto UDP (17), length 328) 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300, xid 0xc33b7087, Flags [Broadcast]
Your-IP 192.168.0.150
Client-Ethernet-Address 00:15:f2:de:cc:9a [|bootp]
14:19:01.726435 IP (tos 0x0, ttl 128, id 22590, offset 0, flags [none], proto UDP (17), length 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:15:f2:de:cc:9a, length 300, xid 0xc33b7087, secs 768, Flags [Broadcast]
Client-Ethernet-Address 00:15:f2:de:cc:9a [|bootp]
14:19:01.726598 IP (tos 0x0, ttl 64, id 37, offset 0, flags [none], proto UDP (17), length 328) 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300, xid 0xc33b7087, secs 768, Flags [Broadcast]
Your-IP 192.168.0.150
Client-Ethernet-Address 00:15:f2:de:cc:9a [|bootp]
14:19:04.078967 IP (tos 0x0, ttl 128, id 685, offset 0, flags [none], proto UDP (17), length 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:1b:fc:ff:fe:e3, length 300, xid 0x5d0d9377, Flags [Broadcast]
Client-Ethernet-Address 00:1b:fc:ff:fe:e3 [|bootp]
14:19:05.038140 IP (tos 0x0, ttl 64, id 39, offset 0, flags [none], proto UDP (17), length 328) 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300, xid 0x5d0d9377, Flags [Broadcast]
Your-IP 192.168.0.111
Client-Ethernet-Address 00:1b:fc:ff:fe:e3 [|bootp]
14:19:07.064666 IP (tos 0x0, ttl 128, id 686, offset 0, flags [none], proto UDP (17), length 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:1b:fc:ff:fe:e3, length 300, xid 0x5d0d9377, secs 768, Flags [Broadcast]
Client-Ethernet-Address 00:1b:fc:ff:fe:e3 [|bootp]
14:19:07.064811 IP (tos 0x0, ttl 64, id 40, offset 0, flags [none], proto UDP (17), length 328) 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300, xid 0x5d0d9377, secs 768, Flags [Broadcast]
Your-IP 192.168.0.111
Client-Ethernet-Address 00:1b:fc:ff:fe:e3 [|bootp]


Цитата:

Цитата Barracuda
ну и проверить то, что демон обслуживает порт: sockstat -4 »

Результати Sockstat

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root inetd 788 5 tcp4 *:21 *:*
root sendmail 699 3 tcp4 127.0.0.1:25 *:*
dhcpd dhcpd 610 7 udp4 *:67 *:*
root syslogd 538 7 udp4 *:514 *:*

Что это означиет??? Мой сервер выдавет IP адреса???

Barracuda 25-12-2008 12:22 989834

Цитата:

Цитата mss_sarvarbek
dhcpd dhcpd 610 7 udp4 *:67 *:* »

Значит демон сидит.
Цитата:

Цитата mss_sarvarbek
14:18:58.726158 IP (tos 0x0, ttl 128, id 22452, offset 0, flags [none], proto UDP (17), length 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:15:f2:de:cc:9a, length 300, xid 0xc33b7087, Flags [Broadcast]
Client-Ethernet-Address 00:15:f2:de:cc:9a [|bootp] »

Запрос адреса клиентом (00:15:f2:de:cc:9a)
Цитата:

Цитата mss_sarvarbek
14:18:59.011892 IP (tos 0x0, ttl 64, id 36, offset 0, flags [none], proto UDP (17), length 328) 192.168.0.237.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300, xid 0xc33b7087, Flags [Broadcast]
Your-IP 192.168.0.150
Client-Ethernet-Address 00:15:f2:de:cc:9a [|bootp]»

Ответ сервера с адресом (192.168.0.150)

А что не работает-то?

mss_sarvarbek 25-12-2008 12:28 989839

Цитата:

Цитата Barracuda
А что не работает-то? »

Клиент не получает адрес. И вот в файле dhcpd.leases ничего нет. Как проверить что ? И один вещь эти адреса, там в логах, совпадает точно с статическими адресами. Как это мог случится???

Barracuda 25-12-2008 12:52 989852

Вообще логично - не хватает ответа со стороны клиента, что он принял данный адрес
вот пример лога того, как клиент первый раз получает адрес:
Код:

Dec 25 11:41:32 dhcpserver dhcpd: DHCPDISCOVER from b1:b2:b3:b4:b5:b6 via xl0
Dec 25 11:41:32 dhcpserver dhcpd: DHCPOFFER on 192.168.9.90 to b1:b2:b3:b4:b5:b6 via xl0
Dec 25 11:41:32 dhcpserver dhcpd: DHCPREQUEST for 192.168.9.90 (192.168.9.1) from b1:b2:b3:b4:b5:b6 via xl0
Dec 25 11:41:32 dhcpserver dhcpd: DHCPACK on 192.168.9.90 to b1:b2:b3:b4:b5:b6 via xl0

Первый запрос - запрос клиента, который никогда не имел адреса со своим маком в этой сети (у клиента нет данных по предыдущим лизам)
Второй - ответ сервера с предложением аренды указанного адреса.
Третий - запрос клиента (этого же) на получение этого адреса.
Четвёртый - ACK(подтверждение) сервера, что клиент может присваивать себе этот адрес.

Судя по вашим логам, клиент, по какой-то причине, не запрашивает предложенный ему адрес, отсюда - не подтверждения сервера, что клиент может использовать данный адрес и нет записи в списке аренды адресов сервера. Возможно, проблема на стороне клиента.

mss_sarvarbek 25-12-2008 13:00 989861

Цитата:

Цитата Barracuda
Судя по вашим логам, клиент, по какой-то причине, не запрашивает предложенный ему адрес. Возможно, проблема на стороне клиента. »

Во всех клиентах стоит XP + SP2,SP3 обновлялся недавно . Nod32 Smart Security 3.0.6 . Тип файервол антивируса Интерактивный . И все . Для тестировки отключил файервол и антивирус , но не результатов ...

Barracuda 25-12-2008 13:06 989864

В ВинХП есть куча причин, по которым он не может получить адрес (та же тулза от NVidia. которая ставится с дровами на мамку/видюху с установочного диска). Самый простой способ - проверить это на чистой машинке, на которой нет ничего, кроме дров... Родной виндовый файрвол не мешает работе DHCP-клиента. И ещё, некоторые спецЫалисты имеют привычку "оптимизировать" работы винды путём отключения некоторых, с их точки зрения, ненужных служб. Проверьте список рабочих служб и их режима запуска.

Вообще, влючите все логи в /etc/syslog.conf. Там есть стройчка что-то вроде
Код:

*.*                                            /var/log/all.log
и потом сделайте то, что написано выше
Код:

# touch /var/log/all.log and chmod it to mode 600 before it will work
Только учтите, что он растёт с приличной скоростью, а потому следите за местом на диске, где лежит этот лог.
Потом отследите все сообщения DHCP в этом логе
Код:

cat /var/log/all.log | grep dhcpd

mss_sarvarbek 25-12-2008 14:40 989918

Спасибо всем за поддержку. Будем считать это вопрос решен. Теперь остаётся проверить с чистим виндовсом. Особенно Telepuziku и Barrcudе.


Время: 19:56.

Время: 19:56.
© OSzone.net 2001-