diff --git a/app/app.py b/app/app.py
new file mode 100644
index 0000000..87c54e8
--- /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_route():
+ return "route get is working!\n"
+
+@app.route('/post', methods=['POST'])
+def post_route():
+ return f"route post is working!: {request.json}\n"
+
+@app.route('/put', methods=['PUT'])
+def put_route():
+ return f"route put is working!: {request.json}\n"
+
+if __name__ == "__main__":
+ app.run(host='0.0.0.0', port=5000)
\ No newline at end of file
diff --git a/config/A.yaml b/config/A.yaml
new file mode 100644
index 0000000..d797b03
--- /dev/null
+++ b/config/A.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/config/B.yaml b/config/B.yaml
new file mode 100644
index 0000000..be2034a
--- /dev/null
+++ b/config/B.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.10.1/24]
+ version: 2
\ No newline at end of file
diff --git a/config/C.yaml b/config/C.yaml
new file mode 100644
index 0000000..c739fe9
--- /dev/null
+++ b/config/C.yaml
@@ -0,0 +1,9 @@
+network:
+ ethernets:
+ enp0s3:
+ dhcp4: true
+ enp0s8:
+ dhcp4: no
+ addresses: [192.168.23.10/24]
+ gateway4: 192.168.10.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..fce9a97
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..6134ab3
Binary files /dev/null and b/pics/iptables.png differ
diff --git a/pics/netA.png b/pics/netA.png
new file mode 100644
index 0000000..91c447d
Binary files /dev/null and b/pics/netA.png differ
diff --git a/pics/netB.png b/pics/netB.png
new file mode 100644
index 0000000..93ff171
Binary files /dev/null and b/pics/netB.png differ
diff --git a/pics/netC.png b/pics/netC.png
new file mode 100644
index 0000000..b18763f
Binary files /dev/null and b/pics/netC.png differ
diff --git a/pics/python.png b/pics/python.png
new file mode 100644
index 0000000..905c519
Binary files /dev/null and b/pics/python.png differ
diff --git a/pics/python_check.png b/pics/python_check.png
new file mode 100644
index 0000000..5c911ac
Binary files /dev/null and b/pics/python_check.png differ
diff --git a/pics/tcp_get.png b/pics/tcp_get.png
new file mode 100644
index 0000000..20e82d6
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..6e70872
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..1bf85e5
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..45d57da
--- /dev/null
+++ b/report.md
@@ -0,0 +1,79 @@
+# Отчёт по работе №1: Практика Linux (VirtualBox)
+
+**Литвин Георгий Дмитриевич**
+
+
+
+**Дата рождения: 23.10.2002**
+
+
+---
+
+**Начинаем работу с создания одной ВМ на основе скачанного образа.** Дважды клонируем её.
+Далее настраиваем сетевые адаптеры по заданию:
+- Вместо NAT - Сетевой мост
+- Добавляем две внутренние подсети - `clientnet` и `servernet`
+
+После настройки запускаем все три ВМ и конфигурируем hostname и user:
+- `user=litvin_1, hostname=litvin_server (server)`
+- `user=litvin_2, hostname=litvin_gateway (gateway)`
+- `user=litvin_3, hostname=litvin_client (client)`
+
+---
+
+**Перейдем к настройке netplan конфигов.**
+Меняем конфигурационные файлы командой:
+```shell
+sudo nano /etc/netplan/00-installer-config.yaml
+```
+А также применяем новые сетевые настройки:
+```shell
+sudo netplan apply
+```
+Проверим полученный результат:
+
+
+
+
+
+---
+**Linux A (server)**
+
+
+
+В корневой папке создадим файл `app.py` с простым Flask приложением на три эндпоинта.
+Также напишем сервис для автозапуска приложения:
+
+
+
+---
+**Linux B (gateway)**
+
+
+
+Настроим `iptables` на ВМ-шлюзе для фильтрации пакетов по 5000 порту.
+Делаем это также через терминал командами по заданию.
+После изменения сохраняем конфигурацию через `iptables-persistent`.
+Проверим полученный результат:
+
+
+
+---
+
+**Тестирование**
+
+
+
+Для проверки всей системы необходимо:
+- Запустить `python3 app.py` на машине **А**
+- Запустить `tcpdump` на машине **B**
+- Начать отправлять `curl` запросы на машине **C**
+Проверим полученный результат:
+
+
+
+Также проверим логи `tcpdump` на машине **B**:
+
+
+
+
\ No newline at end of file