Этот раздел применяется только в том случае, если требуется настроить сетевую карту.
Начиная с версии 209 systemd поставляется со службой настройки сети
systemd-networkd,
которую можно использовать для базовой настройки. А начиная с
версии 213, служба DNS работает через systemd-resolved вместо
статичного файла /etc/resolv.conf
.
Обе службы по умолчанию включены.
Если вы не планируете использовать systemd-networkd для настройки сети (например, когда система не подключена к сети, или вы хотите использовать другую утилиту для настройки, например, NetworkManager), отключите службу, чтобы не получить сообщение об ошибке во время загрузки:
systemctl disable systemd-networkd-wait-online
Конфигурационные файлы для systemd-networkd (и systemd-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)
.
Udev обычно назначает имена интерфейсам сетевой карты на основе физических характеристик системы, например enp2s1. Если вы не знаете имя вашего интерфейса, вы всегда можете запустить ip link после загрузки системы.
Имена интерфейсов зависят от реализации и конфигурации демона udev, запущенного в системе. Udev-демон для LFS (установленный в Раздел 8.72, «Systemd-251») не будет запускаться до тех пор, пока не загрузится система 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 в строке ядра.
Приведенная ниже команда создает базовый конфигурационный файл для настройки статического 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
.
Если система будет подключена к интернету, ей понадобится службы
разрешения доменных имен - DNS для того чтобы преобразовывать
доменные имена в Интернете в IP-адреса и наоборот. Для этого проще
всего будет поместить IP адрес DNS сервера, полученного от вашего
провайдера интернета или сетевого администратора, в файл
/etc/resolv.conf
.
При использовании сетевых интерфейсов, несовместимых с
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
вручную.
Если требуется статический файл /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.
В процессе загрузки файл /etc/hostname
используется для настройки имени
хоста системы.
Создайте файл /etc/hostname
и внесите
имя хоста, выполнив команду:
echo "<lfs>
" > /etc/hostname
<lfs>
замените на
имя вашего компьютера. Не вносите сюда полное доменное имя(FQDN).
Эта информация помещается в файл /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 запись.