Лабораторная работа №1 — Настройка системы для выполнения лабораторных
- Все лабораторные работы по сетевым протоколам в Linux
- Следующая лабораторная работа — Знакомство с системой
Быстрый поиск
- Вступление
- Настройка виртуальных машин
- Импорт образа и создание виртуальных машин
- Подключение к виртуальным машинам
- Работа с командной строкой
Вступление
Лабораторная работа представляет из себя практико-ориентированную пошаговую инструкцию, выполняемую на одной или нескольких виртуальных машинах. В домашнее задание входит настройка некоторой топологии сети, её конфигурация и сбор этих данных в отчёт специального вида с помощью встроенных в виртуальные машины утилит.
В качестве менеджера виртуальных машин используется VirtualBox, система для выполнения лабораторных предоставляется в виде архива с виртуальной машиной (Open Virtual Appliance, .ova-файл), на основе которого будет создана основная система, на её основе будут создаваться копии для работы.
⚠ ВАЖНО: Некоторые команды для Windows или для разных процессоров могут отличаться. Данные команды будут помечены в лабораторных специальных значком 
Настройка виртуальных машин
В данной главе описаны основные действия и / или команды, необходимые для работы с VirtualBox.
ℹ VirtualBox поддерживает собственный набор команд для работы из терминала с помощью встроенной утилиты VBoxManage, полный список команд представлен по команде VBoxManage --help. Также все настройки над виртуальными машинами возможно проводить через графическую оболочку. Данные способы настройки представлены в отдельном разделе.
Для настройки ВМ в данных лабораторных используется пакет PySnap.
⚠ Важное примечание: В ранних версиях VirtualBox при работе из консоли использовалась локализация внутренних настроек, из-за чего переведённые файлы настроек не работали. При работе используйте латинские названия, перед работой рекомендуется менять локаль с помощью команды export LC_ALL=C
Импорт образа и создание виртуальных машин
ℹ Для выполнения лабораторных необходимо единожды импортировать образ диска и после создавать клоны для работы.
📍 1. Скачайте последнюю версию пакета Pysnap с официальной страницы
📍 2. Установите пакет в вашу систему или в виртуальное окружение Python:
[papillon_rouge@localhost ~]$ python3 -m venv .pysnap
[papillon_rouge@localhost ~]$ source .pysnap/bin/activate
(.pysnap) [papillon_rouge@localhost ~]$ pip install Downloads/pysnap-2.1.0-py3-none-any.whl
Processing ./Downloads/pysnap-2.1.0-py3-none-any.whl
…
Successfully installed prompt_toolkit-3.0.53 pysnap-2.1.0 pyte-0.8.2 wcwidth-0.8.2
(.pysnap) [papillon_rouge@localhost ~]$
ℹ В дальнейшем для работы с утилитой необходимо будет просто активировать окружение.
[papillon_rouge@localhost ~]$ source .pysnap/bin/activate
(.pysnap) [papillon_rouge@localhost ~]$
📍 3. Импортируйте установленный образ с помощью команды pysnap import. Используйте короткое имя для переименования образа:
(.pysnap) [papillon_rouge@BaseALT-Papillon ~]$ pysnap import Downloads/protocols-jeos-x86_64.ova SmallName
Importing [################################] 100%
Imported virtual machines:
- SmallName (/LinuxNetwork2026)
(.pysnap) [papillon_rouge@BaseALT-Papillon ~]$
📍 4. Перед клонированием настройте базовую ВМ для работы с помощью команды pysnap protosettings:
(.pysnap) [papillon_rouge@BaseALT-Papillon ~]$ pysnap protosettings SmallName
Registered proto-settings VM: SmallName
Configured proto-settings VMs: SmallName
(.pysnap) [papillon_rouge@BaseALT-Papillon ~]$
📍 5. Для клонирования машины используйте команду pysnap clone. Укажите базовую ВМ и имя для клона:
(.pysnap) [papillon_rouge@BaseALT-Papillon ~]$ pysnap clone SmallName CloneVM
Name: CloneVM
Group: /LinuxNetwork2026
Serial port: 2331
Parent VM: SmallName
(.pysnap) [papillon_rouge@BaseALT-Papillon ~]$
Поздравляем с созданием вашей первой рабочей машины!
Подключение к виртуальным машинам
После создания виртуальных машин необходимо их включить и к ним подключиться. Обычный запуск виртуальных машин автоматически открывает эмулятор экрана виртуальной машины, установленный в VirtualBox. Однако из-за особенностей настройки он не позволяет производить копирование из основной системы в интерфейс виртуальной машины и, соответственно, копировать данные между виртуальными машинами с помощью буфера обмена.
При работе через Pysnap воспользуйтесь командой pysnap connect для подключения к ВМ:
(.pysnap) [papillon_rouge@BaseALT-Papillon ~]$ pysnap connect CloneVM
Работа с командной строкой
ℹ В процессе выполнения лабораторных работ необходимо проводить настройку виртуальных машин через терминальный интерфейс. Рассмотрим команды и работу с терминалом на примере тестовой машины.
📍 1. Запустим виртуальную машину. Для входа в систему каждой машины необходимо вводить логин (root) и пароль (root).
⚠ ДИСКРЕЙМЕР: Никогда не устанавливайте такие легко угадываемые пароли на свои персональные устройства!
⚠
В некоторых случаях виртуальная машина может сразу не запуститься. Для работы необходимо отключить встроенную в ядро специальную поддержку виртуализации. В случае Linux необходимо в командной строке выполнить команду sudo rmmod kvm_amd, в случае Windows — запустите командную строку от имени администратора, выполните команду bcdedit /set hypervisorlaunchtype off (убедитесь, что ответное сообщение терминала <Smth> completed successfully; Иначе выполните действия из данной статьи) и перезапустите устройство.
⚠
Виртуальная машина в случае проблем с виртуализацией может загружаться от 20 секунд вплоть до 10 минут, при этом демонстрировать как будто постоянную перезагрузку.
📍 2. Для переименования виртуальной машины используется специальная команда sethostname (при смене имени виртуальной машины требуется повторный вход в систему). С помощью данной команды переименуйте ВМ.
@srv
localhost login: root
Password:
[root@localhost ~]# sethostname srv
srv login: root
Password:
Last login: Fri Sep 5 13:09:38 UTC 2025 on ttyS0
[root@srv ~]#
🔷 При работе с терминалом при наборе команд воспользуйтесь клавишей Tab для автодополнения команд. При неоднозначной возможности дополнения после нескольких нажатий Tab будет выведены варианты дополнения команд:
@srv
[root@srv ~]# c
c_rehash catman chcon choom chrt clockdiff
colrm compopt control-dump cpio ctstat cal
cd chcpu chown chvt clrunimap column
conntrack control-restore crlutil curl caller
cd.. chgrp chpasswd cksum
cmp comm conntrackd convertdev.sh
crond cut capsh certutil chkconfig
chronyc clear cmsutil command consoletype convertquota
crontab cvtsudoers case chacl chmem chronyd
clock col compgen continue coproc csplit
cat chattr chmod chroot clock_unsynced colcrt
complete control cp ctrlaltdel
[root@srv ~]# ca
cal caller capsh case cat catman
[root@srv ~]# cal
September 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
🔷 Нажатие Tab в процессе набора команд без введённых символов приводит к выводу возможных аргументов команды. Сочетание клавиш Ctrl+C позволяет сбросить введённую команду без её выполнения.
@srv
[root@srv ~]# ip l
l2tp link
[root@srv ~]# ip link
add afstats change delete help property set show
[root@srv ~]# ip link ^C
[root@srv ~]#
🔷 Для просмотра истории команд можно использовать специальную команду history (заметим, что не исполненные команды, отмененные по Ctrl+C, не указываются в истории):
@srv
[root@srv ~]# date
Sat Sep 20 03:06:32 UTC 2025
[root@srv ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:d2:1c:a7 brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname enx080027d21ca7
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:34:f7:3f brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx08002734f73f
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:09:eb:1f brd ff:ff:ff:ff:ff:ff
altname enp0s9
altname enx08002709eb1f
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:6e:55:de brd ff:ff:ff:ff:ff:ff
altname enp0s10
altname enx0800276e55de
[root@srv ~]# ip link set eth1 up
[root@srv ~]# history
1 cal
2 date
3 ip a
4 ip link set eth1 up
5 history
[root@srv ~]#
🔷 Для редактирования введенных команд можно с помощью клавиш ↑ и ↓ просматривать историю команд и модифицировать их.
@srv
[root@srv ~]# ip link set ethi up
Cannot find device "ethi"
[root@srv ~]# ip link set eth1 up
[root@srv ~]#
🔷 Для поиска по истории команд можно воспользоваться сочетанием клавиш Ctrl+R. После нажатия необходимо ввести подстроку интересуемой команды, терминал предложит последнюю команду, содержащую подстроку. Повторное нажатие Ctrl+R будет продолжать поиск по истории.
@srv
(reverse-i-search)`c<a>l
[root@srv ~]# ca
September 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
[root@srv ~]#