Networking service linux ��� ���

Содержание
  1. How To Start, Stop, Restart Networking On Linux?
  2. Get Status Of Network Service
  3. Debian, Ubuntu, Kali
  4. Fedora, CentOS
  5. Stop Network Service
  6. Ubuntu, Debian, Kali
  7. Fedora,CentOS
  8. Start Network
  9. Ubuntu, Debian, Kali
  10. Fedora,CentOS
  11. Restart Network
  12. Преимущества systemd-networkd на виртуальных серверах Linux
  13. Запуск systemd-networkd
  14. Конфигурирование
  15. Недостатки (не актуальны, по большому счету, для серверов)
  16. Бенчмарк
  17. systemd-networkd
  18. ISC DHCP
  19. Заключение
  20. Перезапуск сети в Ubuntu
  21. Перезагрузка сети в Ubuntu
  22. Перезапуск сети в NetworkManager
  23. Команды ifup и ifdown
  24. Выводы
  25. How to Restart Network Interface in Linux
  26. Restart Network Interface Using Command Lines in Linux (generic method)
  27. Debian / Ubuntu Linux restart network interface
  28. Redhat (RHEL) / CentOS / Fedora / Suse / OpenSuse Linux – Restart network interface in Linux
  29. Slackware Linux restart commands
  30. How to see status of network/networking service
  31. systemd-networkd (Русский)
  32. Contents
  33. Основы использования
  34. Службы и настройки
  35. systemd-networkd-wait-online
  36. Примеры настроек
  37. Проводной интерфейс с DHCP
  38. Проводной интерфейс со статическим IP-адресом
  39. Беспроводной интерфейс
  40. Проводные и беспроводные интерфейсы на одной машине
  41. Переименование интерфейса
  42. Файлы настроек
  43. Файлы network
  44. [Match]
  45. [Network]
  46. [Address]
  47. [Route]
  48. [DHCPServer]
  49. Файлы netdev
  50. [Match]
  51. [Netdev]
  52. Файлы link
  53. [Match]
  54. Использование с контейнерами
  55. Сетевой мост с DHCP
  56. Интерфейс моста
  57. Привязка Ethernet к мосту
  58. Сеть моста
  59. Настройка контейнера
  60. Результат
  61. Замечания
  62. Сетевой мост со статическими IP-адресами
  63. Советы и рекомендации
  64. Интеграция сетевого интерфейса и рабочего стола
  65. Назначение IP-адреса на основании SSID
  66. Объединение проводного и беспроводного интерфейсов
  67. Ускорение TCP Slow Start

How To Start, Stop, Restart Networking On Linux?

I have changed my network configuration and want to restart to make changes effective. Or there are some problems with my network and I think restarting it will solve my problems. Here we will look at how to restart networking service in various network distributions like Ubuntu, Debian, Fedora, CentOS.

Get Status Of Network Service

We will get status of network with the following command.

Debian, Ubuntu, Kali

For deb based distributions we will use init.d system. We will provide status option to the networking script.

As we cab see that networking service is active from given date. Its PID is 897 .

Fedora, CentOS

For distributions like CentOS, RedHat, Fedora we will use systemctl command. We will provide the options status and network which is the networking service.

Stop Network Service

We can stop network like below. Bu keep in mind for remote connection it can be create problems with ssh

Ubuntu, Debian, Kali

We will use stop option with networking command in order to stop network services in Ubuntu, Debian, Kali, Mint etc.

Fedora,CentOS

We will use systemctl again with stop option which will stop network services. We also require root privileges that will beget with sudo command.

Start Network

We can start network like below.

Ubuntu, Debian, Kali

We will provide start option in order to start network services in deb based distributions.

Fedora,CentOS

We will use start network option in order to start network services in rpm based distributions.

Restart Network

Now we can restart our network or network services.

Источник

Преимущества systemd-networkd на виртуальных серверах Linux

Обычно на десктопах Linux для управления сетевыми настройками используется NetworkManager, поскольку он отлично справляется со своей работой и имеет GUI фронтенды для всех популярных графических окружений. Однако на серверах Linux его использование не целесообразно: он потребляет много ресурсов. NetworkManager занимает в оперативной памяти около 20 Мб, в то время как systemd-networkd и systemd-resolvd вместе меньше 2 Мб. По этой причине, по умолчанию серверные дистрибутивы Linux server часто используют различные собственные демоны.

Таким образом возникает целый зоопарк скриптов и утилит: демон networking под Debian, который управляет конфигурацией сети через ifupdown, использующий файлы конфигурации хранящиеся в /etc/networking/interfaces.d и файл /etc/networking/interfaces, под CentOS network, который использует скрипты ifup и ifdown и, конечно же, свои файлы конфигурации находящиеся в /etc/sysconfig/network-scripts, netctl под ArchLinux. Всем известно, что Linux — конструктор, но почему бы такой простой и общей для самых различных систем вещи как настройка сети не иметь одинаковый вид?

Мы предлагаем начать использовать быстрый и простой демон systemd-networkd, особенно в свете того, что многие дистрибутивы уже перешли на systemd, поэтому переключение на systemd-networkd не составит труда. На текущий момент systemd-networkd может заменить собой множество утилит и поддерживает настройку сети как по DHCP (клиент и сервер) так и со статическими IP-адресами, мосты, туннели, VLANs, беспроводные сети (используя при этом wpa_supplicant).

В статье мы рассмотрим, как активировать systemd-networkd и начать его использовать, и в чем его основные преимущества перед остальными демонами.

Запуск systemd-networkd

Несмотря на страсти, кипевшие вокруг внедрения systemd, многие популярные дистрибутивы Linux стали использовать этот менеджер служб и поставлять его по умолчанию. Поэтому, вероятно, ваша система уже содержит всё необходимое для включения systemd-networkd. Необходим systemd версии 210 и выше.

Проверить версию можно с помощью команды:

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

Конфигурирование

В качестве примера переключения рассмотрим перенос конфигурации сети по умолчанию в CentOS (/etc/rc.d/init.d/network initscript) на systemd-networkd.

Полностью аналогичо переезд можно осуществить для Fedora и, с небольшими изменениями, для других дистрибутивов. Конфигурационные файлы systemd-networkd находятся в директории /etc/systemd/network. Доступны следующие типы:

  • .link – описывают физические параметры каждого интерфейс: имя, MAC, MTU и другие
  • .network – описывают параметры сети: IP, маршруты, DNS и другие
  • .netdev – описывают виртуальные интерфейсы, мосты

Конфигурация для примера: два интерфейса со статическим IP в LAN и WAN.

Конфигурационные файлы для CentOS (или Fedora) можно найти в директории /etc/sysconfig/network-scripts

Необходимо создать 4 файла в директории /etc/systemd/network/

Вот и всё: конфигурация сети завершена. Теперь можно перезапустить сервис:

Другие типы сетей:

В данном примере сконфигурируем DHCP IPv4 и IPv6; IPv6 если не нужен, можно исключить.

Подключение типа «Мост»

Сначала создает конфигурацию виртуального интерфейса:

И настраиваем интерфейс для подключения:

Недостатки (не актуальны, по большому счету, для серверов)

1. Не будет работать без systemd.

2. Нет ни CLI ни GUI фронтендов. И NetworkManager, и netctl не страдают таким недостатком. Например, для подключения к WiFi вам понадобится командная строка. Не совсем актуально для сервера.

3. Для первого подключения к WiFi необходимы root права. Однако это не совсем недостаток, так как в будущем к этой беспроводной сети подключение будет происходить автоматически.

4. Если быть не осторожным, то пароль от WiFi может храниться в открытом виде в истории команд. но этого можно легко избежать несколькими способами: временно отключить запись команд в историю (для bash: set +o history, set -o history), использовать shell не запоминающий историю (например dash) или просто вручную удалить пароль из истории.

Читайте также:  Steam �� ����� ����� mnt linux

Бенчмарк

Тестируется скорость получения адресов по DHCP, Network manager and dnsmasq отключены.

— CentOS 7
— kernel-3.10.0-327.28.3.el7
— systemd 219
— ISC DHCP client daemon and dhclient-script 4.2.5

systemd-networkd

Меньше чем за секунду.

ISC DHCP

Среднее время после нескольких попыток составило 2.5 секунд.

Заключение

В виду активного использования systemd различными топовыми дистрибутивами Linux можно заключить, что, всё же, сообщество стремится к унификации основных системных функций. К ним относится, в том числе, конфигурирование сети, а systemd, в свою очередь, предлагает удобное, быстрое и функциональное решение. И пусть пока это решение сталкивается с проблемой отсутствия GUI для десктопных систем, но для Linux серверов оно, возможно, станет стандартом «де-факто» и заменит кучу легаси демонов и отдельных утилит. Это сделает Linux гораздо более удобным для контейнеризации и использования на виртуальных машинах.

Источник

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

В Ubuntu и Debian инициализацией сетевых интерфейсов и настройкой сети занимается специальная сетевая служба — networking. Информация о конфигурации сетевых интерфейсов хранится в файле /etc/network/interfaces.

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

Перезагрузка сети в Ubuntu

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

sudo service networking restart

В современных дистрибутивах уже давным давно используется система инициализации Systemd, поэтому можно использовать команду systemctl вместо команды service:

sudo systemctl restart networking.service

Кроме того, можно перезапустить NetworkManager, это тоже помогает, если сеть настроена через него:

sudo systemctl restart NetworkManager

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

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

sudo nmcli networking off

sudo nmcli networking on

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

Затем включите его обратно.

Команды ifup и ifdown

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

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

Выводы

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

Источник

How to Restart Network Interface in Linux

Restart Network Interface Using Command Lines in Linux (generic method)

The procedure to to turn off eth0 interface is as follows. Run:
# ifdown eth0
To turn on eth0 interface run:
# ifup eth0
See ip address info using the ip command:
# ip a show eth0

Debian / Ubuntu Linux restart network interface

To restart network interface, enter:
sudo /etc/init.d/networking restart
To stop and start use the following option (do not run them over remote ssh session as you will get disconnected):
sudo /etc/init.d/networking stop
sudo /etc/init.d/networking start
Debian/Ubuntu Linux with systemd, run:
$ sudo systemctl restart networking

Redhat (RHEL) / CentOS / Fedora / Suse / OpenSuse Linux – Restart network interface in Linux

To restart network interface, enter:
# /etc/init.d/network restart
To stop and start use the following option (do not run them over remote ssh session as you will get disconnected):
# /etc/init.d/network stop
# /etc/init.d/network start
Fedora/RHEL/CentOS/Suse Linux with systemd, run:
$ sudo systemctl restart network

Slackware Linux restart commands

Type the following command:
/etc/rc.d/rc.inet1 restart
You can take down or restart particular interface such as eth1 as follows:
# /etc/rc.d/rc.inet1 eth1_restart
# /etc/rc.d/rc.inet1 eth1_start ### start eth1 ###
# /etc/rc.d/rc.inet1 eth1_stop ### stop eth1 ###

How to see status of network/networking service

Run command:
$ sudo systemctl status network #CentOS/RHEL/Fedora/Suse
$ sudo systemctl status network #Debian/Ubuntu
Sample outputs:

Источник

systemd-networkd (Русский)

systemd-networkd — системный демон для управления сетевыми настройками. Его задачей является обнаружение и настройка сетевых устройств по мере их появления, а также создание виртуальных сетевых устройств. Эта служба особенно полезна при работе со сложными сетевыми настройками контейнера systemd-nspawn или виртуальной машины, но вполне подойдёт и для простых соединений.

Contents

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

Пакет systemd входит в базовую установку Arch. В нём содержится всё необходимое для работы с проводной сетью. Беспроводные сетевые интерфейсы настраиваются специализированными утилитами вроде wpa_supplicant или iwd.

Службы и настройки

Чтобы включить systemd-networkd, запустите/включите службу systemd-networkd.service .

При необходимости можно также настроить systemd-resolved, который будет выполнять разрешение сетевых имён для прикладных приложений:

  • Некоторые пояснения насчёт того, как systemd-resolved работает с файлом resolv.conf, можно найти в статье systemd-resolved.
  • systemd-resolved необходим, если в .network-файлах заданы связанные с DNS параметры.
  • systemd-resolved необходим, если DNS-адреса будут выдаваться DHCP-сервером или через IPv6 router advertisements (параметры DHCP= и/или IPv6AcceptRA= в разделе [Network] , а также UseDNS=yes (задано по умолчанию) в разделах [DHCPv4] , [DHCPv6] , [IPv6AcceptRA] , см. systemd.network(5) ).
  • Кроме того, systemd-resolved может использоваться и без systemd-networkd.

systemd-networkd-wait-online

Cлужба systemd-networkd-wait-online.service запускается автоматически при включении службы systemd-networkd.service . Это служба типа «oneshot», которая ожидает конфигурации доступа в сеть и начинает работу только после выполнения цели network-online.target (параметр WantedBy=network-online.target ). См. также systemd#Запуск сервисов после подключения к сети.

По умолчанию systemd-networkd-wait-online.service ожидает получения информации о состоянии всех интерфейсов под управлением systemd-networkd, причем минимум на одном интерфейсе должно быть установлено рабочее подключение.

Если в вашей системе несколько интерфейсов, но некоторые не смогли подключиться к сети (например, Ethernet-интерфейс с двумя портами, но кабель воткнут только в один), запуск systemd-networkd-wait-online.service завершится неудачно по истечении тайм-аута в 2 минуты. Это может стать причиной неприятной паузы во время загрузки системы. Чтобы служба ожидала подключения любого интерфейса, а не всех, отредактируйте файл службы, добавив параметр —any к строке ExecStart :

Также можно настроить и другие параметры, например, ожидание включения конкретных интерфейсов и режим работы. Подробнее см. systemd-networkd-wait-online(8) .

Примеры настроек

Настройки должны храниться в каталоге /etc/systemd/network в файлах с суффиксом .network. Подробнее смотрите #Файлы настроек и systemd.network(5) .

systemd/udev автоматически назначает постоянные имена для обнаруженных Ethernet, WLAN и WWAN интерфейсов. Перечень интерфейсов можно увидеть командой networkctl list .

Чтобы изменения настроек вступили в силу необходимо будет перезапустить демон systemd-networkd.service .

Читайте также:  Драйвера для звуковой карты windows 10 ноутбук asus

Проводной интерфейс с DHCP

Проводной интерфейс со статическим IP-адресом

Параметр Address= можно указать несколько раз, если необходимо настроить несколько IPv4 и IPv6 адресов. Подробнее смотрите #Файлы network и systemd.network(5) .

Беспроводной интерфейс

Беспроводной сетевой интерфейс нужно предварительно настроить приложением вроде wpa_supplicant или iwd. После этого можно подключиться к беспроводной сети посредством systemd-networkd:

Если беспроводному интерфейсу назначен статический IP-адрес, то настройка полностью (за исключением названия интерфейса) совпадает с настройкой проводного интерфейса.

Для аутентификации в беспроводной сети можно использовать wpa_supplicant или iwd.

Проводные и беспроводные интерфейсы на одной машине

Когда в системе есть и проводной, и беспроводной интерфейсы, настройте директиву ядра metric, чтобы оно могло «на лету» определять, какой из интерфейсов использовать. В этом случае при отключении проводного соединения полного обрыва связи не произойдёт.

Ядро использует настройки метрик при выборе одного из возможных маршрутов для исходящих пакетов — например, при двух включённых сетевых интерфесах, проводном и беспроводном. Если вдруг одно из соединений прерывается, то второй вариант автоматически объявляется победителем. При этом полного разрыва соединения не происходит. Правда, для текущих процессов передачи данных не всегда всё так гладко, но, сторого говоря, это проблема другого уровня сетевой модели OSI.

Переименование интерфейса

Файлы .link можно использовать для назначения интерфейсу нового имени вместо редактирования правил udev. Например, можно задать постоянное имя интерфейса для USB-to-Ethernet адаптера на основе его MAC-адреса, т.к. имена таким адаптерам обычно назначаются в зависимости от того, к какому USB-порту они подключены.

Файлы настроек

Файлы настроек могут находиться в следующих каталогах (в порядке увеличения приоритета):

  • /usr/lib/systemd/network/ — системный сетевой каталог.
  • /run/systemd/network/ — runtime-каталог сетевых программ.
  • /etc/systemd/network/ — локальный каталог системного администрирования.

Существуют три типа файлов настройки.

  • Файлы .network — настройки (профили) сетевых интерфейсов.
  • Файлы .netdev — настройки (профили) виртуальных сетевых интерфейсов.
  • Файлы .link — настройки, которые использует менеджер устройств udev при обнаружении нового интерфейса.

Для этих файлов действуют следующие правила:

  • Профиль активируется, если совпали все условия в разделе [Match] .
  • Если в разделе [Match] не указано ничего, то профиль применяется для всех устройств (можно сравнить с подстановочным символом * ).
  • Файлы настроек сортируются по названиям и обрабатываются в лексическом порядке, независимо от каталога, в котором они расположены.
  • Файлы с одинаковыми названиями заменяют друг друга — в порядке приоритета каталогов, в которых они находятся.

Файлы network

В network-файлах задаются сетевые настройки, чаще всего — для серверов и контейнеров.

Файлы .network могут содержать разделы [Match] , [Link] , [Network] , [Address] , [Route] и [DHCP] . Ниже приведены основные параметры для каждого раздела. Подробнее смотрите systemd.network(5) .

[Match]

Наиболее распространенные ключи для поиска совпадающего устройства:

Параметр Описание Возможные значения Значение по умолчанию
Name= Поиск интерфейса по названию, например: en* . Символ ! в начале инвертирует результаты поиска. Разделённые пробелами названия интерфейсов (можно указывать шаблоны с подстановочными символами в стиле командной оболочки), логическое отрицание ( ! ).
MACAddress= Поиск интерфейса по MAC-адресу, например: MACAddress=01:23:45:67:89:ab 00-11-22-33-44-55 AABB.CCDD.EEFF Разделённые пробелами MAC-адреса в шестнадцатеричном формате; в качестве внутреннего разделителя в адресах можно использовать двоеточия, дефисы и точки.
Host= Поиск по имени хоста или machine ID. Имя хоста (в том числе в виде шаблона), machine-id(5)
Virtualization= Проверка на работу в виртуальном окружении. Virtualization=false — для хост-системы, Virtualization=true — для работы в контейнере или виртуальной машине. Есть возможность проверить тип виртуализации и пространство имён пользователя (параметр private-users ). булевские, логическое отрицание ( ! ), тип ( vm и container ), реализация ( qemu , kvm , zvm , vmware , microsoft , oracle , powervm , xen , bochs , uml , bhyve , qnx , openvz , lxc , lxc-libvirt , systemd-nspawn , docker , podman , rkt , wsl , proot , pouch , acrn ), private-users
Параметр Описание Допустимые значения Значение по умолчанию
MACAddress= Привязка аппаратного адреса к устройству. Полезно при подмене MAC-адреса. Полный MAC-адрес с двоеточием, дефисом или точкой в качестве разделителя
MTUBytes= Максимальный размер передаваемого пакета данных для данного интерфейса. Имейте в виду, что если для интерфейса включён IPv6 и задано значение MTU ниже 1280 (минимальный MTU для IPv6), то оно будет автоматически увеличено до этого значения. Большее значение MTU (например, при использовании jumbo frames) может повысить скорость передачи данных. Целое число; возможны суффиксы K, M, G для указания размерности (основание 1024)
Multicast= групповая передача для интерфейса(-ов). булевское ? не задокументировано ?

[Network]

Параметр Описание Допустимые значения Значение по умолчанию
DHCP= Поддержка DHCPv4- и/или DHCPv6-клиента. булевское, ipv4 , ipv6 . false
DHCPServer= Запуск сервера DHCPv4. булевское false
MulticastDNS= Поддержка multicast DNS. Если задать значение resolve , то включится только разрешение имён, но не регистрация и объявление хостов/служб. булевское, resolve false
DNSSEC= Поддержка DNSSEC. Если задать значение allow-downgrade , то DNSSEC будет автоматически отключаться в не-DNSSEC сетях, что повысит совместимость. булевское, allow-downgrade false
DNS= Адрес DNS-сервера. Может указываться больше одного раза. inet_pton(3)
Domains= Список доменов, которые должны разрешаться с использованием DNS-сервера (подробнее). имя домена (в том числе с символом (

) в начале) IPForward= Пересылка входящих пакетов на другой интерфейс в соответствии с таблицей маршрутизации. Подробнее см. Раздача интернета#Разрешите пересылку пакетов. булевское, ipv4 , ipv6 false IPMasquerade= Если опция включена, то при пересылке пакетов IP-адрес источника подменяется адресом локального сетевого интерфейса. Неявно подразумевает IPForward=ipv4 , IPForward=ipv6 или IPForward=yes . ipv4 , ipv6 , both , no no IPv6PrivacyExtensions= Использование временных IPv6-адресов в соответствии с RFC 4941. Если задать значение prefer-public , то privacy extensions включатся, но предпочтение будет отдаваться использованию публичных адресов, а не временных. Если задать значение kernel , то будут использоваться настройки ядра. булевское, prefer-public , kernel false

[Address]

Параметр Описание Допустимые значения Значение по умолчанию
Address= Можно настроить несколько адресов, указав этот ключ несколько раз. Опция обязательна, если не используется DHCP. Если указать значение 0.0.0.0 (для IPv4) или :: (для IPv6), то будет выделен неиспользуемый блок адресов заданного размера. сатические адреса IPv4 и IPv6 с длиной префикса (см. inet_pton(3) )

[Route]

  • Gateway= — адрес шлюза. Если не используется DHCP, то эта опция обязательна.
  • Destination= — префикс сети назначения.

Если параметр Destination не задан, то используется маршрут по умолчанию.

Параметр Описание Допустимые значения Значение по умолчанию
UseDNS= Объявление DNS-сервера при работе DHCP-сервера. булевское true
Anonymize= Если задать значение true , посылаемые DHCP-серверу параметры будут соответствовать RFC:7844 (Anonymity Profiles for DHCP Clients) для сокрытия идентифицирующей информации. булевское false
UseDomains= Использование полученного от DHCP-сервера домена в качестве адреса для DNS-поиска. Если задать значение route , полученное доменное имя будет использоваться только для маршрутизации DNS-запросов, но не для поиска. Эта опция может повлиять на локальное разрешение имён с помощью systemd-resolved. булевское, route false

[DHCPServer]

Ниже приведён пример настройки DHCP-сервера с hostapd, выступающего в качестве беспроводной точки доступа. Параметр IPMasquerade включает правила межсетевого экрана для NAT, а также автоматически включает IPForward=ipv4 , что разрешает пересылку пакетов.

Файлы netdev

В файлах netdev описывается создание виртуальных сетевых интерфейсов. В нём два раздела, [Match] и [NetDev] . Ниже приведены некоторые важные параметры. Подробнее смотрите systemd.netdev(5) .

[Match]

  • Host= — поиск по имени хоста.
  • Virtualization= — проверка на работу в виртуальном окружении.

[Netdev]

Наиболее распространенные ключи:

  • Name= — имя интерфейса. Опция обязательна.
  • Kind= — вид интерфейса. Например, bridge, bond, vlan, veth, sit и т.д. Опция обязательна.

Файлы link выступают в качестве альтернативы пользовательским правилам udev и применяются при обнаружении менеджером нового устройства. Файл состоит из двух разделов, [Match] и [Link] . Ниже приведены основные параметры обоих разделов. Подробнее смотрите systemd.link(5) .

[Match]

  • MACAddress= — поиск по MAC-адресу.
  • Host= — поиск по имени хоста.
  • Virtualization= — проверка на виртуализацию.
  • Type= — поиск по типу интерфейса (например, vlan).
  • MACAddressPolicy= — использование постоянных или же случайных адресов.
  • MACAddress= — использование конкретного адреса.
  • NamePolicy= — политики выбора и назначения имён интерфейсов, например, kernel , keep и т.д.

Использование с контейнерами

systemd-networkd предоставляет полную сетевую конфигурацию для контейнеров systemd-nspawn, запущенных как на хостовой системе, так и внутри другого контейнера. Подробнее см. systemd-nspawn#Networking

В примерах ниже:

  • вывод команды ip a будет ограничен только рассматриваемыми интерфейсами.
  • хост будет означать вашу основную ОС, а контейнер — гостевую виртуальную машину.
  • все названия сетевых интерфейсов и IP-адреса приведены в качестве примера.

Сетевой мост с DHCP

Интерфейс моста

Первым делом необходимо создать виртуальный интерфейс моста. С помощью systemd создаём устройство-мост br0 :

Перезапустите systemd-networkd.service , чтобы настройки вступили в силу.

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

Обратите внимание, что интерфейс br0 обнаружен, но он всё ещё выключен (DOWN).

Привязка Ethernet к мосту

Следующий шаг — выполнить привязку реального сетевого интерфейса к виртуальному мосту. В примере ниже мы привязываем любой интерфейс, название которого совпадает с шаблоном en* .

Выбранному проводному интерфейсу не должно быть назначено никакого IP-адреса, поскольку для привязки необходим интерфейс без оного. Если необходимо, отредактируйте файл /etc/systemd/network/мой_Eth.network соответствующим образом.

Сеть моста

Теперь, поскольку мост создан и привязан к существующему сетевому интерфейсу, необходимо создать настройки IP. Это определяется в файле .network:

Настройка контейнера

Используйте параметр —networkd-bridge=br0 при запуске контейнера. Подробнее см. systemd-nspawn#Use a network bridge.

Результат

Замечания

  • теперь задан один IP-адрес для интерфейса br0 на хосте, и один для интерфейса host0 в контейнере.
  • появилось два новых интерфейса: vb-мой_контейнер на хосте и host0 в контейнере. Это результат опции —network-bridge=br0 (см. systemd-nspawn#Use a network bridge).
  • DHCP-адрес интерфейса host0 был выдан на основании файла /usr/lib/systemd/network/80-container-host0.network .
  • на хосте

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

А здесь видно, что были активированы интерфейсы br0 и host0 с отдельными IP-адресами и шлюзом по умолчанию 192.168.1.254. Адрес шлюза был автоматически назначен systemd-networkd.

Сетевой мост со статическими IP-адресами

Настройка статического IP-адреса может быть удобной в случае развёртывания веб-сервисов (например, FTP, http, SSH). Если в файле /usr/lib/systemd/network/99-default.link задан параметр MACAddressPolicy=persistent (значение по умолчанию), то устройствам будут назначены постоянные MAC-адреса. Следовательно, будет несложно настроить маршрутизацию сервисов от шлюза на разные интерфейсы.

Выполните следующие настройки:

Настройка очень похожа на настройку #Сетевой мост с DHCP. Во-первых, нужно создать виртуальный мост и привязать к нему физический интерфейс. Эта делается с помощью двух файлов настроек, содержание которых аналогично файлам из раздела о DHCP.

Далее, необходимо настроить IP и DNS для моста. Пример настройки:

Чтобы настроить статический IP-адрес для контейнера, необходимо заместить системный файл /usr/lib/systemd/network/80-container-host0.network , который содержит настройки DHCP для сетевого интерфейса host0 контейнера. Для этого нужно поместить настройки в файл /etc/systemd/network/80-container-host0.network . Например:

Не забудьте проверить, что служба systemd-networkd.service в контейнере включена.

Советы и рекомендации

Интеграция сетевого интерфейса и рабочего стола

Systemd-networkd не имеет встроенной функциональности для интерактивного управления сетевыми интерфейсами, ни через графическое приложение, ни через командную оболочку. Тем не менее, существует ряд утилит для отображения состояния сети, изменения настроек или получения уведомлений.

  • Утилита командной строки networkctl позволяет вывести информацию о сетевых интерфейсах.
  • Когда networkd настраивается с помощью wpa_supplicant, утилитами wpa_cli и wpa_gui можно динамически настраивать WLAN-интерфейсы.
  • Плагин networkd-notify-gitAUR выводит уведомления при изменениях в работе интерфейса (например, при установлении соединения или его завершении).
  • Демон networkd-dispatcherAUR позволяет выполнять сценарии при изменении состояния интерфейса. Работает схожим образом с NetworkManager-dispatcher.
  • Отобразить информацию о DNS-сервере для systemd-resolved можно командой resolvectl status .

Назначение IP-адреса на основании SSID

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

Объединение проводного и беспроводного интерфейсов

Объединение интерфейсов (bonding) позволяет использовать для одного Интернет-соединения несколько сетевых интерфейсов. Если затем, например, проводной сетевой интерфейс по какой-то причине отключится, соединение будет перенаправлено на беспроводной.

Создайте объединённый интерфейс. В качестве режима работы необходимо указать active-backup, чтобы пакеты направлялись на запасной сетевой интерфейс, если основной будет отключён.

Укажите проводной интерфейс в качестве основного:

Беспроводной интерфейс будет запасным:

Объединённый интрефейс необходимо настроить так же, как настраивается обычный сетевой интерфейс:

Теперь, если Ethernet-интерфейс будет отключён, соединение сохранится по беспроводной сети:

Ускорение TCP Slow Start

В сетях с большой пропускной способностью и значительной величиной задержки (для домашнего интернета — выше 10 Мбит/с) стандартные значения для алгоритма TCP Slow Start являются довольно консервативными. Это приводит к тому, что загрузки начинаются медленно и проходит несколько секунд, прежде чем будет задействована вся доступная пропускная способность. Особенно это заметно при обновлениях пакетов в pacman, когда загрузка каждого отдельного пакета успевает завершиться до достижения максимальной скорости для данного соединения.

Настройки TCP позволяют увеличить начальный размер окна, в результате чего соединения будут «ускоряться» быстрее [1]. Для медленных соединений это часто приводит к замедлению передачи, поскольку приходится передавать заново большое количество потерянных пакетов, но при наличии достаточной пропускной способности производительность вырастет.

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

Отредактируйте .network-файл для соединения:

Источник

Читайте также:  Драйвер для принтера epson stylus cx4300 для windows 10
Оцените статью