LINUX.ORG.RU

Немозможность получения ip-адреса через dhcp


0

2

Операционная система - Debian Squeeze

Не получается получить ip-адрес через dhcp. Вводилиcь следующие команды:

#dmesg | grep eth
[    6.400543] atl1c 0000:01:00.0: atl1c: eth0 NIC Link is Up<100 Mbps Full Duplex>
[   16.624008] eth0: no IPv6 routers present

#lspci | grep Ether
01:00.0 Ethernet controller: Atheros Communications AR8131 Gigabit Ethernet (rev c0)

#ifconfig
eth0      Link encap:Ethernet  HWaddr 20:cf:30:81:58:b1  
          inet6 addr: fe80::22cf:30ff:fe81:58b1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:631 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000 
          RX bytes:39055 (38.1 KiB)  TX bytes:2520 (2.4 KiB)
          Interrupt:27 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Содержимое файла /etc/network/intefaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

Содержимое файла /etc/resolv.conf
domain kstu.kursk.ru
search kstu.kursk.ru
nameserver 10.20.0.1
nameserver 8.8.8.8

Содержимое файла /etc/hosts
127.0.0.1 localhost
127.0.1.1 kamputer.kstu.kursk.ru  kamputer

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Команда route выдает следующие результаты:
#route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

Иными словами таблица маршрутизации пустая.

Далее выполняются команды

#route add -net 127.0.0.0 netmask 255.0.0.0 lo
#route add -net 10.20.0.0 netmask 255.255.248.0 eth0
#route add -net default gw 10.20.0.3
Если после этого набрать команду route, то будут выведены две строчки и дальше пока не будет нажата комбинация Ctrl-C, система будет думать.
#route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.20.0.0          *         255.255.248.0       U       0    0      0   eth0
loopback          ...
Далее запускаются команды
#ifdown eth0
Copyright 2004-2010 Internet System Consortium.
All rights reserved.
For info please visit https://www.isc.org/software/dhcp

Listening on LPF/eth0/20:cf:30:81:58:b1
Sending on   LPF/eth0/20:cf:30:81:58:b1
Sending on   Socket/fallback
DHCPRELEASE on eth0 to 172.20.21.1 port 67
send_packet: Network is unreachable
send_packet: please consult README file regadarble broadcast address

#/etc/init.d/networking stop
Deconfiguring network interfaces...done.

#/etc/init.d/networking start
Configuring network interfaces...done.

#ifup eth0
Copyright 2004-2010 Internet System Consortium.
All rights reserved.
For info please visit https://www.isc.org/software/dhcp

Listening on LPF/eth0/20:cf:30:81:58:b1
Sending on   LPF/eth0/20:cf:30:81:58:b1
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 10
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 10
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 9
И так, пока не будет нажата комбинация клавиш Ctrl-C

Целесобразно предположить, что дело не в драйвере, потому что команда dmesg обнаруживает запись о сетевом интерфейсе и с помощью команды ifconfig можно указать статический ip-адрес. Но в текущей ситуации необходимо получение именно динамического ip-адреса, так как при его получении сразу же раздается интернет (во всяком случае так было в Windows, простите за сравнение).

Дополнительно прилагаются некоторые настройки

ip-адрес, который должен быть получен    10.20.3.58
Маска подсети                            255.255.248.0
Шлюз                                     10.20.0.3
DHCP-сервер                              172.20.0.1
DNS-сервер                               10.20.0.1
                                         8.8.8.8
Заранее благодарен.

Та же фигня была с дебианом на старом сервере (да, знаю, дебиан не для серверов). Просто прописал статический IP вместо DHCP и не думал об этом. Тоже интересно из-за чего всё это было.
Подписался на топик.

CYB3R ★★★★★ ()

Похоже, здесь какие-то проблемы с dhcp-сервером. Проверь его настройки и физический канал. Посмотри логи, если они там есть. Есть привязка по mac`у? В Линуксах сетевуха загадочным образом может заиметь другой mac ;)

Советую начать диагностику с ручной конфигурации интерфейса.

power ()

для начала пропиши руками все что нужно
можно еще посмотреть tcpdump при получении dhcp

uspen ★★★★★ ()
Ответ на: комментарий от power

Нет, сам же использую на сервере, и не на одном.

CYB3R ★★★★★ ()

Правильно подсказали - начни с ручной настройки, чтобы убедиться что это именно dhcp, а не рутер/фаервол сервер.

Если после этого набрать команду route, то будут выведены две строчки и дальше пока не будет нажата комбинация Ctrl-C, система будет думать.

А что будет если набрать route -n ? Просто если с сетью проблемы route без -n набирать не стоит - будет то о чем ты рассказываешь ;)

1. Попробуй dhcpcd с ключем -K
man dhcpcd
-K, --nolink Don't receive link messages for carrier status. You should only have to use this with buggy device drivers or running dhcpcd through a network manager.

Еще посмотри такие вещи:
2. Увеличить таймаут до 60 секунд. У меня без ключа -K иногда адрес получался секунд 30 (ключ -t в dhcpcd ). Когда разберешься в чем проблема - уберешь.

3. Есть опции чтобы получать не все, например, чтобы получал только адрес, но не получал dns конфигурацию. Может он чего-то ждет, а DHCP сервер этого не выдает (ключ -S в dhcpcd ). Когда разберешься в чем проблема - уберешь.

В Линуксах сетевуха загадочным образом может заиметь другой mac ;)

Первый раз такое слышу, и не особо верю. Только если в конфигах прописана смена MAC. Имя интерфейса менять - да, но это редко и чинится.

Kroz ★★★★★ ()

Здесь, вроде, относительно недавно была тема о том, что у чувака в дебиане же DHCP не работало из-за корявых настроек сервера. При этом, с другим DHCP-клиентом работало. Поищите её, вдруг та же проблема?
P.S. Вы http://segfault.kiev.ua/smart-questions-ru.html на ночь читаете каждый день? :-)

Axon ★★★★★ ()
Ответ на: комментарий от Kroz

Первый раз такое слышу, и не особо верю. Только если в конфигах прописана смена MAC. Имя интерфейса менять - да, но это редко и чинится.

Я имел в виду что смена mac, о которой уже никто не помнит, могла быть сделана в Винде. Ну и драйвер может кривым оказаться — в винде все ок, а в Линуксах 00:00:00:00:00:00 ;)

power ()
Ответ на: комментарий от power

Странные вещи

Сначала попробовал командой ipconfig поставить ip-адрес, вроде получилось, потом пару записей добавил с помощью команды route. Все заработало, и интерент тоже. Потом попробовал прописать найстройки статического ip в файле /etc/network/interfaces, но ничего не получилось, потом в том же файле вернул настройки на dhcp, перезагрузился и вот

eth0      Link encap:Ethernet  HWaddr 20:cf:30:81:58:b1  
          inet addr:10.20.3.58  Bcast:10.20.7.255  Mask:255.255.248.0
          inet6 addr: fe80::22cf:30ff:fe81:58b1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:918 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000 
          RX bytes:59727 (58.3 KiB)  TX bytes:3409 (3.3 KiB)
          Interrupt:27 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
services.kstu.k 3.gate.host     255.255.255.255 UGH   0      0        0 eth0
10.20.0.0       *               255.255.248.0   U     0      0        0 eth0
default         3.gate.host     0.0.0.0         UG    0      0        0 eth0

PING www.yandex.ru (213.180.204.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=1 ttl=57 time=15.2 ms
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=2 ttl=57 time=14.8 ms
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=3 ttl=57 time=14.7 ms
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=4 ttl=57 time=15.3 ms

--- www.yandex.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 14.794/15.052/15.317/0.243 ms

То есть ip-адрес получается по dhcp, почему тогда сразу ничего этого не было? Странно...

ivan_russian ()
Ответ на: Странные вещи от ivan_russian

Неприятная неожиданность

Компьютер выключился, потом включился и все пропало... Вопрос следующий, как в файле /etc/network/interfaces прописать аналоги команд

#route add -net 10.20.0.0 netmask 255.255.248.0 eth0
#route add default gw 10.20.0.3 eth0

Заранее благодарен

ivan_russian ()
Ответ на: Неприятная неожиданность от ivan_russian

Снова неожиданности

Вручную были введены следующие команды:

#ifconfig eth0 10.20.3.58 netmask 255.255.248.0 
#route add default gw 10.20.0.3 eth0
После этого все вроде бы работает, однако, естественно, что после перезагрузки эти данные не сохраняются.

Для сохранения настроек между перезагрузками был отредактирован файл /etc/network/interfaces следующим образом:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 10.20.3.58
netmask 255.255.248.0
broadcast 10.20.7.255
gateway 10.20.0.3

После чего, все пародоксальным образом заработало. Пародоксальным потому, что, скажем в файле /etc/network/interfaces нет ничего про broadcast, network,dns-nameservers, dns-search и совершенно ничего не введено для маршрутизации (route)

ivan_russian ()
Ответ на: Снова неожиданности от ivan_russian

Вроде бы все работает

После проведенных манипуляций вроде бы все заработало. Спасибо всем, кто откликнулся, за помощь, отдельное спасибо axon и aedeph за предоставленные ссылки.

ivan_russian ()
Ответ на: Снова неожиданности от ivan_russian

> Пародоксальным потому, что, скажем в файле /etc/network/interfaces нет ничего про broadcast
Есть: broadcast 10.20.7.255

network

Нетрудно определить из broadcast

dns-nameservers, dns-search

/etc/resolve.conf сохранися с прошлого раза. Он - первоисточник, остальное - надстройки.

и совершенно ничего не введено для маршрутизации (route)

А это что: gateway 10.20.0.3

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Благодарности

Отдельное спасибо Kroz за представленное объяснение.

ivan_russian ()

а если сделать просто - #dhclient eth0?

minakov ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.