diff --git a/app/app.py b/app/app.py
new file mode 100644
index 0000000..f61456d
--- /dev/null
+++ b/app/app.py
@@ -0,0 +1,18 @@
+from flask import Flask, request
+
+app = Flask(__name__)
+
+@app.route('/get', methods=['GET'])
+def get_check():
+ return "GET checked\n"
+
+@app.route('/post', methods=['POST'])
+def post_check():
+ return f"POST checked: {request.json}\n"
+
+@app.route('/put', methods=['PUT'])
+def put_check():
+ return f"PUT checked: {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/linux_A.yaml b/configs/linux_A.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/configs/linux_B.yaml b/configs/linux_B.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/configs/linux_C.yaml b/configs/linux_C.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/pics/iptables1.png b/pics/iptables1.png
new file mode 100644
index 0000000..c480406
Binary files /dev/null and b/pics/iptables1.png differ
diff --git a/pics/iptables2.png b/pics/iptables2.png
new file mode 100644
index 0000000..f78576d
Binary files /dev/null and b/pics/iptables2.png differ
diff --git a/pics/net1.png b/pics/net1.png
new file mode 100644
index 0000000..f9e0a8e
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..6f491d1
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..25d64a1
Binary files /dev/null and b/pics/net3.png differ
diff --git a/pics/python.png b/pics/python.png
new file mode 100644
index 0000000..7aa36cb
Binary files /dev/null and b/pics/python.png differ
diff --git a/pics/python_check1.png b/pics/python_check1.png
new file mode 100644
index 0000000..792b8fc
Binary files /dev/null and b/pics/python_check1.png differ
diff --git a/pics/tcpGET1.png b/pics/tcpGET1.png
new file mode 100644
index 0000000..ff39378
Binary files /dev/null and b/pics/tcpGET1.png differ
diff --git a/pics/tcpPOST.png b/pics/tcpPOST.png
new file mode 100644
index 0000000..b604099
Binary files /dev/null and b/pics/tcpPOST.png differ
diff --git a/pics/tcpPOST1.png b/pics/tcpPOST1.png
new file mode 100644
index 0000000..b604099
Binary files /dev/null and b/pics/tcpPOST1.png differ
diff --git a/pics/tcpPUT1.png b/pics/tcpPUT1.png
new file mode 100644
index 0000000..5557572
Binary files /dev/null and b/pics/tcpPUT1.png differ
diff --git a/pics/user.png b/pics/user.png
new file mode 100644
index 0000000..91c2953
Binary files /dev/null and b/pics/user.png differ
diff --git a/pics/vmC_check_curl1.png b/pics/vmC_check_curl1.png
new file mode 100644
index 0000000..58acd8c
Binary files /dev/null and b/pics/vmC_check_curl1.png differ
diff --git a/report.md b/report.md
new file mode 100644
index 0000000..276792e
--- /dev/null
+++ b/report.md
@@ -0,0 +1,62 @@
+# Отчёт по работе №1: Практика Linux (VirtualBox)
+
+**Этап 1: Создание виртуальных машин и настройка пользователей.**
+Создаём одну ВМ на основе скачанного образа и создаём две её копии.
+Далее настраиваем сетевые адаптеры по заданию (две подсети: servernet и clientnet + сетевой мост).
+После этого на каждой машине вручную задаем новый hostname и user.
+
`Linux A: user=shipilov_1, hostname=shipilovserver`
+
`Linux B: user=shipilov_2, hostname=shipilovgateway`
+
`Linux C: user=shipilov_3, hostname=shipilovclient`
+
+
+
+**Этап 2: Netplan конфигурации.**
+Необходимо переписать конфиги *netplan* согласно заданию и применить их командой *sudo netplan apply*:
+
+
+
+
+
+
+
+На Linux А был для 'enp0s3' был выставлен автоматический айпи-адрес, а для 'enp0s8' - "192.168.15.10/24".
+На Linux B был для 'enp0s3' был также выставлен автоматический айпи-адрес, для 'enp0s8' - "192.168.15.1/24", а для enp0s9 - "192.168.11.1/24".
+На Linux С был для 'enp0s3' выставлен автоматический айпи-адрес, а для 'enp0s8' - "192.168.11.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 приложение отрабатывает все запросы.