9.2. Настройка сети

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

9.2.1. Файлы конфигурации сетевого интерфейса

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

[Примечание]

Примечание

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

systemctl disable systemd-networkd-wait-online

Конфигурационные файлы для systemd-networkdsystemd-resolved) могут находиться в каталоге /usr/lib/systemd/network или /etc/systemd/network. Файлы в каталоге /etc/systemd/network имеют более высокий приоритет, чем в /usr/lib/systemd/network. Существует три типа конфигурационных файлов: .link, .netdev и .network. Для получения подробной информации с описанием и примерами содержимого этих конфигурационных файлов ознакомьтесь с руководствами systemd-link(5), systemd-netdev(5) и systemd-network(5).

9.2.1.1. Именование сетевых устройств

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

[Примечание]

Примечание

Имена интерфейсов зависят от реализации и конфигурации демона udev, работающего в системе. Демон udev для LFS (установленный в Раздел 8.72, «Systemd-252») не запустится, пока система LFS не будет загржена. Таким образом, не правильно определять имена интерфейсов, используемых в системе LFS, путем запуска этой команды в хост-дистрибутиве, даже в среде chroot.

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

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

  • Замаскируйте файл .link для политики по умолчанию:

    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

    Смотрите справочную страницу systemd.link(5) для получения дополнительной информации.

  • В /boot/grub/grub.cfg передайте опцию net.ifnames=0 в строке ядра.

9.2.1.2. Настройка статического 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=<Ваше доменное имя>
EOF

Можно добавить несколько записей DNS, если у вас более одного DNS сервера. Не добавляйте записи DNS и Domains, если вы собираетесь использовать статический файл /etc/resolv.conf.

9.2.1.3. Конфигурация DHCP

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

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

[Network]
DHCP=ipv4

[DHCPv4]
UseDomains=true
EOF

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

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

9.2.2.1. Настройка systemd-resolved

[Примечание]

Примечание

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

Чтобы отключить systemd-resolved, выполните следующую команду:

systemctl disable systemd-resolved

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

9.2.2.2. Статическая конфигурация resolv.conf

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

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

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

# End /etc/resolv.conf
EOF

Оператор domain может быть опущен или заменён оператором search. Смотрите справочную страницу resolv.conf для получения подробной информации.

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

[Примечание]

Примечание

Адреса общедоступных DNS серверов Google 8.8.8.8 и 8.8.4.4 для IPv4, а 2001:4860:4860::8888 и 2001:4860:4860::8844 для IPv6.

9.2.3. Настройка имени хоста

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

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

echo "<lfs>" > /etc/hostname

<lfs> замените на имя вашего компьютера. Не вносите сюда полное доменное имя(FQDN). Эта информация помещается в файл /etc/hosts.

9.2.4. Настройка файла /etc/hosts

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

IP_address myhost.example.org aliases

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

Private Network Address Range      Normal Prefix
10.0.0.1 - 10.255.255.254           8
172.x.0.1 - 172.x.255.254           12
192.168.y.1 - 192.168.y.254         16

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

Правильный IP адрес может быть 192.168.1.1. Правильный FQDN для этого IP адреса может быть lfs.example.org.

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

Создайте файл /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 — это зарезервированная специально для FQDN запись.