lfs-ru/chapter09/network.xml

235 lines
15 KiB
XML
Raw Normal View History

2023-05-23 09:22:34 +03:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-config-network" revision="sysv">
<?dbhtml filename="network.html"?>
2023-06-05 00:10:42 +03:00
<title>Настройка сети</title>
2023-05-23 09:22:34 +03:00
<indexterm zone="ch-config-network">
<primary sortas="d-network">network</primary>
<secondary>configuring</secondary></indexterm>
<sect2>
2023-06-05 00:10:42 +03:00
<title>Создание файлов конфигурации сетевого интерфейса</title>
<para>Файлы в каталоге <filename class="directory">/etc/sysconfig/</filename> обычно
определяют, какие интерфейсы запускаются и выключаются сетевым скриптом. Этот каталог
должен содержать файл для каждого настраиваемого интерфейса, например
<filename>ifconfig.xyz</filename>, где <quote>xyz</quote> описывает сетевую карту. Имя
интерфейса (например, eth0) обычно является подходящим. Каждый файл содержит атрибуты
одного интерфейса, такие как его IP-адреса, маски подсетей и так далее. Имя файла должно
быть <emphasis>ifconfig</emphasis>.</para>
2023-05-23 09:22:34 +03:00
<note>
2023-06-05 00:10:42 +03:00
<para>Если процедура именования из предыдущего раздела не использовалась, udev будет назначать
имена интерфейсов сетевых карт на основе физических характеристик системы, например, enp2s1. Если
вы не знаете имя вашего интерфейса, вы всегда можете запустить <command>ip link</command>
или <command>ls /sys/class/net</command> после загрузки системы.
2023-05-23 09:22:34 +03:00
</para>
<para>Имена интерфейсов зависят от реализации и конфигурации демона udev, работающего в системе.
Демон udev для LFS (установленный в <xref linkend="ch-system-udev"/>) не запустится, пока
система LFS не будет загружена. Таким образом, имена интерфейсов в системе LFS не всегда можно
определить, запустив эти команды в хост-дистрибутиве, <emphasis>даже в среде chroot</emphasis>.</para>
2023-05-23 09:22:34 +03:00
</note>
2023-06-05 00:10:42 +03:00
<para>Следующая команда создает пример конфигурационного файла для
устройства <emphasis>eth0</emphasis> со статическим IP-адресом:</para>
2023-05-23 09:22:34 +03:00
<!-- jhalfs relies on the values for IFACE, IP, etc. If you want to change
them, please inform the jhalfs maintainer(s). -->
<screen><userinput>cd /etc/sysconfig/
cat &gt; ifconfig.<replaceable>eth0</replaceable> &lt;&lt; "EOF"
<literal>ONBOOT=<replaceable>yes</replaceable>
IFACE=<replaceable>eth0</replaceable>
SERVICE=<replaceable>ipv4-static</replaceable>
IP=<replaceable>192.168.1.2</replaceable>
GATEWAY=<replaceable>192.168.1.1</replaceable>
PREFIX=<replaceable>24</replaceable>
BROADCAST=<replaceable>192.168.1.255</replaceable></literal>
EOF</userinput></screen>
<para>Значения, выделенные курсивом, должны быть изменены в каждом файле, чтобы правильно
настроить интерфейсы.</para>
2023-06-05 00:10:42 +03:00
<para>Если переменной <envar>ONBOOT</envar> присвоено значение <quote>yes</quote>, сценарий загрузки
сети System V вызовет сетевую карту (NIC) в процессе загрузки системы. Если задано значение, отличное
от <quote>yes</quote> сетевой адаптер будет проигнорирован сетевым скриптом и не будет запущен
автоматически. Интерфейсы можно запускать или останавливать вручную с помощью команд
<command>ifup</command> и <command>ifdown</command>.</para>
2023-06-05 00:10:42 +03:00
<para>Переменная <envar>IFACE</envar> определяет имя сетевого интерфейса, например,
eth0. Она необходима для всех файлов конфигураций сетевых устройств. Расширение
файла должно соответствовать этому значению.</para>
<para>Переменная <envar>SERVICE</envar> определяет метод получения IP-адреса. Пакет
LFS-Bootscripts имеет модульный формат назначения IP, а создание дополнительных файлов
в каталоге <filename class="directory">/lib/services/</filename> позволит использовать
другие методы назначения IP. Переменная обычно используется для протокола DHCP
(Dynamic Host Configuration Protocol), который рассматривается в книге BLFS</para>
<para>Переменная <envar>GATEWAY</envar> должна содержать IP-адрес шлюза по умолчанию, если
таковой имеется. Если нет, то закомментируйте эту строку.</para>
<para>Переменная <envar>PREFIX</envar> указывает количество бит, используемых в подсети.
Каждый сегмент IP-адреса состоит из 8 бит. Если маска подсети равна 255.255.255.0, то для
указания номера сети используются первые три сегмента (24 бита). Если сетевая маска
255.255.255.240, подсеть использует первые 28 бит. Префиксы длиннее 24 бит обычно используются
DSL и кабельными интернет-провайдерами (ISP). В этом примере (PREFIX=24) маска сети —
255.255.255.0. Измените переменную <envar>PREFIX</envar> в соответствии c конфигурацией вашей
сети. Если этот параметр не указан, то ПРЕФИКС по умолчанию равен 24.</para>
2023-06-05 00:10:42 +03:00
<para>Для получения дополнительной информации смотрите справочную страницу <command>ifup</command>.</para>
2023-05-23 09:22:34 +03:00
</sect2>
<sect2 id="resolv.conf">
2023-06-05 00:10:42 +03:00
<title>Создание файла /etc/resolv.conf</title>
2023-05-23 09:22:34 +03:00
<indexterm zone="resolv.conf">
<primary sortas="e-/etc/resolv.conf">/etc/resolv.conf</primary>
</indexterm>
2023-06-05 00:10:42 +03:00
<para>Системе потребуются дополнительные настройки службы доменных имен (DNS) для преобразования
имен сети Интернет в IP-адреса и наоборот. Это достигается путем указания IP-адреса DNS-сервера,
доступного от провайдера или администратора сети, в <filename>/etc/resolv.conf</filename>. Создайте файл,
выполнив следующие действия:</para>
2023-05-23 09:22:34 +03:00
<screen><userinput>cat &gt; /etc/resolv.conf &lt;&lt; "EOF"
<literal># Begin /etc/resolv.conf
2023-06-05 00:10:42 +03:00
domain <replaceable>&lt;Ваше доменное имя&gt;</replaceable>
nameserver <replaceable>&lt;IP-адрес вашего основного DNS-сервера&gt;</replaceable>
nameserver <replaceable>&lt;IP-адрес вашего дополнительного DNS-сервера&gt;</replaceable>
2023-05-23 09:22:34 +03:00
# End /etc/resolv.conf</literal>
EOF</userinput></screen>
2023-06-05 00:10:42 +03:00
<para>Оператор <varname>domain</varname> может быть опущен
или заменён оператором <varname>search</varname>. Смотрите справочную страницу resolv.conf для
получения подробной информации.</para>
2023-05-23 09:22:34 +03:00
2023-06-05 00:10:42 +03:00
<para>Замените <replaceable>&lt;IP-адрес вашего основного DNS-сервера&gt;</replaceable>
адресом наиболее подходящего DNS сервера. DNS серверов, может быть указано более одной записи
(дополнительные серверы необходимы для возможности резервного переключения). Если вам нужен
только один DNS-сервер, удалите вторую строку <emphasis>nameserver</emphasis> из файла. DNS-сервер
2023-06-06 22:40:56 +03:00
также может выступать шлюзом в локальной сети.</para>
2023-05-23 09:22:34 +03:00
<note>
2023-06-05 00:10:42 +03:00
<para>Адреса общедоступных DNS серверов Google - 8.8.8.8 и 8.8.4.4.</para>
2023-05-23 09:22:34 +03:00
</note>
</sect2>
<sect2 id="ch-config-hostname">
2023-06-05 00:10:42 +03:00
<title>Настройка имени хоста</title>
2023-05-23 09:22:34 +03:00
<indexterm zone="ch-config-hostname">
<primary sortas="d-hostname">hostname</primary>
<secondary>configuring</secondary>
</indexterm>
2023-06-05 00:10:42 +03:00
<para>В процессе загрузки файл <filename>/etc/hostname</filename> используется для
настройки имени хоста системы.</para>
2023-05-23 09:22:34 +03:00
2023-06-05 00:10:42 +03:00
<para>Создайте файл <filename>/etc/hostname</filename> и внесите имя хоста, выполнив команду:</para>
2023-05-23 09:22:34 +03:00
<screen><userinput>echo "<replaceable>&lt;lfs&gt;</replaceable>" &gt; /etc/hostname</userinput></screen>
2023-06-05 00:10:42 +03:00
<para><replaceable>&lt;lfs&gt;</replaceable> замените на имя вашего компьютера. Не вносите сюда
полное доменное имя(FQDN). Эта информация помещается в файл <filename>/etc/hosts</filename>.</para>
2023-05-23 09:22:34 +03:00
</sect2>
<sect2 id="ch-config-hosts">
2023-06-05 00:10:42 +03:00
<title>Настройка файла /etc/hosts</title>
2023-05-23 09:22:34 +03:00
<indexterm zone="ch-config-hosts">
<primary sortas="e-/etc/hosts">/etc/hosts</primary>
</indexterm>
<indexterm zone="ch-config-hosts">
<primary sortas="d-localnet">localnet</primary>
<secondary>/etc/hosts</secondary>
</indexterm>
<indexterm zone="ch-config-hosts">
<primary sortas="d-network">network</primary>
<secondary>/etc/hosts</secondary>
</indexterm>
<para>Выберите полное доменное имя (FQDN) и возможные псевдонимы для использования в файле
<filename>/etc/hosts</filename>. Если вы используете статические IP-адреса, вам также необходимо
определиться с IP-адресом. Синтаксис для записи в файле hosts следующий:</para>
2023-05-23 09:22:34 +03:00
<screen><literal>IP_address myhost.example.org aliases</literal></screen>
2023-06-05 00:10:42 +03:00
<para>Если компьютер не должен быть виден в Интернете (т. е. нет зарегистрированного домена
и действительного блока назначенных IP-адресов&mdash;у большинства пользователей этого нет),
убедитесь, что IP-адрес находится в диапазоне внутренних сетевых IP-адресов. Допустимые диапазоны:</para>
2023-05-23 09:22:34 +03:00
<screen><literal>Диапазон адресов локальной сети Стандартный префикс
2023-05-23 09:22:34 +03:00
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</literal></screen>
2023-05-23 09:22:34 +03:00
2023-06-05 00:10:42 +03:00
<para>x может быть любым числом в диапазоне 16-31. y может быть любым числом в диапазоне 0-255.</para>
2023-05-23 09:22:34 +03:00
<para>Правильным IP адресом в локальной сети может быть 192.168.1.1.</para>
2023-05-23 09:22:34 +03:00
<para>Если компьютер должен быть виден в Интернете, действительным полным доменным
именем может быть само имя домена или строка, полученная путем объединения префикса
(часто имени хоста) и домена с помощью символа <quote>.</quote>. Кроме того, вам
необходимо обратиться к администратору домена, чтобы связать полное доменное имя и
ваш общедоступный IP-адрес.</para>
<para>Даже если компьютер не виден из Интернета, полное доменное имя все равно необходимо
для правильной работы некоторых программ, таких как MTA. Для этих целей можно использовать
специальное полное доменное имя <literal>localhost.localdomain</literal>.</para>
2023-05-23 09:22:34 +03:00
2023-06-05 00:10:42 +03:00
<para>Создайте файл <filename>/etc/hosts</filename>, выполнив команду:</para>
2023-05-23 09:22:34 +03:00
<screen><userinput>cat &gt; /etc/hosts &lt;&lt; "EOF"
<literal># Begin /etc/hosts
127.0.0.1 localhost.localdomain localhost
127.0.1.1 <replaceable>&lt;FQDN&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable>
<replaceable>&lt;192.168.1.1&gt;</replaceable> <replaceable>&lt;FQDN&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable> <replaceable>[alias1] [alias2 ...]</replaceable>
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# End /etc/hosts</literal>
EOF</userinput></screen>
2023-06-05 00:10:42 +03:00
<para>Значения <replaceable>&lt;192.168.1.1&gt;</replaceable>,
<replaceable>&lt;FQDN&gt;</replaceable>, и
<replaceable>&lt;HOSTNAME&gt;</replaceable> должны быть изменены в соответствии
с предпочтениями пользователя или требованиями сети (если имеется IP-адрес выданный
сетевым/системным администратором и машина подключена к существующей сети). Необязательные
параметры могут быть опущены.</para>
2023-05-23 09:22:34 +03:00
<!-- This is not very useful
<para>If a network card is not going to be configured, create the
<filename>/etc/hosts</filename> file by running:</para>
<screen role="nodump"><userinput>cat &gt; /etc/hosts &lt;&lt; "EOF"
<literal># Begin /etc/hosts (no network card version)
127.0.0.1 localhost
127.0.1.1 <replaceable>&lt;FQDN&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable>
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# End /etc/hosts (no network card version)</literal>
EOF</userinput></screen> -->
</sect2>
</sect1>