==== 2. Linux Base (Фундамент) ==== * **Завантаження:** BIOS -> MBR -> GRUB -> Kernel -> Systemd (PID 1). * **Inodes:** Якщо місце є (''df -h''), а файл не створюється — скінчилися іноди (''df -i''). Це через купу дрібних файлів. * **Permissions:** * ''chmod 755'': Власник (7=RWX), Група (5=R-X), Інші (5=R-X). * ''Sticky Bit'' (на ''/tmp''): Видалити файл може тільки власник. * **Links:** * **Soft:** Ярлик (ламається без оригіналу). * **Hard:** Друге ім'я файлу (живе без оригіналу, одна й та сама інода). * **Load Average:** Черга процесів. ''1.0'' на 1 ядрі = 100% завантаження. * **Swap:** "Файл підкачки" на диску, коли RAM закінчилась. Якщо активно юзається — система гальмує. * **Команди:** ''htop'' (процеси), ''df -h'' / ''du -sh'' (місце), ''grep -r'' (пошук тексту), ''find'' (пошук файлу). ---- ==== 3. Мережі (Твоя "Ахіллесова п'ята" стала сильною стороною) ==== * **OSI Модель:** * L2 (Link): MAC-адреси, Світчі, ARP. * L3 (Network): IP, Роутери, ICMP (ping). * L4 (Transport): TCP/UDP, Порти. * **TCP vs UDP:** * **TCP:** Надійний (Handshake, гарантія доставки). HTTP, SSH, Mail. * **UDP:** Швидкий ("Fire and forget", без гарантій). Відео, Ігри, DNS. * **ARP:** * Перетворює IP в MAC. * **Request = Broadcast** ("Хто має IP..?"). **Reply = Unicast**. * Команди: ''ip neigh'' (перевірити сусідів), ''arping'' (знайти дублікат IP). * **DNS:** * **A:** Ім'я -> IP. * **CNAME:** Псевдонім. * **MX:** Пошта. * Команди: ''dig'', ''nslookup''. * **Діагностика:** * ''ss -tulpn'': **Золотий стандарт** (порти, що слухають). * ''tcpdump'': Подивитися пакети. * ''traceroute'': Де обривається зв'язок. ---- ==== 4. Web (LAMP) & DB ==== * **Nginx vs Apache:** * **Nginx:** Асинхронний (Event-driven), швидкий, ідеальний як Reverse Proxy і для статики. * **Apache:** Процеси/Потоки, підтримує ''.htaccess''. * **HTTP помилки:** * **200:** OK. * **301/302:** Редірект. * **403:** Forbidden (права). * **404:** Not Found. * **500:** Помилка в коді сайту. * **502 Bad Gateway:** **Бекенд (PHP-FPM) лежить**. Nginx працює, а PHP — ні. * **MySQL Replication:** * Master пише в **Binlog**. Slave читає в **Relay Log**. * **Важливо:** Якщо Master впав, Slave **НЕ стає** майстром автоматично (без додаткового софту). Треба робити руками (''STOP SLAVE'', ''RESET'', ''read_only=0'', міняти IP в коді). ---- ==== 5. Інструменти (DevOps) ==== * **Ansible:** Головна фішка — **Ідемпотентність** (можна запускати 100 разів, результат той самий). Agentless (працює по SSH). * **Docker:** Контейнер — це ізольований процес, використовує **ядро хоста** (тому швидкий). Це не віртуалка. * **Git:** ''clone'', ''pull'', ''checkout'', ''commit'', ''push''. * **tmux:** Щоб процес не вмер при розриві SSH (''Ctrl+B'' -> ''D'' = detach). ---- ==== 6. DDoS Mitigation (Спецзавдання) ==== * **Типи:** * **L3/L4 (Volumetric):** Забивають канал (UDP Flood). Захист: Провайдер / Cloudflare. * **Protocol (SYN Flood):** Виснажують ресурси. Захист: ''sysctl'' (SYN cookies). * **L7 (Application):** HTTP Flood (повільний або масовий). Захист: **Nginx** (''limit_req'', ''limit_conn''), **Fail2Ban**, аналіз логів. ---- ==== 7. Soft Skills (Тест на адекватність) ==== * **"Видалив базу":** Чесно зізнатись, повідомити керівника, запропонувати план відновлення (бекап + binlog). Не брехати. * **"Сайт лежить, менеджер кричить":** "Я бачу проблему, діагностую логи. Через 15 хвилин дам точний статус. Ми працюємо над цим".