Не поднимается сетевой интерфейс ubuntu

Обновлено: 02.07.2024

В 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 моя сетевая карта была отключена. После перезагрузки машины в Win10 сетевая карта все еще работает, поэтому это конфигурация Ubuntu.

Я решил это следующим образом:

Это перечислило значения "логического имени":

У меня Dell T7400, поэтому я знаю, что это устройство Broadcom NetXtreme BCM5754. Служба поддержки Dell не предоставляет драйверов Ubuntu, но они вам на самом деле не нужны. Каким-то образом мое имя устройства Ethernet было переименовано.

sudo vi / etc / network / interfaces

Добавьте логическое имя в конец файла:

Наконец, включите интерфейс:

Затем активируйте Enable Networking .

Если это не решит, попробуйте запустить

для редактирования любой странной конфигурации в соединениях.

Вы также можете увидеть, что NetworkManager делает с этими командами.

если ваше сетевое устройство говорит unmanaged , это означает, что NetworkManager не будет пытаться использовать это устройство для подключения.

Настроить сеть с помощью netplan

заменить eno1 каким бы ни было ваше устройство (мое было ens33 ). Чтобы увидеть список устройств, запустите ip addr .

Наконец примените новые конфигурации

Я пробовал решения выше, и они не работали.

Что мне помогло, так это отключение Wi-Fi с помощью значка сети в правом верхнем углу графического интерфейса Ubuntu, а затем перезапуск диспетчера сети с помощью:

Я думаю, что наличие работающего проводного соединительного кабеля и подключенной карты WLAN к сети Wi-Fi одновременно создает конфликт.

У меня была та же самая проблема - мой недавно установленный Ubunut 18.04 не обнаруживал мое соединение с Ethernet ни на секунду, хотя светодиод на порту постоянно мигал, как будто это было нормально. Я набрал lshw -C на терминале и среди отображаемых выводов не было eth0 (это относится к соединению Ethernet, отсутствие eth0 означает отсутствие соединения Ethernet). Я искал в Интернете и обнаружил, что конкретный драйвер Ethernet может отсутствовать в Ubuntu.

Я понизил ядро ​​и. лихорадочно потратил более двух дней, пытаясь решить проблему.

Решение: я переустановил Ubuntu 18.04, и это решило мою проблему. Я не знаю, что пошло не так в первой установке.

Подобные проблемы здесь, это может быть связано с этой ошибкой или этой ошибкой в NetworkManager.

Я обхожу эту проблему, используя ifupdown вместе с ifplugd для правильного определения, подключен ли разъем к разъему или нет (я работаю на ноутбуке), и у меня больше нет проблем с подключением.

web программирование, администрирование и всякая всячина, которая может оказаться полезной

Ubuntu Network Speed and full or half duplex LAN

DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 17
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 32
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 19
No DHCPOFFERS recieved

Редактирование /etc/nework/interfaces (помимо строчек про lo - установка DHCP для eth0). а также редактирование /etc/dhcp3/dhcp - прописанный MAC-адрес - результата не дали.
Не помогли.. Светодиод на сетевой карте не подавал признаков жизни.

Если индикатор сетевой карты не светится, это может говорить о следующем:

1. Компьютер или коммутатор не включены.
2. Неисправна сетевая карта.
3. Неисправен порт коммутатора.
4. Возможно плохой контакт в коннекторе, или коннектор вставлен в гнездо не до конца.
5. Поврежден кабель.
6. Перепутаны провода при обжиме коннекторов.

Как ни банально, реальной причины в этом списке не было.

For example, a network card with a solid green LED or light usually indicates that the card is either connected or receiving a signal. If the green light is flashing, this is an indication of data being sent or received. The picture to the right is an example of a LAN port with two LED indicators next to the RJ-45 port. With this port, one LED will light up if connected properly and the other will flash when transmitting data.

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

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

sudo apt-get install ethtool net-tools

Далее - смотрим вывод
sudo ethtool eth0 Но, поскольку сети не было, пришлось разбираться, Как установить sudo apt-get install ethtool без интернета.. В общем-то, не так уж сложно скачать с официального сайта пакет ethtool.deb и открыть его при помощи менеджера пакетов.

ethtool -s eth0 autoneg on

Устанавливаем режим 100Мбит полный дуплекс

ethtool -s eth0 speed 100 duplex full autoneg off

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

ethtool -s eth0 speed 100 duplex full autoneg off

Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full


Вам может потребоваться выполнить эти команды в соответствии с вашими требованиями.

Я могу привести несколько примеров, где вам это понадобится.

При добавлении нового сетевого интерфейса или при создании нового виртуального сетевого интерфейса из исходного физического интерфейса.

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

Кроме того, если вы внесли какие-либо изменения или если они не работают, вам нужно выполнить одну из следующих команд, чтобы применить их.

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

Это можно сделать, используя следующие пять методов.

Приведенные ниже выходные данные показывают информацию о доступной сетевой карте (NIC) в моей системе Linux.

1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?

Команда ifconfig используется для настройки сетевого интерфейса.

Он используется во время загрузки для настройки интерфейсов по мере необходимости.

Он предоставляет много информации о NIC.

Мы можем использовать команду ifconfig, когда нам нужно внести какие-либо изменения в сетевую карту.

Общий синтаксис для ifconfig:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Запишите его, вы должны ввести имя вашего интерфейса вместо нашего варианта.

Да действительно, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?

Примечание. Она не работает с новым интерфейсным именем устройства, таким как enpXXX.

Общий синтаксис для ifdown / ifup:

Выполните следующую команду, чтобы отключить интерфейс eth1 в Linux.

Выполните следующую команду, чтобы включить интерфейс eth1 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

ifup и ifdown не поддерживают последние имена интерфейсных устройств enpXXX.

3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?

Команда ip используется для управления картой сетевого интерфейса (NIC).

Это замена старой и устаревшей команды ifconfig в современных системах Linux.

Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.

Общий синтаксис для IP:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Да, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?

Его можно использовать в качестве замены для nm-applet или других графических клиентов. nmcli используется для создания, отображения, редактирования, удаления, активации и деактивации сети.

подключения, а также контролировать и отображать состояние сетевого устройства.

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

Общий синтаксис для IP:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

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

Да, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux. Вы должны дать имя профиля вместо имени устройства, чтобы включить его.

Да, данный интерфейс работает сейчас согласно следующему выводу.

5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?

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

Запустите следующую команду, чтобы запустить интерфейс nmtui.

Выберите «Подключится» и нажмите «ОК».

Выберите интерфейс, который хотите отключить, затем нажмите кнопку «отключить».

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