Ubuntu не получает ip по dhcp

Обновлено: 06.07.2024

Средой является Debian , хотя ответ будет распространяться на все дистрибутивы.

Теперь это вики сообщества. Не стесняйтесь вносить любые другие методы, которые работают.

Вы также можете использовать эту команду:

Где interface находится устройство, для которого вы хотите получить новый адрес.

В -r флаге сила dhclient в первый выпуск любой аренды у вас есть, вы можете использовать эту команду , чтобы запросить новый:

От man dhclient :

После этой команды моему Debian не удалось получить новый IP, но после перезагрузки мне был назначен новый, так что он работает! Для меня это только освобождает аренду и не настраивает интерфейс. После этого новый IP не получен.

Любое из следующего должно заставить это возобновить.

Я бы не рекомендовал работать по SSH-соединению, хотя вам, вероятно, не удастся использовать первое, если оно не вернется с новым IP-адресом.

Соединения SSH будут терпеть несколько секунд «разъединения», если вы восстановите соединение через несколько секунд с того же IP-адреса. В этих условиях я никогда не терял соединение /etc/init.d/networking restart , даже когда на восстановление ушло более 5 секунд .

Я бы прокомментировал p.campbell, но у меня только 1 репутация, и поэтому я не могу, сначала я проверяю установленные интерфейсы:

освободить IP с выбранного интерфейса (например, eth0, eth1, enp1s0, sit0, wlan0, . ):

запросить новый IP с сервера DHCP (предупреждение об ошибке):

Ubuntu 16.04 LTS подтвердил

Если вы используете dhcpcd инструмент, то:

Первый говорит, чтобы остановить демона, а второй говорит, чтобы запустить его снова.

Если MAC-адрес интерфейса не изменился, DHCP-сервер может назначить ему тот же адрес при обновлении. Поэтому простой выпуск и обновление с помощью dhclient может не получить новый адрес. Измените MAC-адрес и получите новый IP-адрес с помощью следующих команд. Не забудьте записать оригинал, если вам нужно вернуться к нему позже.

В Ubuntu подключение к сети настраивается с помощью сервиса Network Manager. Чтобы подключиться к сети, достаточно пару раз кликнуть мышкой, выбрать соединение - и готово. То же самое, и даже ещё проще, при использовании проводного соединения - тут интернет подключается автоматически, как только загрузился апплет.

Но не всегда доступен графический интерфейс: после неудачной установки драйвера или очередного обновления не запускается графическая оболочка, а на серверах она и вовсе не используется. В этой небольшой инструкции будет разобрана настройка сети Ubuntu из консоли. Мы поговорим о том, как настроить получение IP-адреса по DHCP, а также настроить работу DNS. Рассмотрим ручную и автоматическую настройку, также попробуем сделать это через системные конфигурационные файлы.

Как работает сеть?

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

Компьютеры обмениваются между собой информацией с помощью пакетов. Все данные в сети интернет передаются с помощью пакетов небольшого размера. Если не углубляться в подробности, то каждый пакет содержит адрес отправителя, адрес получателя и сами данные. Эти адреса есть не что иное, как привычные нам IP-адреса. Кроме IP, у компьютера есть физический адрес, который используется для общения между компьютерами в локальной сети. Это MAC-адрес? и задается он производителем сетевой карты.

Как только компьютер подключился к сети, независимо от того проводное это соединение или беспроводное, он может общаться только с компьютерами в локальной сети и только по физическим адресам. Для того, чтобы получить доступ в Глобальную сеть, машине в ней нужно получить IP-адрес. Для этого используется протокол DHCP. Если кратко: наш компьютер спрашивает все компьютеры в локальной сети, кто здесь DHCP-сервер, DHCP ему отвечает и выдаёт IP-адрес. Таким же образом компьютер узнаёт IP маршрутизатора, через который он может получить доступ к Сети, а затем пытается найти DNS-серверы или узнать стандартные у маршрутизатора. С теорией разобрались, перейдем к практике.

Настройка сети через терминал в Ubuntu

Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:

  • Включаем сетевой интерфейс и подключаемся к сети;
  • Устанавливаем IP-адрес;
  • Получаем адреса DNS-серверов.

Собственно, готово. Эти шаги очень символичны, потом что система всё сделает за нас сама. Нам нужно только выполнить нужные настройки. Но сначала давайте посмотрим, какие сетевые интерфейсы подключены к системе. Мне нравится команда:

Но если хотите, можете использовать ifconfig:

net

В нашей системе только один интерфейс - это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.

Настройки сети находятся в файле /etc/network/interfaces.

net1

Нас будут интересовать в этом файле строчки auto и iface. Первая указывает, что нужно активировать интерфейс при загрузке, вторая же определяет настройки самого интерфейса.

Настройка динамического получения IP-адреса

Добавьте в этот файл такие строки, чтобы запускать интерфейс при загрузке и получать IP-адрес автоматически по DHCP:

auto enp0s3
iface enp0s3 inet dhcp

Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:

$ iface интерфейс inet тип

Тип получения IP-адреса может иметь несколько значений, но нас в этой статье будут интересовать только два: dhcp и static.

После завершения настройки сохраните файл и перезапустите сетевой сервис:

sudo service networking restart

Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.

Настройка статического адреса Ubuntu

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

Содержимое нашего конфигурационного файла будет выглядеть вот так:

auto eth0
iface eth0 inet static
address 192.168.1.7
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

С первыми двумя строчками все понятно, а следующие задают параметры настройки интерфейса:

  • address - наш IP-адрес;
  • gateway - шлюз, через который будем получать доступ в интернет;
  • netmask - маска сети;
  • network - адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
  • broadcast - широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.

Как видите, network и broadcast - это первый и последний IP-адреса сети. Теперь сохраните файл и перезапустите сеть:

sudo service networking restart

Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.

Это была автоматическая настройка локальной сети Гbuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.

Ручная настройка сети в Ubuntu

Предыдущий вариант хорош, если вы собираетесь его использовать постоянно, но если нужно только один раз настроить сеть через терминал, то редактировать конфигурационные файлы необязательно. Мы можем всё сделать с помощью команды ip. Дальше будет рассмотрена настройка сети вручную Ubuntu.

Эта команда используется для управления сетью и входит во все дистрибутивы по умолчанию.

Как и в предыдущем примере, смотрим сетевые интерфейсы:

net

После того, как мы узнали интерфейс, можно переходить к настройке.

Получение IP-адреса по DHCP

Сначала включаем интерфейс:

sudo ip link set enp0s3 up

Затем с помощью команды dhclient запрашиваем ip:

sudo dhclient enp0s3

Всё, настройка сети Ubuntu 16.04 завершена, у нас есть IP-адрес, и осталось только настроить DNS, но это мы рассмотрим ниже.

Настройка статического IP

sudo ip link set enp0s3 up

Устанавливаем IP-адрес, маску сети и broadcast-адрес для нашего интерфейса:

sudo ip addr add 192.168.1.7/255.255.255.0 broadcast 192.168.1.255 dev enp0s3

Указываем IP-адрес шлюза:

sudo ip route add default via 192.168.1.1

net2

Здесь 192.168.1.7 - наш IP-адрес, 255.255.255.0 - маска сети, 192.168.1.255 - широковещательный адрес. Замените эти значения на свои.

Как видите, сеть работает. Если хотите поэкспериментировать на машине с рабочей сетью, её можно сбросить командой:

sudo ip -4 addr flush dev enp0s3

Настройка DNS

Служба DNS используется для преобразования доменных имен сайтов в IP-адреса. При получении IP-адреса автоматически через DHCP мы используем правильные DNS-серверы, но если мы выбрали статический IP, то DNS можно и не получить, поэтому придётся сделать всё вручную.

Если вам нужно настроить DNS так, чтобы он не сбивался после перезагрузки, необходимо использовать систему настройки сети Ubuntu. Для этого откройте файл /etc/network/interfaces и добавьте в него строчку после директив для нужного интерфейса:

dns-nameservers 8.8.8.8 4.4.4.4

Здесь 8.8.8.8 и 4.4.4.4 это IP-адреса DNS серверов, можете заменить их на свои. И можно использовать один, а не два. Дальше сохраните файл и перезапустите сеть:

sudo service networking restart

Если же вам нужно настроить DNS только для этого сеанса, то добавьте строчку в /etc/resolv.conf

sudo vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 4.4.4.4

После сохранения файла сеть будет работать полностью так, как нужно. Но последний способ пригоден только до перезагрузки, поскольку файл /etc/resolv.conf генерируется автоматически.

Выводы

В этой статье была рассмотрена настройка сети Ubuntu из консоли. Я пытался не просто показать команды, с помощью которых это можно сделать, но и объяснить, как это работает. Теперь вы будете знать, что нужно делать, если у вас нет доступа к графическому интерфейсу, но срочно нужно попасть в сеть. Если остались вопросы, пишите в комментариях!

Странная ситуация происходит с системой. Ubuntu 18.04 LTS со всеми обновлениями, виртуальная машина под Hyper-V.

При загрузке Ubuntu ip адрес получает не тот что прописано в резерве на DHCP-сервере. При выполнении команд:


Я бы начал думать над настройками сервера DHCP.


Не думаю что это настройка сервера, проблема только с этой машиной, и решается перезапуском клиента.
Без изменения настроек клиента и сервера.


Подразумевался DHCP-клиент UBUNTU.

Если Ubuntu клиент это Desktop с DE и всеми плюшками, то возможно я бы подумал, что это конфликт встроенного в NetworkManager DHCP клиента и внешнего dhclient.


Нет, это сервер, без десктопа.


В первую очередь я бы смотрел на настройки сети в Hyper-V. Там есть куча возможностей дать системе не тот vSwich, поставить не ту галку в настройках этого vSwich и так далее, вплоть до странных настроек через cmdlets, а сами интерфейсы ещё могут быть в ненужных VLAN.

Когда это всё будет проверено и точно настроено, только тогда бы смотрел саму виртуалку. Потому, что убунта отлично работает в Hyper-V не первый год и такого не происходило.


В том-то и дело, что данная проблема возникла впервые, предыдущие виртуалки с UBUNTU так себя не вели.
Проверил ВСЕ параметры виртуальной машины - все в норме.
Ошибиться в виртуальном свитче не могу физически - он один. МАК адрес выдаваемый ifconfig и прописанный в Hyper-V совпадает.
На хосте работает суммарно 10 виртуальных машин через этот свитч, проблемы только с этой виртуалкой.

Тогда сравнивай настройки DHCP клиента с другими виртуальными машинами с Ubuntu.


Настройки DHCP клиента использовались по умолчанию, как инсталятор поставил. И ни на одной машине не правились, включая эту.

[Решено]сетевой интерфейс не получает адреса

[Решено]сетевой интерфейс не получает адреса

НЕ МОГУ! не могу настроить сеть!
Сеть проводная, IP адрес статический, все настройки выдаются автоматом по DHCP, жестко завязано на MAC адрес сетевухи .
Сетевуха CNET PRO200 PCI Fast Ethernet controler - так винда пишет .
Linux - выдает что это 05:01.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x DEC-Tulip compatible 10/100 Ethernet (rev 31)
вот что есть, если ничего не трогать
по автомату включен режим роуминга

$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:80:ad:79:86:95
UP BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17 Base address:0xe800

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:1824 errors:0 dropped:0 overruns:0 frame:0
TX packets:1824 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:91200 (89.0 KB) TX bytes:91200 (89.0 KB)

wlan0 Link encap:Ethernet HWaddr 00:11:6b:3c:94:8b
UP BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wmaster0 Link encap:UNSPEC HWaddr 00-11-6B-3C-94-8B-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Что за wmaster0 - ваше не понятно!

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
aleksey@aleksey-desktop:

$ netstat -n -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
aleksey@aleksey-desktop:

файл /etc/network/interface
auto lo
iface lo inet loopback

файл hostname
aleksey-desktop

файл hosts
127.0.0.1 localhost
127.0.1.1 aleksey-desktop

файл resolv.conf пустой


если поставить DHCP, а режим роуминга отключить то ifconfig выдает такое
eth0 Link encap:Ethernet HWaddr 00:80:ad:79:86:95
UP BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17 Base address:0xe800

eth0:avahi Link encap:Ethernet HWaddr 00:80:ad:79:86:95
inet addr:169.254.8.71 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
Interrupt:17 Base address:0xe800

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:1964 errors:0 dropped:0 overruns:0 frame:0
TX packets:1964 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:99648 (97.3 KB) TX bytes:99648 (97.3 KB)

wlan0 Link encap:Ethernet HWaddr 00:11:6b:3c:94:8b
UP BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wmaster0 Link encap:UNSPEC HWaddr 00-11-6B-3C-94-8B-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)


как понимать этот eth0:avahi
причем IP совершенно не мои!! Если пытатся эту сетку поднимать или опускать .. пишет что невозможно это сделать т.к. такой сетки нет

пробывал! отключал все , удалял network manager . все прописывал вручную .. никакого толку!
Пробывал просто на голой свежеустановленной системе прописать все все все настройки вручную . как только это сделал .. сеть пропала вообще как класс! .
т.е. ifconfig писал eth0 -есть и поднят с настройками все хорошо, но при этом инета нет и GUI-шный настрощик сети вообше не видит eth0 ..

Так же попробывал переткнуть в другую сетевуху и подменить MAC адрес не помогло!(((((

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

Пару лет назад я установил сервер Ubuntu с RAID для работы в качестве домашнего файлового сервера. Все было хорошо до прошлой недели, когда мои другие компьютеры больше не могли получить доступ к файлам.

Моя проблема точно такая же, как этот вопрос, заданный на этом сайте, но возможное "решение" автора не помогло мне. Информация, которую он предоставляет для диагностических вопросов, в основном такая же, как у меня. Я попытался заменить кабель Ethernet, переключая порты, и перезагрузил модем.

Я могу вручную назначить IP для eth0 с помощью:

который позволяет мне пинговать другие компьютеры в сети и даже позволяет проводнику Windows видеть сервер. Но нет доступа к файлам, и я не могу подключиться к нему с помощью SSH.

Мы ценим любые предложения. У меня есть другая сетевая карта, которую я мог бы попробовать, но почему-то я думаю, что это проблема конфигурации. Я буду отслеживать любые ответы на мои вопросы, чтобы предоставить любую запрашиваемую информацию. Заранее спасибо.

Изменить с дополнительной информацией:

Версия Ubuntu - хорошо, это было больше, чем пару лет назад, когда я настроил это:) - 8.04.4 LTS. sudo dhclient -r дает (не точный текст, не может вырезать и вставить):

выдает синтаксическую ошибку для опции -v, но без нее:

Надеюсь, это поможет.

ARG! Потратил час на расшифровку выводов на эти вопросы, собирался представить. когда мой ПК с Windows вышел из строя. Я попытаюсь сделать это снова завтра утром.

2 ответа

Таким образом, крах моего компьютера был фактически его смертью. Я заменил материнскую плату и смог снова заставить ее работать, но теперь у нее были проблемы с доступом в Интернет. Он мог получить IP, но трафик был незначительным. Я вспомнил другие проблемы с сетью, которые были у других устройств (хотя и с другими типами проблем!), И просто решил приобрести новый маршрутизатор. Вуаля! Подключил сервер и это было видно всем! Новый ПК может общаться с интернетом! Таблетки перестали сбрасывать соединения!

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

Спасибо тем, что нашли время ответить на мой вопрос.

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

Давайте сосредоточимся на DHCP здесь. Пожалуйста, опубликуйте вывод:

Вы назначили статический адрес в конфигурации вашего DHCP-сервера для вашего сервера или он получает IP-адрес из пула?

Читайте также: