JeOS VM noDHCP

Материал из ALT Linux Wiki

ИНСТРУКЦИЯ

Начальная настройка виртуального сервера alt-p10-starterkit-jeos-systemd (x86_64) в условиях отсутствия DHCP в сегменте.
Целью инструкции является описание последовательности действий, в результате которых будет получена готовая работоспособная минимальная система JeOS (Just Enough Operating System) с доступом по ssh.
Инструкция позволяет:

  1. Определить модуль сетевого контроллера, интерфейс которого не поднят, т.к. DHCP в сегменте отсутствует.
  2. Создать ранее не существующие настройки сети с помощью Etcnet.
  3. Создать первого пользователя, отличного от root, с доступом через ssh, правом вызова "su -" и дружественной локалью.
  4. Активировать сервис sshd для доступа к хосту по сети.
  5. Обновить систему и ядро.
  6. Установить необходимые пакеты по необходимости и по вкусу.

Для данного примера была создана виртуальная машина (ВМ) VMware со следущими установками:
Compatibility: "ESXi 6.7 and later (VM version 14)", OS type: "Linux -> Other 4.x or later Linux (64-bit)".
Минимальные рекомендованные параметры ВМ: CPU 1, RAM 1 GB, HDD 4 GB, а также Network adapter: VMXNET 3.
При установке ОС нужно выбрать "форматирование всего виртуального диска", EFI, а также задать пароль root'а.
По получению системного рутового приглашения посмотрим название сетевого контроллера:

# lspci

Например: "Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)".
Ищем название соответствующего модуля:

# lsmod

Например, в нашем случае: vmxnet3
Если IPv6 не понадобится, выполним:

# echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
# sysctl -f

Поскольку инструкция для случая без DHCP, то сетевой контроллер присутствует, но его состояние "DOWN", IP-адрес не назначен и имя хоста имеет вид типа "adbvkjh6gwhsu".
Смотрим имя контроллера:

# ip a

Например, это ens192. Пропишем настройки сети через Etcnet. Дополнительные предположения:
Хост 192.168.1.100, шлюз 192.168.1.254, DNS 192.168.1.1 и 192.168.2.1, доменное имя хоста thehost.domain1.tld

# mkdir /etc/net/ifaces/ens192/
# cd /etc/net/ifaces/ens192/
# echo MODULE=vmxnet3 > options
# echo TYPE=eth >> options
# echo BOOTPROTO=static >> options
# echo ONBOOT=yes >> options
# echo DISABLED=no >> options
# echo CONFIG_IPV4=yes >> options
# echo NM_CONTROLLED=no >> options
# echo SYSTEMD_CONTROLLED=no >> options
# echo 192.168.1.100/24 > ipv4address
# echo default via 192.168.1.254 > ipv4route
# echo nameserver 192.168.1.1 > resolv.conf
# echo nameserver 192.168.2.1 >> resolv.conf
# echo search domain1.tld domain2.tld >> resolv.conf
# cp resolv.conf /etc/resolv.conf
# echo thehost.domain1.tld > /etc/hostname

Добавим первого пользователя (например, theuser) и дадим ему руль (чтобы обретать права рута через "su -"):

# useradd theuser
# passwd theuser
# groups theuser
# usermod -aG wheel theuser

А также включим ему англоязычную локаль, дружественную, например, к символам псевдографики через PuTTY (если актуально):

# cd /home/theuser/
# echo LANGUAGE=en_US.UTF-8 > .i18n
# echo LANG=en_US.UTF-8 >> .i18n
# chmod 600 .i18n
# chown theuser:theuser .i18n

Активируем сервис OpenSSH (благо он уже установлен в JeOS) и перезагрузимся (заодно и демон загрузится):

# systemctl enable sshd
# sync && reboot

Т.к. сеть уже работает, то обновим систему:

# apt-get update && apt-get dist-upgrade

Установим пакет для обновления ядер, Midnight Commander (если надо), демон агента VMware:

# apt-get install update-kernel mc open-vm-tools

Активируем демон агента VMware, почистим диск, полюбуемся на свободное пространство, перезагрузимся:

# systemctl enable vmtoolsd
# apt-get clean ; df
# sync && reboot

Обновим ядро:

# update-kernel
# apt-get clean ; df
# sync && reboot

Можно также удалить старые ядра:

# remove-old-kernels ; df
# sync && reboot

Далее по вкусу.