diff --git a/application/app.py b/application/app.py
new file mode 100644
index 0000000..7618e0d
--- /dev/null
+++ b/application/app.py
@@ -0,0 +1,18 @@
+from flask import Flask, request
+
+app = Flask(__name__)
+
+@app.route('/get', methods=['GET'])
+def get_endpoint():
+ return "This is a GET request response\n"
+
+@app.route('/post', methods=['POST'])
+def post_endpoint():
+ return f"Received POST data: {request.json}\n"
+
+@app.route('/put', methods=['PUT'])
+def put_endpoint():
+ return f"Received PUT data: {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/LinuxA.yaml b/configs/LinuxA.yaml
new file mode 100644
index 0000000..6a3d7c6
--- /dev/null
+++ b/configs/LinuxA.yaml
@@ -0,0 +1,9 @@
+network:
+ ethernets:
+ enp0s3:
+ dhcp4: true
+ enp0s8:
+ dhcp4: no
+ addresses: [192.168.11.10/24]
+ gateway4: 192.168.11.1
+ version: 2
\ No newline at end of file
diff --git a/configs/LinuxB.yaml b/configs/LinuxB.yaml
new file mode 100644
index 0000000..ad314e4
--- /dev/null
+++ b/configs/LinuxB.yaml
@@ -0,0 +1,11 @@
+network:
+ ethernets:
+ enp0s3:
+ dhcp4: true
+ enp0s8:
+ dhcp4: no
+ addresses: [192.168.11.1/24]
+ enp0s9:
+ dhcp4: no
+ addresses: [192.168.3.1/24]
+ version: 2
\ No newline at end of file
diff --git a/configs/LinuxC.yaml b/configs/LinuxC.yaml
new file mode 100644
index 0000000..97fe7ff
--- /dev/null
+++ b/configs/LinuxC.yaml
@@ -0,0 +1,12 @@
+network:
+ ethernets:
+ enp0s3:
+ dhcp4: true
+ enp0s8:
+ dhcp4: no
+ addresses: [192.168.3.10/24]
+ gateway4: 192.168.3.1
+ routes:
+ - to: 192.168.11.0/24
+ via: 192.168.3.1
+ version: 2
\ No newline at end of file
diff --git a/pictures/app_request-response_check.png b/pictures/app_request-response_check.png
new file mode 100644
index 0000000..2631d49
Binary files /dev/null and b/pictures/app_request-response_check.png differ
diff --git a/pictures/application_web-server.png b/pictures/application_web-server.png
new file mode 100644
index 0000000..cae1f4e
Binary files /dev/null and b/pictures/application_web-server.png differ
diff --git a/pictures/client_request_check.png b/pictures/client_request_check.png
new file mode 100644
index 0000000..1a936fe
Binary files /dev/null and b/pictures/client_request_check.png differ
diff --git a/pictures/ip_rules_and_firewall.png b/pictures/ip_rules_and_firewall.png
new file mode 100644
index 0000000..832b25e
Binary files /dev/null and b/pictures/ip_rules_and_firewall.png differ
diff --git a/pictures/netplanA.png b/pictures/netplanA.png
new file mode 100644
index 0000000..8dffcf8
Binary files /dev/null and b/pictures/netplanA.png differ
diff --git a/pictures/netplanB.png b/pictures/netplanB.png
new file mode 100644
index 0000000..fc24192
Binary files /dev/null and b/pictures/netplanB.png differ
diff --git a/pictures/netplanC.png b/pictures/netplanC.png
new file mode 100644
index 0000000..980fe32
Binary files /dev/null and b/pictures/netplanC.png differ
diff --git a/pictures/tcpdump_firewall-block-5500-port.png b/pictures/tcpdump_firewall-block-5500-port.png
new file mode 100644
index 0000000..cf10d0e
Binary files /dev/null and b/pictures/tcpdump_firewall-block-5500-port.png differ
diff --git a/pictures/web-server_status.png b/pictures/web-server_status.png
new file mode 100644
index 0000000..9f3a0d3
Binary files /dev/null and b/pictures/web-server_status.png differ
diff --git a/report.md b/report.md
new file mode 100644
index 0000000..9bd4c82
--- /dev/null
+++ b/report.md
@@ -0,0 +1,71 @@
+@@ -0,0 +1,68 @@
+# Отчёт по работе №1: Практика Linux (VirtualBox)
+
+
+
+**Чумичев Вячеслав Алексеевич**
+
+
+
+**Дата рождения: 11.03.2002**
+
+
+
+## 1. Создание ВМ
+Начинаем работу с создания одной ВМ на основе скачанного образа. Дважды клонируем её.
+Далее настраиваем сетевые адаптеры по заданию:
+- Вместо NAT - Сетевой мост
+- Добавляем две внутренние подсети - `clientnet` и `servernet`
+
+После настройки запускаем все три ВМ и конфигурируем hostname и user:
+- `user=chumichev_1, hostname=chumichev_server (server)`
+- `user=chumichev_2, hostname=chumichev_gateway (gateway)`
+- `user=chumichev_3, hostname=chumichev_client (client)`
+
+## 2. Конфигурация netplan
+Перейдем к настройке netplan конфигов.
+Меняем конфигурационные файлы командой:
+```shell
+sudo nano /etc/netplan/00-installer-config.yaml
+```
+А также применяем новые сетевые настройки:
+```shell
+sudo netplan apply
+```
+Проверим полученный результат:
+
+
+
+
+
+## 3. Индивидуальная настройка ВМ
+### Linux A (server)
+В корневой папке создадим файл `app.py` с простым Flask приложением на три эндпоинта.
+Также напишем сервис для автозапуска приложения:
+
+
+
+### Linux B (gateway)
+Настроим `iptables` на ВМ-шлюзе для фильтрации пакетов по 5000 порту.
+Делаем это также через терминал командами по заданию.
+После изменения сохраняем конфигурацию через `iptables-persistent`.
+Проверим полученный результат:
+
+
+
+## 4. Тестирование всей системы
+Для проверки всей системы необходимо:
+- Проверить работу web-service `app.py` на машине **А**
+
+
+
+- Запустить `tcpdump` на машине **B** и проверить работу firewall
+
+
+
+- Начать отправлять `curl` запросы на машине **C**
+Проверим полученный результат:
+
+
+
+
\ No newline at end of file