Подключение к проводной (Ethernet) сети
Всё, что нужно для настройки большинства проводных соединений — это подключить сетевой кабель. На верхней панели отображается значок проводной сети ( ) с тремя точками во время установления соединения. Точки исчезнут после подключения.
Если этого не произошло, в первую очередь проверьте, подключён ли сетевой кабель. Один его конец должен быть включен в прямоугольный порт Ethernet на компьютере, а второй должен быть подключён к сетевому коммутатору, маршрутизатору, настенной сетевой розетке и т.п. (в зависимости от устройства вашей сети). Ethernet-порт часто находится сбоку ноутбука или в верхней части задней панели настольного компьютера. Иногда световой индикатор рядом с портом Ethernet указывает, что он подключён и активен.
Нельзя просто подключить один компьютер к другому сетевым кабелем (по крайней мере, без некоторых дополнительных настроек). Чтобы соединить два компьютера, нужно подключить каждый из них к сетевому концентратору, маршрутизатору или коммутатору.
Если соединение всё ещё не установлено, возможно, ваша сеть не поддерживает автоматическую настройку (DHCP). В таком случае, придётся настроить её вручную .
Network configuration (Русский)/Ethernet (Русский)
В статье описана настройка Ethernet; общие вопросы по настройке подключения к сети можно найти в статье Настройка сети.
Драйвер устройства
Проверка состояния
udev должен автоматически определить контроллер сетевого интерфейса и загрузить необходимый модуль ядра во время загрузки системы. Найдите пункт «Ethernet controller» (или похожий) в выводе команды lspci -v . В нём содержится информация о модуле ядра с драйвером интерфейса:
Выполните dmesg | grep имя-модуля чтобы проверить, был ли драйвер загружен:
Если драйвер загружен, то следующий раздел можно пропустить. В противном случае выясните имя необходимого модуля.
Загрузка модуля
Найдите в интернете необходимый для вашего чипсета модуль/драйвер. Некоторые распространённые модули — 8139too для чипсетов Realtek, sis900 для чипсетов SiS. Выяснив название модуля, попробуйте загрузить его вручную. Появление сообщения об ошибке «модуль не найден» означает, что данный драйвер не был включён в ядро. Попробуйте найти модуль в AUR.
Если udev не определяет и не загружает нужный модуль автоматически во время запуска системы, изучите к раздел Модули ядра#Автоматическая загрузка модулей с помощью systemd.
Советы и рекомендации
ifplugd для ноутбуков
ifplugd — демон, который автоматически настраивает Ethernet-устройство при подключении кабеля и удаляет конфигурацию при его отключении. Это удобно для ноутбуков со встроенными сетевыми интерфейсами, поскольку последний будет настраиваться лишь при реальном подключении кабеля. Другой вариант использования — когда необходимо перезапустить сеть, но вы не хотите перезагружать компьютер или делать это в оболочке.
По умолчанию ifplugd настроен на работу с устройством eth0 . Эту и другие настройки, такие как время задержки, можно изменить в файле /etc/ifplugd/ifplugd.conf .
Решение проблем
Смена компьютера при использовании кабельного модема
Некоторые провайдеры кабельных интернет-услуг (например, videotron) настраивают кабельный модем на работу только с одним клиентом-компьютером по MAC-адресу его сетевого интерфейса. Как только модем запомнит MAC-адрес первого подключенного компьютера или оборудования, он ни при каких обстоятельствах не будет отвечать на запросы, идущие с других MAC-адресов. Таким образом, если вы поменяете один компьютер на другой (или поставите маршрутизатор), новый компьютер (или маршрутизатор) не будет работать с кабельным модемом из-за другого MAC-адреса. Выключите питание кабельного модема и включите его снова, чтобы сбросить настройки. Как только модем загрузится и подключится к сети, перезагрузите новый компьютер, чтобы он выполнил DHCP-запрос, или отправьте запрос DHCP-аренды вручную.
Если это не поможет, попробуйте скопировать MAC-адрес предыдущей машины (см. Подмена MAC-адреса).
Явное уведомление о перегруженности
Явное уведомление о перегруженности (Explicit Congestion Notification, ECN) может стать причиной проблем с передачей информации на старых/плохих маршрутизаторах. Для systemd 239 это касается как входящего, так и исходящего трафика.
Чтобы включать ECN только по требованию входящих соединений (безопасно, настройка ядра по-умолчанию), выполните:
Для полного отключения ECN (например, чтобы проверить, действительно ли причина возникших проблем в ECN) выполните:
Realtek: нет соединения / проблема WOL
Пользователи с сетевыми интерфейсами на основе Realtek 8168 8169 8101 8111(C) (отдельными/встроенными) могут заметить, что карта отключена во время загрузки системы и лампочка-индикатор не горит. Такое часто встречается на машинах с двумя операционными системами, одна из которых — Windows. Похоже, что причиной являются официальные драйверы Realtek (датированные маем 2007 г. и позднее) для Windows. Эти новые драйверы отключают функцию Wake-On-LAN, выключая интерфейс при завершении работы Windows, в результате чего между загрузками Windows он не работает. Пока Windows не загрузится, индикатор соединения не горит; во время завершения её работы индикатор выключается. В нормальном состоянии лампочка должна гореть всё время работы системы, даже во время POST. Проблема затрагивает и другие операционные системы, не имеющие новейших драйверов (например, Live CD). Есть несколько способов решения.
Включение сетевого интерфейса в Linux
Откат/замена драйвера для Windows
Вы можете откатить ваш драйвер сетевой платы в Windows на тот, который предоставляет Microsoft (если это возможно), или откатить/установить официальный драйвер Realtek, имеющий дату выпуска ранее мая 2007 г. (может найтись на компакт-диске, идущем в комплекте с вашим аппаратным обеспечением).
Включение WOL в драйвере для Windows
Наверное, самое лучшее и быстрое решение — изменить эту настройку в драйвере Windows. Тогда это затронет всю систему, в том числе Arch (а также live CD и другие операционные системы). В менеджере устройств Windows найдите ваш сетевой адаптер Realtek и сделайте на нем двойной щелчок мыши. Во вкладке «Дополнительно» измените значение «Wake-on-LAN после завершения работы» (Wake-on-LAN after shutdown) на «Включено».
В Windows XP (пример):
Включение LAN Boot ROM в BIOS/CMOS
Похоже, что установка Интегрированная периферия (Integrated Peripherals) —> Встроенный (Onboard) LAN Boot ROM —> Включено в BIOS/CMOS возобновляет работу чипа Realtek LAN при загрузке системы, несмотря на то, что драйвер Windows отключает его при завершении работы ОС.
Для чипсетов Atheros отсутствует интерфейс
Пользователи некоторых чипов Atheros ethernet сообщают, что они не работают «из коробки» (с установочного носителя февраля 2014 г.). Помогает установка пакета backports-patched AUR [ссылка недействительна: package not found] из AUR.
Broadcom BCM57780
Этот чипсет Broadcom иногда работает плохо, если не указать порядок загрузки модулей. Необходимые модули — broadcom и tg3 , и загружаться они должны именно в таком порядке.
Если в вашем компьютере используется этот чипсет, сделайте следующее:
- Найдите вашу сетевой интерфейс в выводе lspci:
- Если Ethernet-соединение не функционирует, выдерните кабель и выполните команды:
- Подключите обратно сетевой кабель и проверьте работу модуля:
- Если это решило проблему, сделайте изменения постоянными, добавив модули broadcom и tg3 (в этом порядке) в массив MODULES :
- Пересоберите initramfs:
- В качестве альтернативы можно создать файл /etc/modprobe.d/broadcom.conf со следующим содержимым:
Realtek RTL8111/8168B
За распознавание и работу этого сетевого интерфейса отвечает модуль r8169 , однако некоторые ревизии данного драйвера работают с ошибками — происходит постоянное включение/выключение устройства. Для решения проблемы можно установить модуль r8168 . Если r8168 не загружается автоматически менеджером udev, то нужно запретить загрузку модуля r8169 . Подробнее загрузка модулей описана в статье Модули ядра#Автоматическая загрузка модулей с помощью systemd.
Ещё одной проблемой некоторых ревизий драйвера этого адаптера является плохая поддержка IPv6. В случае зависания страниц и низкой скорости подключения может помочь отключение функциональности IPv6.
Материнская плата Gigabyte с интерфейсом Realtek 8111/8168/8411
При загрузке с выключенным (настройка по умолчанию) IOMMU могут возникнуть проблемы с сетевым интерфейсом на материнских платах Gigabyte (например, Gigabyte GA-990FXA-UD3). Сетевое подключение будет неустойчивым, с малой пропускной способностью или отсутствовать вовсе. Сказанное в равной мере касается как встроенных интерфейсов, так и внешних сетевых плат на шине PCI, поскольку настройки IOMMU влияют на все сетевые интерфейсы материнской платы. Если включить IOMMU и загрузиться с установочного устройства, то на секунду появится сообщение об ошибке AMD I-10/xhci, после чего загрузка продолжится обычным образом. В результате сетевой интерфейс будет функционировать нормально (даже с модулем r8169 ).
Если добавить параметр ядра iommu=soft , то при загрузке сообщение об ошибке будет подавляться.
Материнская плата MicroStar с интерфейсом Realtek 8111/8168/8411
В случае некоторых материнских плат вроде «MicroStar B450M MORTAR TITANIUM» отключение/подключение Ethernet-кабеля или перезапуск DHCP-сервера на маршрутизаторе может привести к переходу r8169 в состояние «downshifted», в результате чего гигабитное соединение сократится до 100-мегабитного. В логах ядра появятся следующие записи:
В этом случае необходимо перезапустить интерфейс (выключить и включить снова):
Сетевые настройки Linux
В этой статье поговорим о настройках сетевого подключения в Linux. Расскажем про команду ifconfig. Посмотрим, как настраивать дистрибутивы Ubuntu, CentOS и прочие).
Перед началом настройки сетевого подключения в Linux нужно сначала проверить, каковы текущие настройки сети. Для этого нам вполне подойдёт команда ifconfig. В принципе, для получения информации мы можем использовать её и без прав ROOT, но если хотим получить привилегии суперпользователя, вводим sudo ifconfig. Результатом выполнения команды станет получение списка имеющихся сетевых подключений и их параметров:
Итак, мы видим, что на нашем компьютере используются два сетевых интерфейса: eth0 и lo. Давайте рассмотрим их подробнее.
Интерфейс lo является локальной петлёй, имеющей IP-адрес 127.0.0.1. Она предназначена для обеспечения сетевого доступа к компьютеру. В принципе, этот интерфейс не требует дополнительных настроек.
Что касается интерфейса eth0, то это не что иное, как Ethernet — сетевая карта, имеющая следующие сетевые параметры: — 192.168.1.18 — это IP-адрес; — 255.255.0.0 — маска сети; — 00:11:5b:91:25:3e — MAC-адрес.
При этом значение RUNNING показывает нам, что в данный момент наш сетевой интерфейс eth0 работает. Кстати, нужно понимать, что в различных версиях Linux имя сетевого интерфейса может быть разным — eth0, eth1, eth2 и т. д.
Если хотим посмотреть тип соединения, скорость и поддерживаемые параметры, набираем:
Вывод будет следующим:
Из него мы видим, что скорость работы сетевого Linux-интерфейса eth0 — 100 Мб/с с Full Duplex (включённым полным дуплексом). Тут можно уточнить, что полный дуплекс отличается от полудуплекса (Half Duplex) тем, что обеспечивает передачу входящих и исходящих данных одновременно, а не поочередно.
Переходим к сетевым настройкам Linux
Узнав информацию о текущих подключениях, можно переходить к настройкам локальной сети в Linux. У нас есть 3 способа сделать это: — через графическую оболочку; — используя команду ifconfig либо инструмент Network Manager; — используя конфигурационные файлы сетевого сервиса Network либо Networking.
В принципе, последний способ считается одним из самых удобных и надёжных. Чтобы настроить сеть в Linux, нужно открыть файл, который содержит конфигурацию интерфейса. Здесь всё будет зависеть от того, какой именно Linux-дистрибутив используется.
Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Ubuntu, Kubuntu и прочие)
Файл с параметрами сетевых подключений здесь:
Чтобы поменять в Linux настройки сети, файл надо открыть с root-правами любым текстовым редактором. Например, используя nano:
Чтобы обеспечить автоматическое получение адресов от DHCP-сервера, нужно прописать:
Если же адрес нужно прописать статически, указываем:
В этой конфигурации мы рассмотрели лишь пример обычной домашней сети, в которой адрес компьютера 192.168.1.2, а адрес DNS-сервера и шлюза (их функции обычно выполняет wifi-роутер) — 192.168.1.1.
Вариант № 2. RedHat-based дистрибутивы (OpenSuse, CentOS, Fedora)
Наш файл с настройками сети Linux находится здесь:
Мы открываем его с помощью nano или vim:
Если нужно обеспечить автоматическое получение настроек от DHCP-сервера:
А вот статический IP-адрес:
В этом случае IP-адреса DNS-серверов прописываются в файле:
Вот, к примеру, для публичных DNS-серверов от Google:
В принципе, это всё, и настройка сети в Linux завершилась. Осталось лишь выполнить перезапуск сети:
Вместо поскриптума
Если нужно выключить и включить сеть в операционной системе Linux, используем всё ту же известную нам команду ifconfig.
Например, следующей командой мы выключим сетевую карту eth0:
А вот команда, включающая сетевую плату в Linux:
Также мы можем полностью остановить работу сетевых интерфейсов:
Теперь включаем всё обратно:
На этом всё. Если хотите получить более профессиональные навыки Linux-администрирования, добро пожаловать на специальный курс в OTUS:
Настройка сети из консоли в Ubuntu
В 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:
В нашей системе только один интерфейс — это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.
Настройки сети находятся в файле /etc/network/interfaces.
Нас будут интересовать в этом файле строчки 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.
Эта команда используется для управления сетью и входит во все дистрибутивы по умолчанию.
Как и в предыдущем примере, смотрим сетевые интерфейсы:
После того, как мы узнали интерфейс, можно переходить к настройке.
Получение 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
Здесь 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 из консоли. Я пытался не просто показать команды, с помощью которых это можно сделать, но и объяснить, как это работает. Теперь вы будете знать, что нужно делать, если у вас нет доступа к графическому интерфейсу, но срочно нужно попасть в сеть. Если остались вопросы, пишите в комментариях!