Перейти к содержанию

Настройка сети⚓︎

Начиная с версии 209, в systemd имеется служба systemd-networkd, которую можно использовать для настройки сети. Кроме того, начиная с версии 213, разрешение имен DNS можно обрабатывать с помощью systemd-resolved вместо статического файла /etc/resolv.conf. Обе службы включены по умолчанию.

Файлы конфигурации для systemd-networkdsystemd-resolved) можно разместить в /usr/lib/systemd/network или /etc/systemd/network. Файлы в /etc/systemd/network имеют более высокий приоритет, чем файлы в /usr/lib/systemd/network.

Существует три типа файлов конфигурации: файлы .link, .netdev и .network.

Именование сетевых устройств⚓︎

Udev обычно назначает имена интерфейсов сетевых карт на основе физических характеристик системы, таких как enp2s1. Если вы не уверены, как называется ваш интерфейс, вы всегда можете запустить ip link после загрузки вашей системы.

Для большинства систем существует только один сетевой интерфейс для каждого типа подключения. Например, классическое имя интерфейса для проводного подключения - eth0. Беспроводное соединение обычно имеет имя wifi0 или wlan0.

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

  • Замаскируйте файл .link udev для политики по умолчанию:
ln -s /dev/null /etc/systemd/network/99-default.link
  • Создайте схему именования вручную, например, присвоив интерфейсам что-то вроде internet0, dmz0 или lan0. Для этого создайте файлы .link в /etc/systemd/network/, которые выберут явное имя или лучшую схему именования для ваших сетевых интерфейсов. Например:
cat > /etc/systemd/network/10-ether0.link << "EOF"
[Match]
# Change the MAC address as appropriate for your network device
MACAddress=12:34:45:78:90:AB

[Link]
Name=ether0
EOF
  • В файле /boot/grub/grub.cfg передайте опцию net.ifnames=0 в командной строке ядра.

Настройка DHCP⚓︎

Приведенная ниже команда создаёт файл базовой конфигурации для настройки IPv4 DHCP:

cat > /etc/systemd/network/10-eth-dhcp.network << "EOF"
[Match]
Name=<network-device-name>

[Network]
DHCP=ipv4

[DHCP]
UseDomains=true
EOF

Настройка статического IP-адреса⚓︎

Приведенная ниже команда создает базовый файл конфигурации для настройки статического IP-адреса (с использованием как systemd-networkd, так и systemd-resolved):

cat > /etc/systemd/network/10-eth-static.network << "EOF"
[Match]
Name=<network-device-name>

[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=192.168.0.1
Domains=<Your Domain Name>
EOF

Если у вас несколько DNS-серверов, можно добавить несколько записей DNS. (Замените ключ DNS в команде, расположенной выше)

DNS=192.168.0.1 8.8.8.8 8.8.4.4

Не включайте записи DNS или доменов, если вы собираетесь использовать статический файл /etc/resolv.conf.

Создание файла /etc/resolv.conf⚓︎

Если система будет подключена к сети Интернет, ей потребуются некоторые средства разрешения доменных имен (DNS) для преобразования доменных имён в IP-адреса и наоборот. Лучше всего это достигается помещением IP-адреса DNS-сервера, доступного у интернет-провайдера или сетевого администратора, в /etc/resolv.conf.

Настройка systemd-resolved⚓︎

Обратите внимание

При использовании методов, несовместимых с systemd-resolved для настройки сетевых интерфейсов (например, ppp и т. д.), или при использовании любого типа локального преобразователя (например, bind, dnsmasq, unbound и т. д.) или любого другого программного обеспечения, которое генерирует /etc/resolv.conf (например, программа resolvconf, отличная от той, которая предоставляется systemd), службу systemd-resolved использовать не следует.

При использовании службы systemd-resolved для настройки DNS, будет создан файл /run/systemd/resolve/resolv.conf.

Создайте символическую ссылку, чтобы использовать этот файл в каталоге /etc

ln -sfv /run/systemd/resolve/resolv.conf /etc/resolv.conf

Статическая настройка файла resolv.conf⚓︎

Если требуется статический файл /etc/resolv.conf, создайте его, выполнив следующую команду:

cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf

domain <Ваше доменное имя>
nameserver <IP-адрес вашего основного сервера имен>
nameserver <IP-адрес вашего вторичного сервера имен>

# End /etc/resolv.conf
EOF

domain - можно можно опустить или заменить на search

Замените <Ваше доменное имя> IP-адресом DNS-сервера. Может присутствовать несколько записей (требования предусматривают наличия вторичных серверов для возможности восстановления). Если вам нужен только один DNS-сервер, удалите вторую строку nameserver из файла. IP-адрес также может быть маршрутизатором в локальной сети.

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

Yandex DNS IPv4 77.88.8.8 и 77.88.8.1

The Google Public IPv4 DNS адреса 8.8.8.8 и 8.8.4.4

The Google Public IPv6 DNS адреса 2001:4860:4860::8888 и 2001:4860:4860::8844

Настройка /etc/hostname⚓︎

Во время процесса загрузки файл /etc/hostname используется для определения имени хоста системы.

Создайте файл /etc/hostname и введите имя хоста, запустив:

echo "MyHostName" > /etc/hostname

"MyHostName" необходимо заменить именем, присвоенным компьютеру. Не вводите здесь полное доменное имя (FQDN). Эта информация помещается в файл /etc/hosts.

Настройка /etc/hosts⚓︎

Выберите полное доменное имя (FQDN) и возможные псевдонимы для использования в файле /etc/hosts. Если вы используете статические IP-адреса, вам также необходимо выбрать IP-адрес. Синтаксис записи файла hosts:

IP_address myhost.example.org aliases

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

Диапазон сети                      Префикс
10.0.0.1 - 10.255.255.254          8
172.x.0.1 - 172.x.255.254          16
192.168.y.1 - 192.168.y.254        24

x - может быть любым числом в диапазоне от 16 до 31

y - может быть любым числом в диапазоне от 0 до 255

Корректный локальный IP адрес может быть вида 192.168.1.1. FQDN, напрмер mylin.example.org.

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

Создайте файл /etc/hosts

cat > /etc/hosts << "EOF"
# Begin /etc/hosts

127.0.0.1 localhost.localdomain localhost
127.0.1.1 <FQDN> <HOSTNAME>
<192.168.0.2> <FQDN> <HOSTNAME> [alias1] [alias2] ...
::1       localhost ip6-localhost ip6-loopback
ff02::1   ip6-allnodes
ff02::2   ip6-allrouters

# End /etc/hosts
EOF

Значения <192.168.0.2>, <FQDN> и <HOSTNAME> необходимо изменить в соответствии с потребностями (если IP-адрес назначен сетевым / системным администратором, и оборудование будет подключено к существующей сети).

Необязательные псевдонимы можно опустить, а строку 192.168.0.2 можно не указывать, если вы используете соединение, настроенное с помощью DHCP или автоконфигурации IPv6.

Запись ::1 является эквивалентом IPv6 127.0.0.1 и представляет loopback интерфейс IPv6.

127.0.1.1 - так называемый, «местный» от англ. local, или «локальный хост», по смыслу — это компьютер, зарезервированный специально для FQDN.

К началу