Настройка сети⚓︎
Начиная с версии 209, в systemd имеется служба systemd-networkd
, которую можно использовать для настройки сети. Кроме того, начиная с версии 213, разрешение имен DNS можно обрабатывать с помощью systemd-resolved
вместо статического файла /etc/resolv.conf
. Обе службы включены по умолчанию.
Файлы конфигурации для systemd-networkd
(и systemd-resolved
) можно разместить в /usr/lib/systemd/network
или /etc/systemd/network
. Файлы в /etc/systemd/network
имеют более высокий приоритет, чем файлы в /usr/lib/systemd/network
.
Существует три типа файлов конфигурации: файлы .link
, .netdev
и .network
.
Именование сетевых устройств⚓︎
Udev обычно назначает имена интерфейсов сетевых карт на основе физических характеристик системы, таких как enp2s1
. Если вы не уверены, как называется ваш интерфейс, вы всегда можете запустить ip link
после загрузки вашей системы.
Для большинства систем существует только один сетевой интерфейс для каждого типа подключения. Например, классическое имя интерфейса для проводного подключения - eth0
. Беспроводное соединение обычно имеет имя wifi0
или wlan0
.
Если вы предпочитаете использовать классические или настраиваемые имена сетевых интерфейсов, есть три способа это сделать:
- Замаскируйте файл .link udev для политики по умолчанию:
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
- В файле
/boot/grub/grub.cfg
передайте опциюnet.ifnames=0
в командной строке ядра.
Настройка DHCP⚓︎
Приведенная ниже команда создаёт файл базовой конфигурации для настройки IPv4 DHCP:
cat > /etc/systemd/network/10-eth-dhcp.network << "EOF"
[Match]
Name=<network-device-name>
[Network]
DHCP=ipv4
[DHCP]
UseDomains=true
EOF
Настройка статического 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=<Your Domain Name>
EOF
Если у вас несколько DNS-серверов, можно добавить несколько записей DNS. (Замените ключ DNS в команде, расположенной выше)
DNS=192.168.0.1 8.8.8.8 8.8.4.4
Не включайте записи DNS или доменов, если вы собираетесь использовать статический файл /etc/resolv.conf
.
Создание файла /etc/resolv.conf⚓︎
Если система будет подключена к сети Интернет, ей потребуются некоторые средства разрешения доменных имен (DNS) для преобразования доменных имён в IP-адреса и наоборот. Лучше всего это достигается помещением IP-адреса DNS-сервера, доступного у интернет-провайдера или сетевого администратора, в /etc/resolv.conf
.
Настройка systemd-resolved⚓︎
Обратите внимание
При использовании методов, несовместимых с systemd-resolved для настройки сетевых интерфейсов (например, ppp и т. д.), или при использовании любого типа локального преобразователя (например, bind, dnsmasq, unbound и т. д.) или любого другого программного обеспечения, которое генерирует /etc/resolv.conf (например, программа resolvconf, отличная от той, которая предоставляется systemd), службу systemd-resolved использовать не следует.
При использовании службы systemd-resolved
для настройки DNS, будет создан файл /run/systemd/resolve/resolv.conf
.
Создайте символическую ссылку, чтобы использовать этот файл в каталоге /etc
ln -sfv /run/systemd/resolve/resolv.conf /etc/resolv.conf
Статическая настройка файла resolv.conf⚓︎
Если требуется статический файл /etc/resolv.conf
, создайте его, выполнив следующую команду:
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
domain <Ваше доменное имя>
nameserver <IP-адрес вашего основного сервера имен>
nameserver <IP-адрес вашего вторичного сервера имен>
# End /etc/resolv.conf
EOF
domain
- можно можно опустить или заменить на search
Замените <Ваше доменное имя>
IP-адресом DNS-сервера. Может присутствовать несколько записей (требования предусматривают наличия вторичных серверов для возможности восстановления). Если вам нужен только один DNS-сервер, удалите вторую строку nameserver
из файла. IP-адрес также может быть маршрутизатором в локальной сети.
В качестве DNS можно указать адреса, предложенные ниже:
Yandex DNS IPv4 77.88.8.8
и 77.88.8.1
The Google Public IPv4 DNS адреса 8.8.8.8
и 8.8.4.4
The Google Public IPv6 DNS адреса 2001:4860:4860::8888
и 2001:4860:4860::8844
Настройка /etc/hostname⚓︎
Во время процесса загрузки файл /etc/hostname
используется для определения имени хоста системы.
Создайте файл /etc/hostname
и введите имя хоста, запустив:
echo "MyHostName" > /etc/hostname
"MyHostName"
необходимо заменить именем, присвоенным компьютеру. Не вводите здесь полное доменное имя (FQDN). Эта информация помещается в файл /etc/hosts
.
Настройка /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
. FQDN, напрмер mylin.example.org
.
Даже если не используется сетевая карта, всё равно требуется действительное полное доменное имя. Это необходимо для правильной работы определенных программ, таких как MTA (почтовый сервер).
Создайте файл /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
- так называемый, «местный» от англ. local, или «локальный хост», по смыслу — это компьютер, зарезервированный специально для FQDN.