Ubuntu server настройка сети

Обновлено: 30.06.2024

В руководстве приведены примеры редактирования конфигурационных файлов с помощью текстовых редакторов «nano» и «gedit». Обратите внимание на то, что первый редактор запускается в терминале и может быть использован как при запуске Ubuntu с графическим интерфейсом, так и без него, а «gedit» можно использовать только при включенной графической среде.

Требования к системе

Прежде чем Вы начнете, убедитесь, что:

Различные сетевые утилиты, предназначенные для автоматического конфигурирования сети выключены. Например, тут Вы можете прочитать, как отключить установленный по умолчанию в Ubuntu сетевой помощник Network Manager. Различные сетевые фильтры (например iptables), и утилиты их конфигурирования (например, Firestarter) отключены/правильно настроены и не вмешиваются в работу сети. У Вас есть все необходимые параметры для подключения в Вашей сети (например, IP-адрес, маска подсети и шлюз по умолчанию для соединения с использованием статического IP). Устройства сети осуществляющие фильтрацию по MAC-адресу правильно настроены и «знают» Ваш сетевой интерфейс. Драйвер Вашего сетевого устройства корректно установлен, кабель (при проводном соединении) исправен и подсоединен.

Для настроек вам обязательно потребуется имя вашего сетевого адаптера. Его можно узнать из вывода команды:

Она позволяет посмотреть подключенные сетевые устройства.

Пример вывода команды:

Обратите внимание на строку:

eth0 - это и есть искомое имя сетевого интерфейса.

Имя eth0 будет далее применяться для настройки именно данной сетевой карты. Где eth обозначает что используется Ethernet интерфейс, а 0 - номер устройства. Если у вас установлено несколько сетевых устройств, то, соответственно, им будут присвоены имена: eth0 , eth1 , eth2 и т.д.

После внедрения SystemD (начиная с Ubuntu 15.04) сетевые интерфейсы могут иметь другие имена (не ethX). Сделано это для того, что бы имена сетевых устройств не менялись при подключении к машине новых адаптеров (в последнее время, некоторые USB модемы выступают в роли сетевого адаптера). В результате eth0 может называться например enp0s4 или eno1, или даже enx78e7d1ea46da. Именно это имя сетевого адаптера и нужно использовать в настройке сети.

Более подробно о наименовании сетевых интерфейсов в SystemD можно почитать тут (англ.).

Такое переименование можно отключить добавив в /etc/default/grub, в строку с переменной GRUB_CMDLINE_LINUX_DEFAULT строку net.ifnames=0. После этого нужно выполнить sudo update-grub

Настройка проводной сети

Настройка IP-адреса, шлюза по умолчанию, маски подсети

Отредактируйте файл конфигурации /etc/network/interfaces , например так:

И допишите в него:
Для статического IP:

iface eth0 inet static - указывает, что интерфейс ( iface eth0 ) находится в диапазоне адресов IPv4 ( inet ) со статическим ip ( static ); address 192.168.0.1 - указывает что IP адрес (address) нашей сетевой карты 192.168.0.1; netmask 255.255.255.0 - указывает что наша маска подсети (netmask) имеет значение 255.255.255.0; gateway 192.168.0.254 - адрес шлюза ( gateway ) по умолчанию 192.168.0.254; auto eth0 - указывет системе что интерфейс eth0 необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.

eth0 - имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:

В итоге файл /etc/network/interfaces должен выглядеть примерно так:
(для одного проводного соединения со статическим IP)

Сохраните файл и закройте редактор. В данном примере (редактор nano) - нажмите Ctrl + X , затем Y , убедитесь, что «Имя файла для записи» - /etc/network/interfaces и нажмите Enter .

Более подробно про синтаксис файла /etc/network/interfaces можно прочитать в документации.

Пример конфигурации для динамического IP:

Временная настройка IP-адреса и маски подсети

При необходимости задать пробные настройки, выполните:

Где 192.168.0.1 - наш IP-адрес, /24 - число бит в префиксной части адреса (соответствует маске подсети 255.255.255.0).
eth0 - подключаемый сетевой интерфейс.

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

Настройка DNS

Обратите внимание - в /etc/resolv.conf, при записи нескольких серверов используется несколько ключей nameserver, а в /etc/network/interfaces все адреса DNS серверов записывались в одну строчку после ключа dns-nameservers, разделенные пробелами.

В итоге описание статического интерфейса в /etc/network/interfaces должно выглядеть примерно так:

Ubuntu до версии 12.04

В более старых версиях ubuntu, когда есть необходимость указать статические адреса DNS серверов (если они не выдаются автоматически) выполните:

Настройка соединений ppp

За создание соединений типа «точка-точка» в Ubuntu отвечает демон pppd , более подробная информация о котором доступна в документации. В рамках данного руководства будут рассмотрены примеры создания PPPoE подключения через DSL модем, подключения PPTP (VPN-подключения) и DIAL-UP подключения через обычный модем.

Соединение PPPoE

В стандартную установку Ubuntu входит утилита для настройки PPPoE соединений – pppoeconf , для ее запуска наберите:

Появится «псевдографическое» 2) окно в терминале. Утилита произведет поиск сетевых устройств и выведет их на экран, далее она произведет поиск модема 3) на этих устройствах. Если на этом этапе pppoeconf выдаст отрицательный результат - проверьте правильность подключения, питание модема. Следующий шаг - выбор «популярных параметров» - в большинстве случаев стоит согласиться. Далее утилита запросит Ваш логин, а затем - пароль. Теперь - выбор способа указания DNS серверов. Опять же, в большинстве случаев следует согласиться на получение адресов DNS серверов автоматически. Далее Вам предложат ограничить размер MSS до 1452-х байт - как правило, стоит согласиться. Следующий вопрос - устанавливать ли подключение автоматически при загрузке компьютера. Последний вопрос утилиты - установить ли соединение сейчас. pppoeconf по умолчанию создает для подключения имя dsl-provider. Управлять подключением Вы можете при помощи команд:

Если в Вашем случае опций, предоставляемых утилитой pppoeconf недостаточно - обратитесь к документации по pppd или pppoeconf.

Замечание: при настройке соединения с помощью pppoeconf часть настроек записывается в /etc/network/interfaces , в результате чего Network Manager больше не может управлять сетью. Выход: либо использовать только NM, либо только консоль+конфиги. Вернуть управление Network Manager можно следующим образом. Приведите /etc/network/interfaces к следующему виду (лишнее не обязательно удалять, достаточно закомментировать):

Перезагрузитесь или перезапустите Network Manager:

Соединение PPTP

И добавьте туда опции подключения, например такие:

Далее - отредактируйте файл /etc/chap-secrets 4) и добавьте туда:

После перезагрузки системы Вы сможете управлять соединением при помощи команд:

Процесс настройки VPN-соединения может сильно облегчить скрипт-помощник.

Настройка DIAL-UP подключения

Для настройки модемного соединения можно использовать встроенный конфигуратор pppd - pppconfig или специальную утилиту wvdial .

При помощи pppconfig

Процесс настройки при помощи pppconfig во многом похож на утилиту pppoeconfig , Вам по очереди будут заданы вопросы о параметрах подключения, и будет предложено ввести номер телефона, логин и пароль, а также имя соединения. Запускать pppconfig следует с правами суперпользователя. Например так:

Управлять соединением можно так:

Где my-provider - имя, присвоенное Вами соединению при настройке.

При помощи wvdial

В некоторых случаях (например при подключении с использованием мобильного телефона), удобнее использовать wvdial . Для этого нужно его сначала установить. Например так:

В состав пакета wvdial входит утилита автоматического конфигурирования - wvdialconf .

Вывод будет примерно следующим:

Теперь остается только отредактировать файл /etc/wvdial.conf и добавить в него номер телефона, логин и пароль.

В данном примере я дополнительно добавил несколько опций. См. комментарии.

Файл /etc/wvdial.conf разбит на секции, в качестве разделителей которых выступают сами названия секций, предварённые словом Dialer, в квадратных скобках. Если исполнять команду без параметров, то в дело пойдут установки, перечисленные в секции Defaults. В противном случае дополнительно будут исполнены указанные в добавочных секциях команды.

Теперь, когда все настроено, соединение можно установить набрав:

Если потребуется запустить wvdial с набором номера в импульсном режиме, то это можно сделать командой

Прервать соединение можно прервав выполнение команды wvdial , т.е. в том же терминале нужно нажать Ctrl + C .

Автоматическое подключение

Отредактируйте файл конфигурации /etc/network/interfaces , например так:

И допишите в него:
Для pppoe , pptp , и модемного подключения без использования wvdial :

Где my-provider - название вашего соединения.
При использовании wvdial :

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

Ручная настройка роутинга

Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную - Вы можете создать свой скрипт в /etc/ppp/ip-up.d/ , либо по рекомендации официальной документации создать /etc/ppp/ip-up.local например так:

со следующим кодом:

Далее - сделайте этот скрипт исполняемым, например так:

Теперь маршруты будут автоматически подключаться при установлении ppp-соединения.

Установка MTU и TTL

MTU (Maximum Transfer Unit) - параметр определяет величину максимальной единицы передачи. Это максимальное количество октетов (байт), которое интерфейс способен поддерживать за одну операцию приема/передачи. Для Ethernet это значение по умолчанию составляет 1500 (максимальный размер пакета Ethernet).

TTL (Time To Live) - время жизни ip-пакета в секундах. Нужен чтобы избежать перегрузки сети пакетами. Обычно каждый роутер, через которого прошел пакет, уменьшает TTL на еденицу. Если TTL=0, пакет из системы удаляется. Изначально TTL=128 (для Windows) и TTL=64 (для Ubuntu). Для DNS -записей TTL определяет время актуальности данных при кешировании запросов.

Для изменения величины MTU, отредактируем файл конфигурации /etc/network/interfaces , например так:

Для изменения величины TTL наберите:

Значение TTL меняется только с правами администратора, для выхода из аккаунта администратора введите exit

Настройка WiFi

Настройка Wi-Fi при помощи wpa-supplicant и /etc/network/interfaces

В этой главе пойдет речь о настройке подключения к существующей Wi-Fi сети с использованием наиболее безопасного на сегодняшний день стандарта шифрования и аутентификации WPA2. Дополнительно приведены примеры настроек для менее безопасных соединений.

Если Вы можете повлиять на настройку точки доступа, например, в случае, если это Ваш домашний Wi-Fi роутер - постарайтесь настроить авторизацию с использованием WPA2, т.к. это наиболее безопасный протокол аутентификации в беспроводных сетях на настоящий момент.

Замечания

Дополнительно к требованиям, указанным выше Вам следует учесть, что:

После установки всех необходимых пакетов, кабель проводной сети лучше отсоединить. Некоторые устройства (или их драйвера, например Madwifi) не поддерживают WPA2 (AES). Если соединение WPA2 установить не удается, можно попробовать WPA1 (TKIP). Если у Вас RTxxx (Ralink) с драйверами Serialmonkey - этот способ Вам не поможет. Вам следует либо установить пакет ndiswrapper , заменяющий Serialmonkey, либо попробовать другой способ.

Подготовка

Установите пакеты wpa-supplicant и wireless-tools
Например так:

Теперь убедитесь в том, что Ваше беспроводное устройство (в данном примере это «wlan0») работает и «видит» беспроводные сети. Команда

должна выдать примерно такой результат:

а доступные сети можно посмотреть командой

которая должна выдать примерно такой результат:

Ничего страшного, просто введите команду

соответственно выключить устройство можно командой

Настройка

Редактируем /etc/network/interfaces , например так:

Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:

Генерация ключей

Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII ) в hex-ключ:

Результат будет примерно таким:

hex-ключ это все символы после «psk=».

Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk.

Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так - перезагружаем машину.

Дополнительно

Отключаем чтение файла /etc/network/interfaces для others во избежания попадания пароля от сети к третьим лицам.

Примеры конфигураций

WPA2 + статический IP, скрытый ESSID.

Другие способы работы Wi-Fi оборудования

При помощи Wi-Fi адаптера также возможно установить децентрализованную сеть ad-hoc или сделать из компьютера под управлением Ubuntu точку доступа. Поскольку описание данных способов Wi-Fi подключения выходит за рамки этого руководства - обратитесь к соответствующим разделам. Ссылки на эти разделы см. в разделе Cсылки .

Решение проблем

Не устанавливается соединение по Wi-Fi/Ethernet с точкой доступа/маршрутизатором

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

будет выводиться в консоль похожий текст

Причиной проблемы может быть то, что материнская плата полностью не обесточивается при выключении компьютера. При этом вероятно не обесточивается и некоторое периферийное оборудование, в т.ч. могут не обесточиваться usb порты. Если вы используете, например, Wi-Fi usb-адаптер, то в таком случае можно заметить горящий на адаптере светодиод (если он им оборудован). Вероятно проблема возникает из-за того, что сетевое оборудование в этом режиме работает не совсем корректно.

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

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

Иногда наглухо пропадает соединение по Wi-Fi с точкой доступа/маршрутизатором

Симптомы: сеть изначально работает, а затем после перезагрузки точки доступа/маршрутизатора неожиданно пропадает, и не появляется ни после перезагрузки, ни после танцев с бубном. При этом беспроводной адаптер в упор не видит точку доступа (хотя она может стоять рядом с компьютером), но прекрасно видит все соседские сети. Затем после

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

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

Простое решение проблемы состоит в комментировании этого параметра, чтобы адаптер не был ограничен только этим каналом, и перезапуске сети

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

Перезапуск сети

Теперь, когда все необходимые действия выполнены, можно перезапустить сеть и проверить соединение. Для этого:

Теперь, при запуске команды ip addr должно отобразиться подключение eth0 с выставленными параметрами. Если подключение отображается, но параметры не такие, какие были указаны в файле /etc/network/interfaces , либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.

FAQ по сетям

Как зайти на мой компьютер извне (через интернет)?

Для начала надо узнать, какой IP-адрес даёт провайдер — серый или белый (не путать со статическим/динамическим). Если серый, то ничего не получится. Если белый, то возможны два варианта:

Роутера нет или он работает в режиме бриджа (моста). В этом случае белый IP-адрес присваивается самому компьютеру. Вводим адрес — попадаем на комп, всё просто. Белый адрес присваивается роутеру. Соответственно, по этому адресу мы попадаем на роутер, а не на компьютер. Чтобы попасть на компьютер, на роутере нужно пробросить порты (см. ниже).

Мне кажется, у меня слишком медленно работает сеть!

Измерьте скорость сети между двумя компьютера с помощью iperf . Можно воспользоваться этой инструкцией. В ней предлагают скомпиллировать программу из исходников, но можно просто установить её из репозитория. Если iperf покажет значение немного меньшее, чем ожидаемое, то с сетью всё в порядке, проблема может быть в железе (жёсткий диск/процессор не могут обеспечить большую скорость), в способе передачи (например, scp и ftp весьма неторопливы), в настройках (скорость может быть ограничена, например, настройками FTP -сервера) или в чём-то ещё. Если iperf показал величину, которая в разы меньше желаемой, то да - с сетью проблемы. Стоит посмотреть, в нужном ли режиме работает карта (например, с помощью ethtool ), проверить наличие «errors» в выводе ifconfig и протестировать скорость подключения к какому-нибудь третьему компьютеру.

Как узнать, какие программы слушают порты на моём компьютере?

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

Для вывода информации о конкретном порте можно использовать grep . Например, для 80 порта:

Из вывода netstat не всегда понятно, о какой программе идёт речь (например, 2671/python), подробнее о процессе расскажет ps :

Как присвоить два IP-адреса одной сетевой карте?

Например, интерфейсу eth0 нужно добавить адрес 192.168.1.1. Кратковременно, до перезапуска сети:

Навсегда — добавить в /etc/network/interfaces следующее:

Как пробросить порт?

Например, нужно пробросить порт 8081. Адрес, на который обращается клиент, назовём внешний_ip, а адрес, на который он должен попасть — внутренний_ip.

Начиная с релиза Ubuntu 17.10, для управления конфигурацией сети используется утилита Netplan. Раньше для этих целей применялся скрипт ifupdown, конфигурационные файлы которого находились в папке /etc/network/interfaces. Недостатком такого подхода было то, что файлы настройки сети были разбросаны по всей системе, частью настроек мог управлять NetworkManager, частью systemd-networkd, а часть вообще делалась с помощью ifupdown.

Новая система конфигурации позволяет таки сложить все яйца в одну корзину. Вы выполняете настройку в формате YAML, а Netplan автоматически преобразовывает её при запуске в конфигурацию той системы, которую вы выбрали. В этой статье мы рассмотрим, как выполняется настройка сети Netplan в Ubuntu 18.04.

Основы использования Netplan

Все конфигурационные файлы Netplan находятся в папке /etc/netplan/. Во время запуска службы, она преобразовывает свою конфигурацию в конфигурацию той службы, которая будет управлять сетью и помещает её в каталог /run/. По умолчанию в Ubuntu есть только один конфигурационный файл со следующим содержимым:

Это означает, что управление всей сетью передаётся утилите NetworkManager. Чтобы разобраться, что это означает, давайте рассмотрим синтаксис конфигурационного файла.

1. Синтаксис конфигурации Netplan

Новичкам синтаксис конфигурационного файла Netplan может показаться запутанным, но разобраться в нём вполне можно. Он чем-то напоминает JSON, но не имеет таких жёстких ограничений:

поле0 :
поле1 : значение
поле2 :
- элемент1
- элемент2
- элемент3

Имя поля и его значение разделяется двоеточием. В качестве значения поля можно передавать не только текстовое или числовое значение, но и другое поле, несколько полей или список значений. При передаче списка каждый новый элемент списка должен начинаться с дефиса. Табуляции использовать нельзя. Отступы используются для указания структуры. Например, из примера видно, что поле1 и поле2 относятся к полю0. Это всё, что касается общего синтаксиса, теперь про Netplan:

network :
version : 2
renderer : программа_бэкенд
вид_интерфейса :
имя_интерфейса :
параметр : значение

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

  • renderer - указывает программу, для которой будут преобразоваться ваши настройки. На данный момент поддерживаются только network-manager и systemd-networkd;
  • вид_интерфейса - вид сетевых интерфейсов, которые вы будете настраивать в этой секции. Они делятся на физические: ethernets (проводные), wifis (беспроводные) и виртуальные: vlans , bonds, bridges.
  • имя_интерфейса - имя сетевого интерфейса в системе, например enp3s0 или eth0;
  • параметры - настройки, с помощью которых указывается, как нужно подключаться к сети.

2. Параметры Netplan

Мы разобрались с основным синтаксисом, далее разберём команды, с помощью которых мы будем настраивать сеть:

  • renderer - программа для обработки конфигурации;
  • dhcp4 - получение IPv4 адреса по DHCP;
  • dhcp6 - получение IPv6 адреса по DHCP;
  • dhcp-identifier - если передать значение "mac", то будет использоваться MAC-адрес в качестве идентификатора DHCP;
  • addresses - добавляет статические адреса к интерфейсу, можно несколько;
  • gateway4 - указывает шлюз IPv4;
  • gateway6 - указывает шлюз IPv6;
  • nameservers - указывает DNS-серверы;
  • macaddress - устанавливает новый MAC-адрес;
  • routes - позволяет настроить маршруты таблицы маршрутизации;
  • routing-policy - дополнительная настройка маршрутов, для IP или подсети;
  • access-points - список точек доступа для Wi-Fi;
  • password - пароль для точки доступа Wi-Fi;
  • mode - режим работы сетевой карты Wi-Fi.

3. Команды Netplan

Синтаксис самой команды netplan очень прост:

netplan опции команда

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

  • try - попробовать применить конфигурацию с возможностью отмены;
  • apply - применить конфигурацию;
  • generate - проверка текущей конфигурации и запись на диск;
  • config - записать текущую конфигурацию сети в YAML.

Как настроить сеть Netplan в Ubuntu

Сначала необходимо посмотреть, как называются сетевые интерфейсы в вашей системе. Для этого можно просто изучить содержимое папки /sys/class/net:

У меня есть только Wi-Fi-карта - wlp, у вас же может быть ещё и проводной интерфейс enp. Или устройства могут называться по старому - wlan и eth. Всё зависит от системы.

1. Настройка динамического IP в Netplan

Для настройки динамического IP- адреса для интерфейса enp3s0 создадим новый конфигурационный файл 02-networkd.yaml. Самая простая настройка Netplan для получения IP по DHCP будет выглядеть вот так:

sudo vi /etc/netplan/02-networkd.yaml

network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: yes

В качестве программы для обработки конфигурации мы используем Networkd, далее мы указываем наш сетевой интерфейс и включаем получение IPv4 адреса по DHCP. Все остальные параметры тоже подтянутся по DHCP. Или мы можем вручную настроить DNS для этого интерфейса:

network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: yes
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4

Теперь осталось проверить эту конфигурацию. Для этого выполните:

sudo netplan generate

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

2. Настройка статического IP в Netplan

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

sudo vi /etc/netplan/02-networkd.yaml

network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
addresses: [ 192.168.1.10/24 ]
gateway4: 192.168.1.1
nameservers:
addresses: [ 8.8.8.8, 8.8.4.4 ]

Рассмотрим подробнее, что за что отвечает в этом конфигурационном файле.

  • dhcp4 - отключаем получение IP адреса по DHCP;
  • addresses - параметр ожидает список IP-адресов, которые нужно присвоить нашей сетевой карте, у нас только один адрес, однако, передавать его надо тоже в формате списка, иначе будет ошибка. В конце адреса указывается префикс маски - /24, который отвечает маске сети 255.255.255.0. Вы можете указать и другую маску, но только с помощью префикса, отдельного параметра для этого нет.
  • gateway4 - задаёт адрес роутера, через который наш компьютер сможет получить доступ в интернет;

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

3. Настройка Wi-Fi через Netplan на Ubuntu

Кроме проводного подключения, система конфигурации Netplan умеет управлять подключением к Wi-Fi. Это отличная новость, учитывая, насколько сложно всё это раньше настраивалось, если не было NetworkManager. Правда, для работы Wi-Fi через Networkd надо, чтобы в системе был установлен пакет wpasupplicant. Например, у нас есть точка доступа AccessPoint с паролем 12345678? и мы хотим к ней подключаться. Тогда настройка Netplan Ubuntu будет выглядеть так:

network:
version: 2
renderer: networkd
wifis:
wlp3s0b1:
dhcp4: yes
dhcp6: no
nameservers:
addresses: [ 8.8.8.8, 8.8.4.4 ]
access-points:
"AccessPoint":
password: "12345678"


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

4. Применение конфигурации netplan

Естественно, что после смены настроек в конфигурационном файле ничего не меняется. Сначала нужно проверить конфигурационный файл на ошибки и создать файлы конфигурации программы-обработчика. Для этого выполните:

sudo netplan generate

Если вы хотите видеть более подробную информацию, используйте опцию --debug:

sudo netplan --debug generate

sudo netplan --debug apply


Если вы меняли программу-обработчик, например с NetworkManager на networkd, то надо ещё перезапустить компьютер. После этого сеть будет работать на новой конфигурации.

Выводы

В этой статье мы рассмотрели, как выполняется настройка сети Netplan в Ubuntu 18.04. Как видите, это не очень сложно, и даже удобно, по сравнению со старой конфигурацией. Конечно, есть некоторые недостатки - та же самая невозможность задать маску без префикса, но программа активно развивается, возможно, в будущем это будет исправлено.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Начальная настройка Ubuntu Server 20.04 LTS после установки

Базовая настройка Ubuntu Server 20.04 после установки.

Подключаемся к серверу:

Учётная запись root

Можем убедится в том, что пароль для root пустой:

Учётная запись root по умолчанию

Так устроено в целях безопасности. Например, вы можете забыть что работаете от имени суперпользователя и удалить какие-либо важные вещи. Разработчики Ubuntu это учли и вообще отключили аккаунт суперпользователя.

Если всё же нужно авторизоваться от имени суперпользователя, необходимо установить для него пароль:

Затем нужно ввести два раза пароль. Проверим снова:

Учётная запись root

Важно! На рабочих серверах не делайте так. Так можно делать только на домашней машине для удобства.

Создание нового пользователя с административными правами

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

Система задаст несколько вопросов. Сначала она предложит ввести пароль для этой учетной записи.

Введите пароль и при желании заполните поля с дополнительной информацией. Это не обязательно, и вы можете просто нажать Enter , если хотите оставить поле пустым по умолчанию.

Проверим добавился ли пользователь john :

Добавление нового пользователя

Добавляем нового пользователя в группу sudo :

Сменим пользователя и проверим его права:

Поверка прав пользователя

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

Настройка брандмауэра

OpenSSH in UFW

Разрешим SSH-соединения, чтобы иметь возможность подключиться в следующий раз:

Allow OpenSSH in UFW

И опять проверяем статус:

OpenSSH enable in UFW

Теперь можно настроить аутентификацию на основе SSH-ключей.

Аутентификация пользователя на основе SSH-ключей

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

Для начала сгенерируем SSH ключ с помощью команды (не забудьте отключиться от сервера, команду запускаем на локальной машине!):

Путь для расположения ключа можно оставить стандартным. Можно придумать и ввести passphrase (секретная фраза). Или же просто оставить всё по умолчанию, нажимая Enter :

ssh-keygen

Теперь этот ключ нужно скопировать на сервер. В Windows придётся копировать ключ вручную. Займёмся этим.

Подключаемся к серверу:

В корневой директории созданного пользователя (/home/john) нужно создать папку .ssh . Скорее всего вы уже находитесь в этой директории. Проверить это можно с помощью команды:

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

Здесь создадим директорию .ssh :

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

mkdir .ssh

Установим права для этой папки:

Перейдем в эту папку:

Создадим файл authorized_keys в этой директории:

Установим права для этого файла:

Курсор передвинется на новою строку в ожидании ввода данных от вас:

authorized_keys

Переходим в папку на локальном компьютере, куда был сгенерирован ключ и с помощью любого текстового редактора открываем файл id_rsa.pub . Копируем весь текст из этого файла. Копируйте внимательно, без захвата пробелов в начале и в конце строки!

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

Отлично, мы скопировали и вставили наш ключ в файл authorized_keys . Можно проверить содержимое файла командой:

cat authorized_keys

Теперь при подключении к серверу по SSH, пароль для подключения запрашиваться не будет.

Редактируем конфиг SSH

Откроем для редактирования конфигурационный файл SSH:

Находим строчку PubkeyAuthentication . Раскомментируем её. Так мы активируем возможность авторизации с помощью SSH-ключа:

Находим строчку PasswordAuthentication . Раскомментируем ее и выставим значение no. Так мы запретим авторизацию по паролю:

В самом конце файла с новой строчки вставим команду:

Сохраняем файл и выходим из редактора. Перезапускаем SSH:

Теперь если попытаться авторизоваться под root или каким-либо другим пользователем, то сервер выдаст ошибку доступа.

На этом начальная настройка Ubuntu Server 20.04 завершена. В следующей заметке установим стек LAMP.

Как настроить статический IP-адрес в Ubuntu Server 20.04

Настройка сети в Ubuntu Server 20.04 LTS осуществляется через утилиту Netplan.

NetPlan — это инструмент для управления настройками сети, представленный в Ubuntu начиная с версии 17.10 и выше.

Этот инструмент заменяет файл статических интерфейсов /etc/network/interfaces , который ранее использовался для настройки сетевых интерфейсов в Ubuntu. Теперь нужно использовать /etc/netplan/*.yaml для ваших изменений в настройках сетевых интерфейсов.

Определение сетевых интерфейсов

Определите все доступные сетевые интерфейсы используя команду ip или lshw :

Определение сетевых интерфейсов

У меня уже настроен IP адрес: 192.169.0.150. Я изменю его.

Настройки локальной сети

Отредактируйте файл конфигурации netplan который находится в директории /etc/netplan/ :

Настройки локальной сети

Здесь придётся прописать всё ручками, если у вас ещё нет доступа по SSH. У меня этот файл уже редактировался, мне необходимо изменить только IP адрес.

Основные настройки:

  • addresses — ip адрес который будет назначен вашей сетевой карте.
  • gateway4 — ip адрес вашего роутера.
  • nameservers — DNS сервера. Первый - наш роутер.
  • search — домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера

Мои настройки:

ВАЖНО!
Обратите внимание на пробелы! Именно пробелы должны быть, а не табуляция. Если у вас после сохранения файла не появилась ошибка типа: Error while loading /etc/netplan/00-installer-config.yaml, то файл отредактирован правильно с точки зрения его синтаксиса.

После редактирования файла: Esc -> Shift + : -> wq! -> Enter .

Настройки локальной сети - результат

Если есть необходимость передать управление сетевыми устройствами утилите NetworkManager:

Настройки беспроводной сети

Для корректной работы беспроводного интерфейса вам потребуется установить утилиту WPA supplicant , которая позволяет подключиться к точкам доступа с WPA. WPA и WPA2:

Добавьте новый файл конфигурации в каталог /etc/netplan/ :

Отредактируйте файл конфигурации беспроводной сети с динамическим ip-адресом (DHCP):

Для беспроводной сети в которой используются статические ip-адреса подойдет следующая конфигурация:

Применение конфигурации

Использование netplan для генерации необходимой конфигурации:

Для подробного вывода информации при генерации, используйте опцию --debug :

Применение конфигурации netplan:

Для подробного вывода информации при применении, используйте опцию --debug :

Применение конфигурации

Далее рекомендуется перезапустить интерфейсы или перезагрузить сервер:

Подключение по SSH

В Windows PowerShell:

Подключение по SSH в PowerShell

Используем Putty. Указываем IP адрес и задаем имя сессии, жмём Open:

Подключение по SSH в Putty

Первое подключение по SSH в Putty

Вводим имя пользователя и пароль. Если всё прошло успешно, увидим:

Соединение по SSH установлено

На этом настройка статического IP-адреса в Ubuntu Server 20.04 LTS закончена.

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