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

9.5.1. Создание файлов конфигурации сетевого интерфейса

Файлы в каталоге /etc/sysconfig/ обычно определяют, какие интерфейсы запускаются и выключаются сетевым скриптом. Этот каталог должен содержать файл для каждого настраиваемого интерфейса, например ifconfig.xyz, где «xyz» описывает сетевую карту. Имя интерфейса (например, eth0) обычно является подходящим. Каждый файл содержит атрибуты одного интерфейса, такие как его IP-адреса, маски подсетей и так далее. Имя файла должно быть ifconfig.

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

Примечание

Если процедура именования из предыдущего раздела не использовалась, udev будет назначать имена интерфейсов сетевых карт на основе физических характеристик системы, например, enp2s1. Если вы не знаете имя вашего интерфейса, вы всегда можете запустить ip link или ls /sys/class/net после загрузки системы.

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

Следующая команда создает пример конфигурационного файла для устройства eth0 со статическим IP-адресом:

cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"
ONBOOT=yes
IFACE=eth0
SERVICE=ipv4-static
IP=192.168.1.2
GATEWAY=192.168.1.1
PREFIX=24
BROADCAST=192.168.1.255
EOF

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

Если переменной ONBOOT присвоено значение yes, сценарий загрузки сети System V вызовет сетевую карту (NIC) в процессе загрузки системы. Если задано значение, отличное от yes сетевой адаптер будет проигнорирован сетевым скриптом и не будет запущен автоматически. Интерфейсы можно запускать или останавливать вручную с помощью команд ifup и ifdown.

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

Переменная SERVICE определяет метод получения IP-адреса. Пакет LFS-Bootscripts имеет модульный формат назначения IP, а создание дополнительных файлов в каталоге /lib/services/ позволит использовать другие методы назначения IP. Переменная обычно используется для протокола DHCP (Dynamic Host Configuration Protocol), который рассматривается в книге BLFS

Переменная GATEWAY должна содержать IP-адрес шлюза по умолчанию, если таковой имеется. Если нет, то закомментируйте эту строку.

Переменная PREFIX указывает количество бит, используемых в подсети. Каждый сегмент IP-адреса состоит из 8 бит. Если маска подсети равна 255.255.255.0, то для указания номера сети используются первые три сегмента (24 бита). Если сетевая маска 255.255.255.240, подсеть использует первые 28 бит. Префиксы длиннее 24 бит обычно используются DSL и кабельными интернет-провайдерами (ISP). В этом примере (PREFIX=24) маска сети — 255.255.255.0. Измените переменную PREFIX в соответствии c конфигурацией вашей сети. Если этот параметр не указан, то ПРЕФИКС по умолчанию равен 24.

Для получения дополнительной информации смотрите справочную страницу ifup.

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

Системе потребуются дополнительные настройки службы доменных имен (DNS) для преобразования имен сети Интернет в IP-адреса и наоборот. Это достигается путем указания IP-адреса DNS-сервера, доступного от провайдера или администратора сети, в /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 - 8.8.8.8 и 8.8.4.4.

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

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

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

echo "<lfs>" > /etc/hostname

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

9.5.4. Настройка файла /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

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

# End /etc/hosts
EOF

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