Этот раздел применяется только в том случае, если требуется настроить сетевую карту.
Начиная с версии 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.75, «Systemd-255») не запустится, пока система 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-адресов. Допустимые диапазоны:
Диапазон адресов локальной сети Стандартный префикс
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.
Если компьютер должен быть виден в Интернете, действительным полным доменным именем может быть само имя домена или строка, полученная путем объединения префикса (часто имени хоста) и домена с помощью символа «.». Кроме того, вам необходимо обратиться к администратору домена, чтобы связать полное доменное имя и ваш общедоступный IP-адрес.
Даже если компьютер не виден из Интернета, полное доменное имя все
равно необходимо для правильной работы некоторых программ, таких
как MTA. Для этих целей можно использовать специальное полное
доменное имя localhost.localdomain
.
Создайте файл /etc/hosts
, выполнив
команду:
cat > /etc/hosts << "EOF"
# Begin /etc/hosts
<192.168.0.2>
<FQDN>
[alias1] [alias2] ...
::1 ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# End /etc/hosts
EOF
Значения <192.168.0.2>
и <FQDN>
должны быть изменены
на необходимые в соответствии требованиями сети (если имеется
IP-адрес выданный сетевым/системным администратором и машина
подключена к существующей сети). Необязательные параметры могут
быть опущены, а строку <192.168.0.2>
можно опустить,
если вы используете подключение, настроенное с помощью DHCP или
автоматической настройки IPv6, или используя localhost.localdomain
в качестве полного доменного
имени.
/etc/hostname
не содержит записей для
localhost
, localhost.localdomain
или имени хоста (без
домена), поскольку они обрабатываются модулем NSS myhostname
, прочтите справочную страницу
nss-myhostname(8)
для получения подробной информации.
Запись ::1 является IPv6-аналогом 127.0.0.1 и представляет loopback-интерфейс IPv6.