Не работает вторая сетевая карта ubuntu

Обновлено: 05.07.2024

После утреннего обновления 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 для правильного определения, подключен ли разъем к разъему или нет (я работаю на ноутбуке), и у меня больше нет проблем с подключением.

В 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

Уникальность ему предоставляет IP-адрес. IP-адрес — это последовательность единиц и нолей, равная 32 знакам (1100100111. ) — страшно и непонятно :).

Для наглядности и удобства эту последовательность разбили на 4 равные части и перевели в десятичную систему исчисления.

То есть максимально возможная группа цифр — это 255.255.255.255.

Маска подсети:

Что такое маска подсети? А это часть ip-адреса. IP-адрес поделили на две неравные части. Первые 24 знака (бита) — маска, а остальные 8 — адрес хоста в подсети.

Маска подсети нужна для определения того, является ли компьютер которому отправляется пакет, компьютером той же подсети, что и наш. Если маска у нас одна, тогда шлем напрямки к компу-получателю, если же нет, то шлем пакет шлюзу (шлюз — это комп, маршрутизатор или программа для сопряжения компьютерных сетей, использующих разные протоколы).

Как работает сеть? Если сказать просто, то так: компьютер отсылает пакет абы куда :), но в пакете есть информация в которой записано кому он предназначен — информация о получателе. Пакет может прийти хосту, для которого он не предназначен. Хост проверит по записанной ключевой информации принадлежность пакета, убедится, что пакет не для него, и выбросит его как ненужный. И так происходит пока пакет не придет к получателю.

Что за информация записана в пакете, по которой хосты определяют принадлежность пакета получателю?

Записаны
MAC-адрес получателя и ip-адрес получателя. MAC-адрес вещь уникальная, в пределах земного шара :).

При тривиальных условиях, то есть когда компьютеры в одной подсети, записывается MAC-адрес получателя и ip-адрес получателя, а когда пакет шлем через шлюз, то в пакете указывается MAC-адрес шлюза (его мы узнаем из ip-адреса шлюза с помощью ARP-запроса) и ip-адрес компьютера-получателя.

DNS-сервер — это компьютер, который знают всё про всех :). Это глобальное определение.

На деле, всё примерно так: есть DNS-серверы национальные (российский, украинский, белорусский, немецкий, . ), под ними DNS-серверы региональные (калининградская область, ленинградская область и т.д.), под региональными — местные DNS-серверы. Национальные серверы знают друг о друге и о серверах которые ниже, региональные знают о серверах которые выше и ниже них. В общем железа хватает, для того, чтобы определить что кому переслать.

Если же DNS-сервер не отвечает, то мы отправляем запрос второму DNS-серверу.

Если у вас не работает интернет, проверьте, может быть не прописаны или прописаны но неправильно DNS-серверы.

IP-адреса есть уникальные (белые, реальные, внешние) и неуникальные (серые, внутренние).

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

  • 10.0.0.0 — 10.255.255.255 (одна сеть класса A)
  • 172.16.0.0 — 172.31.255.255 (шестнадцать сетей класса B)
  • 192.168.0.0 — 192.168.255.255 (256 сетей класса C)

Это «серые», «внутренние» адреса. Они используются в локальных компьютерных сетях, которые если и имеют выход в интернет, то только через шлюз, у которого есть внешний ip-адрес. Если у этого шлюза вторая сеть — интернет, и адрес внешний, то необходимо настроить на нем технологию транслирования сетевых адресов (network address translation, NAT). Это делается для того, чтобы сетевые пакеты из локальной сети, прошедшие через него в интернет, не имели серого адреса-отправителя, т.к. в этом случае сервер, для которого предназначен пакет, не поймет, кому именно из миллионов локальных сетей возвращать ответный пакет. При использовании NAT, шлюз меняет адрес отправителя на свой внешний адрес, а у себя записывает, что «ответные пакеты с этого сервера перенаправлять такому-то компьютеру. ».

В этом случае используется SNAT (source network address translation).

Если же нам необходимо изменять адрес получателя (например, в нашей локальной сети есть сервер терминалов с серым адресом, а мы бы хотели иметь к нему доступ из интернета), то можно использовать на нашем шлюзе DNAT (destination network address translation) — «проброс портов».

То есть мы указываем в правилах файервола, что пакеты, предназначенные нам и пришедшие на порт 3160, перенаправлять на внутренний серый адрес сервера терминалов.

Определение состояния сетевых устройств и средств.

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

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

sudo dhclient eth0

(команду dhclient надо запускать с правами суперпользователя).

Команда ifconfig (без параметров), отображает информацию только об активных сетевых интерфейсах.

Просмотреть информацию по всем интерфейсам можно командой ifconfig -a, выбрать необходимый из них (eth0, или eth1, или eth0:1) и работать с ним.


В Ubuntu имена сетевых устройств имеют вид ethN, где N — число, означающее номер устройства связи в системе.

Нумерация устройств начинается с нуля. Если в компьютере две сетевых карты, то они будут с идентификаторами eth0 и eth1. Если в сетевую карту ethN вставлен сетевой провод, идущий в модем, роутер или свитч, будет написано «RUNNING», на первом рисунке это видно.

Интерфейс eth0 — это карта Ethernet, к которой можно подключить сетевой кабель. В текущий момент сетевой кабель подключен, поэтому интерфейс активен, и для него отображаются ip-адрес, широковещательный адрес и маска подсети:


Интерфейс eth0 — карта Ethernet. Сетевой кабель подлючен, интерфейс активен, присвоен ip(192.168.1.254) и маска подсети(255.255.255.0):


Интерфейс lo — интерфейс обратной петли и позволяет компьютеру обращатся к самому себе. Интерфейс имеет ip-адрес 127.0.0.1 и необходим для нормальной работы системы:


Команда ifconfig -a удобна в тех случаях, когда надо быстро выяснить состояние интерфейсов, в частности, если необходимо узнать их ip-адреса. Помимо сведений о конфигурации сетевых интерфейсов команда выдает еще много полезной информации, например, количество отправленных и полученных пакетов (параметры RX и TX).

Настройка сетевого интерфейса при помощи ifconfig

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

Чтобы получить подробную информацию по команде, пишем в терминале:
man ifconfig

Если компьютер со статическим ip-адресом и не имеет доступа ни к другим сетям ни к интернету, то команда настройки сетевого интерфейса будет такой:

sudo ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up

eth0 — идентификатор сетевого оборудования (сетевая карта).

192.168.1.2 — присваеваемый ip-адрес.

netmask 255.255.255.0 — присваеваемая маска подсети.

up — поднять интерфейс (то есть применить изменения, начать работу сетевой карте).

down — остановить интерфейс.

Команда: sudo ifconfig eth0 down Т.е. остановить работу сетевой карты с eth0 идентификатором.

Сначала выясняем наш старый mac-адрес, выполняем команду ifconfig без параметров.

Допустим он у нас такой: 00:00:00:00:00:01.

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

1) Отключаем интерфейс: ifconfig eth0 down

2) Изменяем MAC: ifconfig eth0 hw ether 00:00:00:00:00:01

3) Включаем интерфейс: ifconfig eth0 up

Все действия можно выполнить одной командой:

sudo ifconfig eth0 down && ifconfig eth0 hw ether 00:00:00:00:00:01 up

&& — означает, выполнить следующую команду при успешном выполнении предыдущей команды.

Как я писал выше, все эти настройки действительны лишь до перезагрузки системы. Сделаем их постоянными следующим образом:

Редактируем файл /etc/network/interfaces

Теперь приступим к редактированю файла настройки сетевых интерфейсов. Вот эти настройки и будут долговременными :), пока мы их не поменяем в файле снова.

Набираем команду ifconfig -a Видим список всех (активных и неактивных) сетевых устройств, которые именуются как eth0, eth1, eth2 и т.д.


На скриншоте вы видите три устройства:

еth0 — первая сетевая карта.

lo — локальная петля.

Локальная сеть подключена к сетевой карте eth0.

Почти вся информация о настройках сети и методах ее активации, хранится в файле /etc/network/interfaces, именно с ним мы и будем работать, используя редактор.

sudo gedit /etc/network/interfaces

auto lo — говорит о том, что интерфейс lo поднимается автоматически при загрузке системы.

Добавьте в файл строки:

auto eth0 iface eth0 inet static address 192.168.1.254 netmask 255.255.255.0 gateway 192.168.1.1

auto eth0 — сетевая карта eth0 поднимается автоматически во время загрузки системы.

iface eth0 inet static — указывает, что интерфейс (iface) сетевой карты (eth0) находится в диапазоне адресов ipv4 (inet) со статическим ip (static).

address 192.168.1.254 — статический ip адрес, тут пишем свой ip-адрес.

netmask — стандартная маска сети.

gateway — ip-адрес основного шлюза.

Редактирование закончено. Сохраняем и закрываем файл.

Запросите у вашего провайдера услуг Интернет (Internet Service Provider, ISP) адреса основного и вспомогательного серверов DNS и опишите их в файле /etc/resolv.conf.
На примере я укажу адрес DNS-сервер своего провайдера, вы должны ввести свои данные.
Откройте файл для редактирования:

sudo gedit /etc/resolv.conf

Вставьте свои данные:

nameserver 192.168.1.1 nameserver 172.16.0.1

Сохраните и закройте файл.

Для настройки DHCP и получения сетевых параметров автоматически, нужно добавить две строчки (пусть у меня так поднимется карта eth1).

sudo gedit /etc/network/interfaces

Вставьте строчки следующего содержания:

auto eth1 iface eth1 inet dhcp

Ваш файл будет выглядеть так:

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.254 netmask 255.255.255.0 gateway 192.168.1.1 auto eth1 iface eth0 inet dhcp

Если по каким-либо причинам вы хотите чтобы при загрузке у сетевой карты eth0 был другой mac-адрес, для этого нужно дописать строчку hwaddress ether 00:00:00:00:00:01:

auto eth0 iface eth0 inet static address 192.168.1.254 netmask 255.255.255.0 gateway 192.168.1.1 hwaddress ether 00:00:00:00:00:01

Несколько IP-адресов на одной сетевой карте

На одной сетевой карте может быть несколько ip-адресов, это бывает необходимо, если в коммутатор идут два провода от разных сетей и один от компьютера. В этом случае можно настроить на компьютере адреса обоих сетей без использования дополнительной сетевой карты. Для этого необходимо идентифицировать так называемый алиас (alias) к определенному сетевому интерфейсу, и выглядеть это будет так: сетевой_интерфейс:1 или сетевой_интерфейс:2, т.е. eth0:1 или eth1:2. Идентифицировать его можно следующим образом:

ifconfig eth0:1 192.168.0.5 netmask 255.255.255.0 up

Интересно то, что можно настроить основной интерфейс через dhcp (автоматически) dhclient eth0, а алиас eth0:1 в статику, чего я в альтернативных операционных системах не нашел.

Network Manager - удобная утилита для управления сетевыми подключениями в Linux, используется по умолчанию во всех основных графических оболочках, что предоставляет пользователю простой и единообразный интерфейс настройки сети. Также Network Manager поддерживает Wi-Fi, 3G и VPN подключения, позволяя легко создавать их в графическом режиме. Но бывают ситуации, когда Network Manager неожиданно ломается, оставляя непривычного к консоли пользователя буквально без связи с внешним миром. В данной статье мы рассмотрим некоторые типовые проблемы, которые достаточно легко устраняются, но при этом могут серьезно испортить жизнь начинающим.

Network Manager - устройство не управляется

Достаточно простая неисправность, точнее даже не неисправность, которая проявляется в том, что Network Manager не может управлять вашим сетевым устройством.

network-manager-not-working-001.jpg

Причина такого поведения лежит в том, что Network Manager не является единственным способом управления сетевыми подключениями в Linux и если он видит, что сетевой адаптер был настроен другим методом, то перестает управлять им. Это вполне корректное поведение, предоставляющее администратору всю полноту власти над системой и обеспечивающее приоритет ручных настроек над автоматическими.

Удалим из этого файла все строки кроме:

network-manager-not-working-002.jpg

На скриншоте выше как раз видны ручные настройки для сетевого адаптера ens33, которые и блокировали работу Network Manager с этим интерфейсом.

После чего перезапустим службу командой:

После чего Network Manager снова возьмет контроль над сетевым интерфейсом.

network-manager-not-working-003.jpg

Для недопущения подобной ситуации в дальнейшем следует внимательно относиться к ручным настройкам сети и не допускать подобных изменений, если вы желаете и далее использовать Network Manager.

Network Manager не видит сеть

Более сложная неисправность, которая заключается в том, что Network Manager вообще не видит сетевых адаптеров, причины ее возникновения нам неизвестны, но приходилось достаточно часто сталкиваться с ней на промежуточных выпусках Ubuntu.

network-manager-not-working-004.jpg

Кстати, данная неисправность может послужить причиной ручной настройки сетевого интерфейса, которое в последствии будет блокировать работу Network Manager, но ее также несложно вылечить, для этого нужно создать пустой файл:

И перезапустить службу:

Для дальнейшей работы Network Manager наличие данного файла необязательно, т.е. вы можете его удалить, но Network Manager продолжит работать нормально.

network-manager-not-working-005.jpg

Как видим, предложенные нами способы восстановления здоровья Network Manager просты и, надеемся, помогут вам сэкономить время и нервы, когда вы столкнетесь с подобной проблемой.

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