diff --git a/app/app.py b/app/app.py
new file mode 100644
index 0000000..835fc08
--- /dev/null
+++ b/app/app.py
@@ -0,0 +1,23 @@
+from flask import Flask, request
+
+
+app = Flask(__name__)
+
+
+@app.route('/get', methods=['GET'])
+def function_get():
+ return "GET test\n"
+
+
+@app.route('/post', methods=['POST'])
+def function_post():
+ return f"POST test: {request.json}\n"
+
+
+@app.route('/put', methods=['PUT'])
+def function_put():
+ return f"PUT test: {request.json}\n"
+
+
+if __name__ == "__main__":
+ app.run(host='0.0.0.0', port=5000)
\ No newline at end of file
diff --git a/configs/vmA.yaml b/configs/vmA.yaml
new file mode 100644
index 0000000..d797b03
--- /dev/null
+++ b/configs/vmA.yaml
@@ -0,0 +1,9 @@
+network:
+ ethernets:
+ enp0s3:
+ dhcp4: true
+ enp0s8:
+ dhcp4: no
+ addresses: [192.168.23.10/24]
+ gateway4: 192.168.23.1
+ version: 2
\ No newline at end of file
diff --git a/configs/vmB.yaml b/configs/vmB.yaml
new file mode 100644
index 0000000..e52e8fa
--- /dev/null
+++ b/configs/vmB.yaml
@@ -0,0 +1,11 @@
+network:
+ ethernets:
+ enp0s3:
+ dhcp4: true
+ enp0s8:
+ dhcp4: no
+ addresses: [192.168.23.1/24]
+ enp0s9:
+ dhcp4: no
+ addresses: [192.168.5.1/24]
+ version: 2
\ No newline at end of file
diff --git a/configs/vmC.yaml b/configs/vmC.yaml
new file mode 100644
index 0000000..5a5e3b4
--- /dev/null
+++ b/configs/vmC.yaml
@@ -0,0 +1,9 @@
+network:
+ ethernets:
+ enp0s3:
+ dhcp4: true
+ enp0s8:
+ dhcp4: no
+ addresses: [192.168.5.10/24]
+ gateway4: 192.168.5.1
+ version: 2
\ No newline at end of file
diff --git a/pics/curl.png b/pics/curl.png
new file mode 100644
index 0000000..6246bcc
Binary files /dev/null and b/pics/curl.png differ
diff --git a/pics/iptables.png b/pics/iptables.png
new file mode 100644
index 0000000..8200bf1
Binary files /dev/null and b/pics/iptables.png differ
diff --git a/pics/net1.png b/pics/net1.png
new file mode 100644
index 0000000..5980e27
Binary files /dev/null and b/pics/net1.png differ
diff --git a/pics/net2.png b/pics/net2.png
new file mode 100644
index 0000000..7c1497c
Binary files /dev/null and b/pics/net2.png differ
diff --git a/pics/net3.png b/pics/net3.png
new file mode 100644
index 0000000..cf9a786
Binary files /dev/null and b/pics/net3.png differ
diff --git a/pics/py.png b/pics/py.png
new file mode 100644
index 0000000..df60bf6
Binary files /dev/null and b/pics/py.png differ
diff --git a/pics/py_check.png b/pics/py_check.png
new file mode 100644
index 0000000..361d35f
Binary files /dev/null and b/pics/py_check.png differ
diff --git a/pics/tcp_get.png b/pics/tcp_get.png
new file mode 100644
index 0000000..f479646
Binary files /dev/null and b/pics/tcp_get.png differ
diff --git a/pics/tcp_post.png b/pics/tcp_post.png
new file mode 100644
index 0000000..e44af5b
Binary files /dev/null and b/pics/tcp_post.png differ
diff --git a/pics/tcp_put.png b/pics/tcp_put.png
new file mode 100644
index 0000000..8f20a3f
Binary files /dev/null and b/pics/tcp_put.png differ
diff --git a/report.md b/report.md
new file mode 100644
index 0000000..86f0e44
--- /dev/null
+++ b/report.md
@@ -0,0 +1,67 @@
+# Отчёт по работе №1: Практика Linux (VirtualBox)
+ФИО: Ситжанова Элина Кайдаровна
+День рождения: 23.05.2002
+
+---
+
+**Этап 1: Создание виртуальных машин и настройка пользователей.**
+Создаём одну ВМ на основе скачанного образа и создаём две её копии.
+Далее настраиваем сетевые адаптеры по заданию (две подсети: servernet и clientnet + сетевой мост).
+После этого на каждой машине вручную задаем новый hostname и user.
+```shell
+ 1. Linux A: user=sitzhanova_1, hostname=sitzhanovaserver
+ 2. Linux B: user=sitzhanova_2, hostname=sitzhanovagateway
+ 3. Linux C: user=sitzhanova_3, hostname=sitzhanovaclient
+```
+
+
+
+**Этап 2: Netplan конфигурации.**
+Необходимо переписать конфиги *netplan* согласно заданию и применить их командой *sudo netplan apply*:
+
+
+
+
+
+
+
+На Linux А был для 'enp0s3' был выставлен автоматический айпи-адрес, а для 'enp0s8' - "192.168.23.10/24".
+На Linux B был для 'enp0s3' был также выставлен автоматический айпи-адрес, для 'enp0s8' - "192.168.23.1/24", а для enp0s9 - "192.168.5.1/24".
+На Linux С был для 'enp0s3' выставлен автоматический айпи-адрес, а для 'enp0s8' - "192.168.5.1/24".
+
+
+
+**Этап 3: Донастройка каждой виртуальной машины.**
+*Linux A*:
+Необходимо реализовать простое приложение на Flask (предварительно скачав его и Python) с тремя эндпоинтами (/get, /post, /put),
+а также написать под него сервис, задача которого состоит в запуске приложение через автозагрузку:
+
+
+
+
+
+*Linux B*:
+Необходимо настроить iptables для маршрутизации пакетов от машины A до машины C с фильтрацией пакетов по 5000-му порту:
+Также необходимо включить ip_forward в настройках системы:
+
+
+
+
+
+**Этап 4: Тестирование системы.**
+*Linux A*:
+Запускаем на Linux A приложение командой `python3 app.py` и проверяем, на каких адресах работает.
+
+*Linux B*:
+Запускаем `tcpdump` для просмотра логов передачи пакетов между клиентом и сервером.
+
+*Linux С*:
+Отправляем три запроса (/get, /post, /put) для проверки:
+
+
+
+
+
+
+
+Представленные скриншоты подтверждают работоспособность системы: все виртуальные машины успешно настроены, связь и фильтрация пакетов налажена, а Flask приложение отрабатывает все запросы.