10 Commits
F ... main

Author SHA1 Message Date
3aff18f0a8 Update 8 2025-11-23 00:02:02 +03:00
7ee23b2191 Update 7 2025-11-22 22:19:31 +03:00
67a15a7fcf part-2 2025-11-20 22:45:24 +03:00
346d1c67a9 Update 6 2025-11-20 22:35:59 +03:00
033b6da2d7 Update 5 2025-11-20 21:57:02 +03:00
0d0edac029 Update 4 2025-11-20 00:44:12 +03:00
db690a8e8e update 3 2025-11-20 00:32:48 +03:00
5d40a801b7 update 2 2025-11-19 23:27:38 +03:00
f8a49510d8 update 2025-11-19 22:23:58 +03:00
1043ab1285 go 2025-11-19 20:33:25 +03:00
23 changed files with 870 additions and 36 deletions

11
Part-1/INTERNET.md Normal file
View File

@@ -0,0 +1,11 @@
enable
configure terminal
!
interface e0/0
ip address 1.1.1.1 255.255.255.0
no shutdown
!
ip route 0.0.0.0 0.0.0.0 1.1.1.2
!
end
write memory

22
Part-1/ISP.md Normal file
View File

@@ -0,0 +1,22 @@
enable
configure terminal
!
interface e0/0
ip address 55.55.55.106 255.255.255.252
no shutdown
!
interface e0/1
ip address 55.55.55.102 255.255.255.252
no shutdown
!
interface e0/2
ip address 1.1.1.2 255.255.255.0
no shutdown
!
ip route 10.10.0.0 255.255.0.0 55.55.55.105
ip route 10.10.1.0 255.255.255.0 55.55.55.101
ip route 10.10.2.0 255.255.255.0 55.55.55.101
ip route 10.10.5.0 255.255.255.0 55.55.55.101
!
end
write memory

Binary file not shown.

68
Part-1/R-DarkStore.md Normal file
View File

@@ -0,0 +1,68 @@
enable
configure terminal
!
interface e0/0
no ip address
no shutdown
!
interface e0/0.30
encapsulation dot1Q 30
ip address 10.10.3.1 255.255.255.0
!
interface e0/0.40
encapsulation dot1Q 40
ip address 10.10.4.1 255.255.255.0
!
interface e0/1
no ip address
no shutdown
!
interface e0/1.60
encapsulation dot1Q 60
ip address 10.10.6.1 255.255.255.0
!
interface e0/2
ip address 55.55.55.105 255.255.255.252
no shutdown
!
interface e0/3
ip address 192.168.20.2 255.255.255.248
no shutdown
!
ip route 0.0.0.0 0.0.0.0 55.55.55.106
ip route 10.10.1.0 255.255.255.0 192.168.20.1
ip route 10.10.2.0 255.255.255.0 192.168.20.1
ip route 10.10.5.0 255.255.255.0 192.168.20.1
!
ip access-list standard NAT_ACL
permit 10.10.0.0 0.0.255.255
!
interface e0/0
ip nat inside
!
interface e0/1
ip nat inside
!
interface e0/2
ip nat outside
!
ip nat inside source list NAT_ACL interface e0/2 overload
!
ip dhcp pool LOGISTICS
network 10.10.3.0 255.255.255.0
default-router 10.10.3.1
dns-server 8.8.8.8
lease 7
!
ip dhcp excluded-address 10.10.3.1 10.10.3.10
!
ip dhcp pool STORAGE
network 10.10.4.0 255.255.255.0
default-router 10.10.4.1
dns-server 8.8.8.8
lease 7
!
ip dhcp excluded-address 10.10.4.1 10.10.4.10
!
end
write memory

72
Part-1/R-HQ.md Normal file
View File

@@ -0,0 +1,72 @@
enable
configure terminal
!
interface e0/0
ip address 55.55.55.101 255.255.255.252
no shutdown
!
interface e0/1
no ip address
no shutdown
!
interface e0/1.50
encapsulation dot1Q 50
ip address 10.10.5.1 255.255.255.0
!
interface e0/2
no ip address
no shutdown
!
interface e0/2.10
encapsulation dot1Q 10
ip address 10.10.1.1 255.255.255.0
!
interface e0/2.20
encapsulation dot1Q 20
ip address 10.10.2.1 255.255.255.0
!
interface e0/3
ip address 192.168.10.2 255.255.255.248
no shutdown
!
ip route 0.0.0.0 0.0.0.0 55.55.55.102
ip route 10.10.3.0 255.255.255.0 192.168.10.1
ip route 10.10.4.0 255.255.255.0 192.168.10.1
ip route 10.10.6.0 255.255.255.0 192.168.10.1
ip route 1.1.1.0 255.255.255.0 55.55.55.102
!
ip access-list standard NAT_ACL_HQ
permit 10.10.1.0 0.0.0.255
permit 10.10.2.0 0.0.0.255
permit 10.10.5.0 0.0.0.255
!
interface e0/1
ip nat inside
!
interface e0/2
ip nat inside
!
interface e0/0
ip nat outside
!
ip nat inside source list NAT_ACL_HQ interface e0/0 overload
ip nat inside source static tcp 10.10.5.60 80 55.55.55.101 8080 extendable
!
ip dhcp pool IT
network 10.10.1.0 255.255.255.0
default-router 10.10.1.1
dns-server 8.8.8.8
lease 7
!
ip dhcp excluded-address 10.10.1.1 10.10.1.100
!
ip dhcp pool MANAGEMENT
network 10.10.2.0 255.255.255.0
default-router 10.10.2.1
dns-server 8.8.8.8
lease 7
!
ip dhcp excluded-address 10.10.2.1 10.10.2.100
!
end
write memory

120
Part-1/Readme Normal file
View File

@@ -0,0 +1,120 @@
>>>>>>>>>>>>><<<<<<<<<<<<
Уважаемый ревьювер, прошу прочитать перед проверкой.
19.11.2025 в 19:00 я после 12 часвого рабочего дня сел работать над данной лабораторной работой.
Как видите я основательно подошел к выполнению и вел свои записи\команды в формате репозитория.
20.11.2025 в 00:15 у меня произошла ошибка подключения и отключились все терминалы.(конкретно в 00:15 я заканчивал 13 задание и скриншотил 12 задание)
Да, я видел уведомления в практикуме, но мне в голову не пришло, что виртуальная машина работает по таймеру от запуска, а не по таймеру от бездействия....
В следствии чего при повторном запуске все устройства в EVE были пусты и не содержали команд. Я не использовал резервное копировани и экскорт проекта, так как считал что успею выполнить все задания и завершить проект.
Но произошло то, что произошло. Ранее я сдавал проекты(домашние задания) на своих виртуальных машинах и не имел проблем. Расслабился и позволил себе работать на тренажере практикума.
Я портатил еще 2 часа, но восстановил все устройства и доделал работу. Вполне вероятно где-то могут быть ошибки, прошу учесть мою боль и дырка задница.
С наилучшими пожалениями Василий.
>>>>>>>>>>>>><<<<<<<<<<<<
Технические требования к проекту:
---------
Серверные
-Все серверы должны иметь статические IP-адреса. Всего серверных комнат две: в головном офисе и в дарксторе.
-Адресное пространство для внутренних подсетей — 10.10.0.0/16.
Требование к изоляции
-Каждому отделу соответствуют VLAN и адресное пространство.
-IT-отдел — IT (VLAN 10), 10.10.1.0/24 для устройств PCI.
-Менеджмент — Management (VLAN 20), 10.10.2.0/24 для устройств PCM.
-Логистика — Logistics (VLAN 30), 10.10.3.0/24 для устройств PCL.
-Склад — Storage (VLAN 40), 10.10.4.0/24 для устройств PCS.
-Серверы головного офиса — HQ-Servers (VLAN 50), 10.10.5.0/24.
-Серверы даркстора — DS-Servers (VLAN 60), 10.10.6.0/24.
Доступ в интернет
-У компании есть два публичных IP-адреса: 55.55.55.101/30 и 55.55.55.105/30. NAT должен быть настроен так, чтобы все локальные VLAN могли выходить во внешнюю сеть через ближайший маршрутизатор, подключённый к провайдеру связи.
-Публикация веб-сервера
-Сервер Web отвечает за веб-приложение, которое нужно опубликовать в интернете с помощью DNAT через порт 8080. Маршрутизатор с настроенным сервисом HTTP эмулирует веб-сервер. Адрес сервера — 10.10.5.60.
-Выделенный канал связи через провайдера
-Компания арендует выделенный канал связи через провайдера с адресацией на стыках 192.168.10.0/29 и 192.168.20.0/29. Трафик между внутренними сетями компании должен ходить через выделенный канал связи.
---------
Config link:
R-Darkstore
├─ e0/0 ↔ SW1-Darkstore e0/0
├─ e0/1 ↔ SW2-Darkstore e0/0
├─ e0/2 ↔ ISP e0/0
└─ e0/3 ↔ WAN e0/1
ISP
├─ e0/0 ↔ R-Darkstore e0/2
├─ e0/1 ↔ R-HQ e0/0
└─ e0/2 ↔ INTERNET e0/0
R-HQ
├─ e0/0 ↔ ISP e0/1
├─ e0/1 ↔ SW2-HQ e0/0
├─ e0/2 ↔ SW1-HQ e0/0
└─ e0/3 ↔ WAN e0/0
SW1-HQ
├─ e0/0 ↔ R-HQ e0/2
├─ e0/1 ↔ PCI-1 eth0
├─ e0/2 ↔ PCI-2 eth0
├─ e0/3 ↔ PCM-1 eth0
└─ e1/0 ↔ PCM-2 eth0
SW2-HQ
├─ e0/0 ↔ R-HQ e0/1
├─ e0/1 ↔ DC eth0
├─ e0/2 ↔ DNS eth0
├─ e1/0 ↔ Ansible eth0
├─ e0/3 ↔ Mail eth0
├─ e1/2 ↔ Web eth0
└─ e1/1 ↔ FS eth0
SW1-Darkstore
├─ e0/1 ↔ SW3-Darkstore e0/0
├─ e0/2 → PCL-3 eth0
├─ e0/3 → PCL-4 eth0
├─ e1/0 → PCS-3 eth0
└─ e1/1 → PCS-4 eth0
SW3-Darkstore
├─ e0/0 ← от SW1
├─ e0/1 → PCL-1 eth0
├─ e0/2 → PCL-2 eth0
├─ e0/3 → PCS-1 eth0
└─ e1/0 → PCS-2 eth0
-------------------------------------
IP Route:
<> Darkstore — адресное пространство: 10.10.0.0/16
-
VLAN 30 — Logistics (PCL) → 10.10.3.0/24, шлюз: 10.10.3.1
PCL-1 : 10.10.3.13 | Логистика
PCL-2 : 10.10.3.14 | Логистика
PCL-3 : 10.10.3.11 | Логистика
PCL-4 : 10.10.3.12 | Логистика
VLAN 40 — Storage (PCS) → 10.10.4.0/24, шлюз: 10.10.4.1
PCS-1 : 10.10.4.13 | Склад
PCS-2 : 10.10.4.14 | Склад
PCS-3 : 10.10.4.11 | Склад
PCS-4 : 10.10.4.12 | Склад
VLAN 60 — DS-Servers → 10.10.6.0/24, шлюз: 10.10.6.1
Portal : 10.10.6.10 | Портал
FSC : 10.10.6.20 | Файловый сервер
-
<> Headquarters (HQ) — адресное пространство: 10.10.0.0/16
-
VLAN 10 — IT (PCI) → 10.10.1.0/24, шлюз: 10.10.1.1
PCI-1 : 10.10.1.101 | IT-специалист
PCI-2 : 10.10.1.102 | IT-специалист
VLAN 20 — Management (PCM) → 10.10.2.0/24, шлюз: 10.10.2.1
PCM-1 : 10.10.2.101 | Менеджер
PCM-2 : 10.10.2.102 | Менеджер
VLAN 50 — HQ-Servers → 10.10.5.0/24, шлюз: 10.10.5.1
DC : 10.10.5.101 | Domain Controller
DNS : 10.10.5.102 | DNS-сервер
Mail : 10.10.5.103 | Почтовый сервер
Ansible : 10.10.5.104 | Автоматизация
FS : 10.10.5.105 | Файловый сервер (HQ)
Web : 10.10.5.60 | Веб-сервер (публичный)
-
<>D Внешние сети и интерфейсы
-
ISP — шлюз для Darkstore: 55.55.55.106/30
ISP — шлюз для HQ: 55.55.55.102/30
R-Darkstore — внешний интерфейс: 55.55.55.105/30
R-HQ — внешний интерфейс: 55.55.55.101/30
INTERNET — тестовый сервер: 1.1.1.1/24
Выделенный канал HQ ↔ Darkstore: 192.168.10.0/29
R-HQ — интерфейс: 192.168.10.2/29
R-Darkstore — интерфейс: 192.168.10.1/29
-------------------------------------

49
Part-1/SW1-Darkstore.md Normal file
View File

@@ -0,0 +1,49 @@
enable
configure terminal
!
vlan 30
name Logistics
!
vlan 40
name Storage
!
interface e0/2
description PCL-3 - Logistics
switchport mode access
switchport access vlan 30
no shutdown
!
interface e0/3
description PCL-4 - Logistics
switchport mode access
switchport access vlan 30
no shutdown
!
interface e1/0
description PCS-3 - Storage
switchport mode access
switchport access vlan 40
no shutdown
!
interface e1/1
description PCS-4 - Storage
switchport mode access
switchport access vlan 40
no shutdown
!
interface e0/0
description To R-Darkstore
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 30,40
no shutdown
!
interface e0/1
description To SW3-Darkstore
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 30,40
no shutdown
!
end
write memory

42
Part-1/SW1-HQ.md Normal file
View File

@@ -0,0 +1,42 @@
enable
configure terminal
!
vlan 10
name IT
!
vlan 20
name Management
!
interface e0/1
description PCI-1 - IT
switchport mode access
switchport access vlan 10
no shutdown
!
interface e0/2
description PCI-2 - IT
switchport mode access
switchport access vlan 10
no shutdown
!
interface e0/3
description PCM-1 - Management
switchport mode access
switchport access vlan 20
no shutdown
!
interface e1/0
description PCM-2 - Management
switchport mode access
switchport access vlan 20
no shutdown
!
interface e0/0
description To R-HQ
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20
no shutdown
!
end
write memory

40
Part-1/SW2-Darkstore.md Normal file
View File

@@ -0,0 +1,40 @@
enable
configure terminal
!
vlan 30
name Logistics
!
vlan 40
name Storage
!
vlan 60
name DS-Servers
!
interface e0/1
description Portal - DS-Servers
switchport mode access
switchport access vlan 60
no shutdown
!
interface e0/2
description FileServer - DS-Servers
switchport mode access
switchport access vlan 60
no shutdown
!
interface e0/0
description To R-Darkstore
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 60
no shutdown
!
interface e0/3
description To SW1-Darkstore
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 30,40,60
no shutdown
!
end
write memory

51
Part-1/SW2-HQ.md Normal file
View File

@@ -0,0 +1,51 @@
enable
configure terminal
!
vlan 50
name HQ-Servers
!
interface e0/1
description DC - Data Center
switchport mode access
switchport access vlan 50
no shutdown
!
interface e0/2
description DNS - DNS Server
switchport mode access
switchport access vlan 50
no shutdown
!
interface e0/3
description Mail - Mail Server
switchport mode access
switchport access vlan 50
no shutdown
!
interface e1/0
description Ansible - Automation
switchport mode access
switchport access vlan 50
no shutdown
!
interface e1/1
description FS - File Server
switchport mode access
switchport access vlan 50
no shutdown
!
interface e1/2
description Web - Web Server
switchport mode access
switchport access vlan 50
no shutdown
!
interface e0/0
description To R-HQ
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 50
no shutdown
!
end
write memory

42
Part-1/SW3-Darkstore.md Normal file
View File

@@ -0,0 +1,42 @@
enable
configure terminal
!
vlan 30
name Logistics
!
vlan 40
name Storage
!
interface e0/1
description PCL-1 - Logistics
switchport mode access
switchport access vlan 30
no shutdown
!
interface e0/2
description PCL-2 - Logistics
switchport mode access
switchport access vlan 30
no shutdown
!
interface e0/3
description PCS-1 - Storage
switchport mode access
switchport access vlan 40
no shutdown
!
interface e1/0
description PCS-2 - Storage
switchport mode access
switchport access vlan 40
no shutdown
!
interface e0/0
description To SW1-Darkstore
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 30,40
no shutdown
!
end
write memory

9
Part-1/VPCS-Portal.md Normal file
View File

@@ -0,0 +1,9 @@
ip 10.10.6.10 255.255.255.0 10.10.6.1
VPCS> ping 10.10.6.1
10.10.6.1 icmp_seq=1 timeout
84 bytes from 10.10.6.1 icmp_seq=2 ttl=255 time=0.457 ms
84 bytes from 10.10.6.1 icmp_seq=3 ttl=255 time=0.493 ms
84 bytes from 10.10.6.1 icmp_seq=4 ttl=255 time=0.461 ms
84 bytes from 10.10.6.1 icmp_seq=5 ttl=255 time=0.444 ms

20
Part-1/WAN.md Normal file
View File

@@ -0,0 +1,20 @@
enable
configure terminal
!
interface e0/0
ip address 192.168.10.1 255.255.255.248
no shutdown
!
interface e0/1
ip address 192.168.20.1 255.255.255.248
no shutdown
!
ip route 10.10.1.0 255.255.255.0 192.168.10.2
ip route 10.10.2.0 255.255.255.0 192.168.10.2
ip route 10.10.5.0 255.255.255.0 192.168.10.2
ip route 10.10.3.0 255.255.255.0 192.168.20.2
ip route 10.10.4.0 255.255.255.0 192.168.20.2
ip route 10.10.6.0 255.255.255.0 192.168.20.2
!
end
write memory

15
Part-1/WEB.md Normal file
View File

@@ -0,0 +1,15 @@
enable
configure terminal
!
interface e0/0
ip address 10.10.5.60 255.255.255.0
no shutdown
!
ip route 0.0.0.0 0.0.0.0 10.10.5.1
!
ip http server
ip http access-class 1
access-list 1 permit any
!
end
write memory

View File

@@ -0,0 +1,48 @@
- name: Configure automated backups
hosts: yndx-client.practicumsuperstore.ru
become: yes
vars:
backup_script: /home/backup-user/run-backup.sh
backup_dir_local: /home/backup-user/backups
remote_backup_dir: /home/anscfg/backups
tasks:
- name: Create local backup directory
file:
path: "{{ backup_dir_local }}"
state: directory
owner: backup-user
group: backup-user
mode: '0755'
- name: Create backup script
copy:
content: |
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="/tmp/backup_${DATE}.tar.gz"
tar -czf "$BACKUP_FILE" /etc /var/log 2>/dev/null
scp -o StrictHostKeyChecking=no "$BACKUP_FILE" anscfg@yndx-ansible.practicumsuperstore.ru:"{{ remote_backup_dir }}/"
rm -f "$BACKUP_FILE"
dest: "{{ backup_script }}"
owner: backup-user
group: backup-user
mode: '0755'
- name: Ensure remote backup directory exists (run locally)
delegate_to: localhost
become: no
run_once: true
file:
path: "{{ remote_backup_dir }}"
state: directory
owner: anscfg
group: anscfg
mode: '0755'
- name: Add daily cron job for backup-user
cron:
name: "Daily system backup"
user: backup-user
minute: "0"
hour: "2"
job: "{{ backup_script }}"

View File

@@ -0,0 +1,10 @@
- name: Create backup-user on client
hosts: yndx-client.practicumsuperstore.ru
become: yes
tasks:
- name: Create user backup-user with home directory
user:
name: backup-user
shell: /bin/bash
create_home: yes
system: no

View File

@@ -0,0 +1,6 @@
[yndx]
yndx-client.practicumsuperstore.ru
[all:vars]
ansible_user=anscfg
ansible_ssh_private_key_file=/home/anscfg/.ssh/id_rsa

View File

@@ -0,0 +1,44 @@
- name: Configure DNS and NTP on yndx-client
hosts: yndx-client.practicumsuperstore.ru
become: yes
tasks:
- name: Stop and disable systemd-resolved
systemd:
name: systemd-resolved
state: stopped
enabled: no
- name: Remove existing resolv.conf
file:
path: /etc/resolv.conf
state: absent
- name: Create new resolv.conf pointing to internal DNS
copy:
content: |
nameserver 10.10.1.200
dest: /etc/resolv.conf
owner: root
group: root
mode: '0644'
- name: Install chrony
apt:
name: chrony
state: present
update_cache: yes
- name: Configure chrony to use yndx-dns as NTP server
copy:
content: |
server 10.10.1.200 iburst
dest: /etc/chrony/chrony.conf
owner: root
group: root
mode: '0644'
- name: Restart chrony
systemd:
name: chrony
state: restarted
enabled: yes

74
Part-2/yndx-ansible.md Normal file
View File

@@ -0,0 +1,74 @@
hostname yndx-ansible
# Задание - 1
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo rm -f /etc/resolv.conf
echo "nameserver 10.10.1.200" | sudo tee /etc/resolv.conf
sudo apt install -y chrony
sudo nano /etc/chrony/chrony.conf
# Conig
server 10.10.1.200 iburst
-----------------------------------------------------------------
# Задание - 2
sudo apt update
sudo apt install -y ansible
# User
sudo adduser --disabled-password --gecos "" anscfg
# SSH - to
sudo -u anscfg ssh-keygen -t rsa -b 2048 -f /home/anscfg/.ssh/id_rsa -N ""
root@yndx-ansible:~# sudo cat /home/anscfg/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJmlCFxkUQNJOJoOdpSFS0eikNpPPeV28rNkXq8ulRe5gKtTW9YmzRfwL/uQh8xXP58kXm04r0btPrYWx/1ZGA4T0yHBEVAkO4ECxGFh6M3zulnpQ+CuSLAbUEdSQOCoCvR5D9OxOnONx+osly/QjaI/3mPYOc6i6VZXPJWHPMNM7BzyDLqlG80nP+xFMfd4An2X/hTsLKcIRdjSrweqr+jqzpeOSA1HbbZgSqN6Fjy4zCVV7sdVaDxOqaV9CH9zN+1hS3yYUoEkCCX8YrsgggG4cmeQUR3MxNmoyr+Sm5hbkoK8ON45O8MvmxYL1hDqaS1BpG8ffz3SZ1mftGRwq9 anscfg@yndx-ansible
# Test
sudo -u anscfg ssh -o StrictHostKeyChecking=no anscfg@yndx-client.practicumsuperstore.ru
# Ansible
sudo -u anscfg mkdir -p /home/anscfg/ansible
cd /home/anscfg/ansible
sudo -iu anscfg
cd /home/anscfg/ansible
nano inventory.ini (посмотреть в папке ansible-playbook -> inventory.ini)
nano setup_services.yml (посмотреть в папке ansible-playbook -> setup_services.yml)
nano create_user.yml (посмотреть в папке ansible-playbook -> create_user.yml)
nano configure_backup.yml (посмотреть в папке ansible-playbook -> configure_backup.yml)
ansible-playbook -i inventory.ini setup_services.yml
ansible-playbook -i inventory.ini create_user.yml
ansible-playbook -i inventory.ini configure_backup.yml
# Задание - 4
sudo apt install -y vsftpd
sudo adduser --disabled-password --gecos "" ftpuser
echo "ftpuser:securepass" | sudo chpasswd
sudo mkdir -p /home/ftpuser/ftp/files
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files
sudo chmod 755 /home/ftpuser/ftp
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf
# <Config
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
local_root=/mnt/ftp
allow_writeable_chroot=YES
dirlist_enable=YES
download_enable=YES
# Config>
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
sudo chown root:ftpshared /mnt/ftp
sudo chown ftpuser:ftpshared /mnt/ftp/files
sudo chmod 775 /mnt/ftp/files
sudo chmod g+s /mnt/ftp/files
# Задание 5
sudo apt update
sudo apt install -y nginx apache2-utils
cd /home/geseas
tar -xf nginx2.tar.gz
cd nginx
sudo cp default /etc/nginx/sites-available/
sudo ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo cp index.html 404.html 500.html /var/www/html/
sudo cp -r secure /var/www/html/
sudo chown -R www-data:www-data /var/www/html/secure
sudo chmod 750 /var/www/html/secure
sudo htpasswd -c /etc/nginx/.htpasswd admin

45
Part-2/yndx-client.md Normal file
View File

@@ -0,0 +1,45 @@
hostname yndx-client
# Задание - 2
# Отключи systemd-resolved
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo rm -f /etc/resolv.conf
echo "nameserver 10.10.1.200" | sudo tee /etc/resolv.conf
# Добавь имя хоста в /etc/hosts (чтобы sudo не ругался)
echo "127.0.0.1 yndx-client" | sudo tee -a /etc/hosts
# Установи chrony и настрой как клиент
sudo apt install -y chrony
echo "server 10.10.1.200 iburst" | sudo tee /etc/chrony/chrony.conf
sudo systemctl restart chrony
# User
sudo adduser --disabled-password --gecos "" anscfg
sudo mkdir -p /home/anscfg/.ssh
sudo chown anscfg:anscfg /home/anscfg/.ssh
echo "ssh-rsa KEY" | sudo tee /home/anscfg/.ssh/authorized_keys
sudo chown -R anscfg:anscfg /home/anscfg/.ssh
sudo chmod 700 /home/anscfg/.ssh
sudo chmod 600 /home/anscfg/.ssh/authorized_keys
# No PWD
sudo echo "anscfg ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/anscfg
# Задание - 3
wget http://10.12.0.122/mail2.tar.gz
# Распакуй
tar -xzf mail2.tar.gz
# Перейди в папку
cd mail
# Запусти скрипт (подставь своё имя и фамилию БЕЗ пробелов, например: IvanIvanov)
./script.sh PavlovVE practicumsuperstore.ru
# Задание 4
sudo apt install -y ftp
ftp 10.10.1.201
Name: ftpuser
Password: ******
cd files
get cat_3.png
# Задание 5
http://10.10.1.201/

65
Part-2/yndx-dns.md Normal file
View File

@@ -0,0 +1,65 @@
hostname yndx-dns
# Задание - 1
//1.1 Отключить systemd-resolved
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo rm -f /etc/resolv.conf
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
//1.2 Установка и настройка dnsmasq (DNS)
sudo apt update
sudo apt install -y dnsmasq
//Редактируем /etc/dnsmasq.conf:
sudo nano /etc/dnsmasq.conf
# <Config
domain=practicumsuperstore.ru
local=/practicumsuperstore.ru/
address=/WEB.practicumsuperstore.ru/10.10.1.200
address=/AD.practicumsuperstore.ru/10.10.1.201
address=/FS.practicumsuperstore.ru/10.10.1.202
listen-address=127.0.0.1
listen-address=10.10.1.200
bind-interfaces
server=8.8.8.8
server=1.1.1.1
# Config>
sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq
1.3 Настройка часового пояса (Москва, UTC+3)
sudo timedatectl set-timezone Europe/Moscow
//1.4 Установка и настройка NTP (chrony) на Хосте 1
sudo apt install -y chrony
sudo nano /etc/chrony/chrony.conf
# <Config
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
allow 10.10.1.0/24
local stratum 10
sudo systemctl restart chrony
sudo systemctl enable chrony
# Config>
chronyc tracking
chronyc sources -v
-----------------------------------------------------------------
# Задание - 3
Добавь в /etc/dnsmasq.conf:
address=/mail.practicumsuperstore.ru/10.10.1.200
# MX-запись (важно!)
mx-host=practicumsuperstore.ru,mail.practicumsuperstore.ru,10
sudo systemctl restart dnsmasq
sudo apt update
sudo apt install -y postfix mailutils net-tools
sudo nano /etc/postfix/main.cf
# <Config
myhostname = mail.practicumsuperstore.ru
mydomain = practicumsuperstore.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# Config>
home_mailbox = Maildir/
tail -n 10 /var/log/mail.log
ls -la /home/ubuntu/Maildir/new
cd /home/ubuntu/Maildir/new/
ls -la
less 1763836343.V802Ic0021M156897.yndx-dns

17
Part-3/ad.md Normal file
View File

@@ -0,0 +1,17 @@
Install-WindowsFeature -Name AD-Domain-Services, DNS -IncludeManagementTools
net user Administrator "P@ssw0rd123!"
Повышение до контроллера домена
Import-Module ADDSDeployment
New-LocalUser -Name "Administrator" `
-Password (ConvertTo-SecureString "Gfdkjd373497!!!" -AsPlainText -Force) `
-FullName "Local Administrator" `
-Description "Учётная запись для установки AD DS"
Enable-LocalUser -Name "Administrator"
net user Administrator /passwordreq:yes
net user Administrator /active:yes
net user Administrator /expires:never
net user Administrator "Gfdkjd373497!!!"
Add-LocalGroupMember -Group "Администраторы" -Member "Administrator"
Set-LocalUser -Name "Administrator" -PasswordNeverExpires $true -AccountNeverExpires $true -Enabled $true

36
Readme
View File

@@ -1,36 +0,0 @@
Часть 1. Конфигурация сети
Технические требования к проекту:
Серверные
-Все серверы должны иметь статические IP-адреса. Всего серверных комнат две: в головном офисе и в дарксторе.
-Адресное пространство для внутренних подсетей — 10.10.0.0/16.
Требование к изоляции
-Каждому отделу соответствуют VLAN и адресное пространство.
-IT-отдел — IT (VLAN 10), 10.10.1.0/24 для устройств PCI.
-Менеджмент — Management (VLAN 20), 10.10.2.0/24 для устройств PCM.
-Логистика — Logistics (VLAN 30), 10.10.3.0/24 для устройств PCL.
-Склад — Storage (VLAN 40), 10.10.4.0/24 для устройств PCS.
-Серверы головного офиса — HQ-Servers (VLAN 50), 10.10.5.0/24.
-Серверы даркстора — DS-Servers (VLAN 60), 10.10.6.0/24.
Доступ в интернет
-У компании есть два публичных IP-адреса: 55.55.55.101/30 и 55.55.55.105/30. NAT должен быть настроен так, чтобы все локальные VLAN могли выходить во внешнюю сеть через ближайший маршрутизатор, подключённый к провайдеру связи.
-Публикация веб-сервера
-Сервер Web отвечает за веб-приложение, которое нужно опубликовать в интернете с помощью DNAT через порт 8080. Маршрутизатор с настроенным сервисом HTTP эмулирует веб-сервер. Адрес сервера — 10.10.5.60.
-Выделенный канал связи через провайдера
-Компания арендует выделенный канал связи через провайдера с адресацией на стыках 192.168.10.0/29 и 192.168.20.0/29. Трафик между внутренними сетями компании должен ходить через выделенный канал связи.
---------
VLAN 30 (Logistics → PCL-1, PCL-2, PCL-3, PCL-4)
VLAN 40 (Storage → PCS-1…4)
VLAN 60 (DS-Servers → Portal, File Server)
❗ IT (10) и Management (20) — в головном офисе, не настраиваются в Darkstore.
!Обновлённые задачи для Darkstore!
SW1/2/3-Darkstore поддерживают только VLAN 30, 40, 60 (и только те, что подключены к конкретному коммутатору).
Межкоммутаторные и SWR соединения — trunk, но с ограниченным списком VLAN (например, SW3 не нужен VLAN 60).
Шлюзы — на R-Darkstore:
VLAN 30 → 10.10.3.1
VLAN 40 → 10.10.4.1
VLAN 60 → 10.10.6.1
Сервера в DS:
Portal → 10.10.6.10
FS → 10.10.6.20
(возможно, другие — но по умолчанию хватит)