diff --git a/docs/books/index.fr.md b/docs/books/index.fr.md index 1feb78c0ce..31a25ae0fb 100644 --- a/docs/books/index.fr.md +++ b/docs/books/index.fr.md @@ -62,4 +62,4 @@ Nos livres au format PDF peuvent être téléchargés pour une lecture hors-lign ### The Three Swordsmen -* [Anglais](https://rocky-linux.github.io/documentation/Sed_Awk_Grep_TheTreeSwordsmen.pdf) +* [Anglais](https://rocky-linux.github.io/documentation/Sed_Awk_Grep_TheThreeSwordmen.pdf) diff --git a/docs/books/learning_ansible/08-management-server-optimizations.it.md b/docs/books/learning_ansible/08-management-server-optimizations.it.md index a6b7777b54..f35a2f4fc1 100644 --- a/docs/books/learning_ansible/08-management-server-optimizations.it.md +++ b/docs/books/learning_ansible/08-management-server-optimizations.it.md @@ -33,7 +33,7 @@ Raccogliere fatti è un processo che può richiedere un certo tempo. Può essere Questi fatti possono essere facilmente memorizzati in un database `redis`: -``` +```bash sudo yum install redis sudo systemctl start redis sudo systemctl enable redis @@ -42,7 +42,7 @@ sudo pip3 install redis Non dimenticate di modificare la configurazione ansibile: -``` +```bash fact_caching = redis fact_caching_timeout = 86400 fact_caching_connection = localhost:6379:0 @@ -50,7 +50,7 @@ fact_caching_connection = localhost:6379:0 Per controllare il corretto funzionamento, è sufficiente richiedere il server `redis`: -``` +```bash redis-cli 127.0.0.1:6379> keys * 127.0.0.1:6379> get ansible_facts_SERVERNAME @@ -68,26 +68,26 @@ Ansible sarà in grado di decifrare questo file durante l'esecuzione recuperando Modifica il file `/etc/ansible/ansible.cfg`: -``` +```bash #vault_password_file = /path/to/vault_password_file vault_password_file = /etc/ansible/vault_pass ``` Memorizza la password in questo file `/etc/ansible/vault_pass` e assegna i diritti restrittivi necessari: -``` +```bash mysecretpassword ``` È quindi possibile crittografare i file con il comando: -``` +```bash ansible-vault encrypt myfile.yml ``` Un file crittografato `ansible-vault` può essere facilmente riconosciuto dall'intestazione: -``` +```text $ANSIBLE_VAULT;1.1;AES256 35376532343663353330613133663834626136316234323964333735363333396136613266383966 6664322261633261356566383438393738386165333966660a343032663233343762633936313630 @@ -98,7 +98,7 @@ $ANSIBLE_VAULT;1.1;AES256 Una volta cifrato, un file, esso può ancora essere modificato con il comando: -``` +```bash ansible-vault edit myfile.yml ``` @@ -106,7 +106,7 @@ ansible-vault edit myfile.yml Ad esempio, per recuperare una password che dovrebbe essere memorizzata nel rundeck vault: -``` +```python #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib.request @@ -141,13 +141,13 @@ Sarà necessario installare sul server di gestione parecchi pacchetti: * Attraverso il gestore dei pacchetti: -``` +```bash sudo dnf install python38-devel krb5-devel krb5-libs krb5-workstation ``` e configurare il file `/etc/krb5.conf` per specificare il corretto `realms`: -``` +```bash [realms] ROCKYLINUX.ORG = { kdc = dc1.rockylinux.org @@ -159,7 +159,7 @@ ROCKYLINUX.ORG = { * Tramite il gestore di pacchetti python: -``` +```bash pip3 install pywinrm pip3 install pywinrm[credssp] pip3 install kerberos requests-kerberos @@ -169,7 +169,7 @@ pip3 install kerberos requests-kerberos I moduli di rete di solito richiedono il modulo python `netaddr`: -``` +```bash sudo pip3 install netaddr ``` @@ -177,24 +177,24 @@ sudo pip3 install netaddr Uno strumento, `ansible-cmdb` è stato sviluppato per generare un CMDB da ansibile. -``` +```bash pip3 install ansible-cmdb ``` I fatti devono essere esportati con il seguente comando: -``` +```bash ansible --become --become-user=root -o -m setup --tree /var/www/ansible/cmdb/out/ ``` Puoi quindi generare un file globale `json`: -``` +```bash ansible-cmdb -t json /var/www/ansible/cmdb/out/linux > /var/www/ansible/cmdb/cmdb-linux.json ``` Se preferisci un'interfaccia web: -``` +```bash ansible-cmdb -t html_fancy_split /var/www/ansible/cmdb/out/ ``` diff --git a/docs/books/learning_ansible/08-management-server-optimizations.uk.md b/docs/books/learning_ansible/08-management-server-optimizations.uk.md index aa32cc5829..fbbfef6cb1 100644 --- a/docs/books/learning_ansible/08-management-server-optimizations.uk.md +++ b/docs/books/learning_ansible/08-management-server-optimizations.uk.md @@ -33,7 +33,7 @@ update: 06 грудня 2021 року Ці факти можна легко зберегти в базі даних `redis`: -``` +```bash sudo yum install redis sudo systemctl start redis sudo systemctl enable redis @@ -42,7 +42,7 @@ sudo pip3 install redis Не забудьте змінити конфігурацію ansible: -``` +```bash fact_caching = redis fact_caching_timeout = 86400 fact_caching_connection = localhost:6379:0 @@ -50,7 +50,7 @@ fact_caching_connection = localhost:6379:0 Щоб перевірити правильність роботи, достатньо запитати сервер `redis`: -``` +```bash redis-cli 127.0.0.1:6379> keys * 127.0.0.1:6379> get ansible_facts_SERVERNAME @@ -68,26 +68,26 @@ Ansible зможе розшифрувати цей файл під час вик Відредагуйте файл `/etc/ansible/ansible.cfg`: -``` +```bash #vault_password_file = /path/to/vault_password_file vault_password_file = /etc/ansible/vault_pass ``` Збережіть пароль у цьому файлі `/etc/ansible/vault_pass` і призначте необхідні обмежувальні права: -``` +```bash mysecretpassword ``` Потім ви можете зашифрувати файли за допомогою команди: -``` +```bash ansible-vault encrypt myfile.yml ``` Файл, зашифрований `ansible-vault`, можна легко розпізнати за його заголовком: -``` +```text $ANSIBLE_VAULT;1.1;AES256 35376532343663353330613133663834626136316234323964333735363333396136613266383966 6664322261633261356566383438393738386165333966660a343032663233343762633936313630 @@ -98,7 +98,7 @@ $ANSIBLE_VAULT;1.1;AES256 Після того, як файл зашифровано, його все ще можна редагувати за допомогою команди: -``` +```bash ansible-vault edit myfile.yml ``` @@ -106,7 +106,7 @@ ansible-vault edit myfile.yml Наприклад, щоб отримати пароль, який зберігатиметься в сховищі rundeck: -``` +```python #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib.request @@ -141,13 +141,13 @@ if __name__ == '__main__': * Через менеджер пакетів: -``` +```bash sudo dnf install python38-devel krb5-devel krb5-libs krb5-workstation ``` і налаштуйте файл `/etc/krb5.conf`, щоб указати правильні `realms`: -``` +```bash [realms] ROCKYLINUX.ORG = { kdc = dc1.rockylinux.org @@ -159,7 +159,7 @@ ROCKYLINUX.ORG = { * Через менеджер пакетів python: -``` +```bash pip3 install pywinrm pip3 install pywinrm[credssp] pip3 install kerberos requests-kerberos @@ -169,7 +169,7 @@ pip3 install kerberos requests-kerberos Для мережевих модулів зазвичай потрібен модуль python `netaddr`: -``` +```bash sudo pip3 install netaddr ``` @@ -177,24 +177,24 @@ sudo pip3 install netaddr Інструмент `ansible-cmdb` був розроблений для створення CMDB з ansible. -``` +```bash pip3 install ansible-cmdb ``` Факти повинні бути експортовані ansible за допомогою наступної команди: -``` +```bash ansible --become --become-user=root -o -m setup --tree /var/www/ansible/cmdb/out/ ``` Потім ви можете створити глобальний файл `json`: -``` +```bash ansible-cmdb -t json /var/www/ansible/cmdb/out/linux > /var/www/ansible/cmdb/cmdb-linux.json ``` Якщо ви віддаєте перевагу веб-інтерфейсу: -``` +```bash ansible-cmdb -t html_fancy_split /var/www/ansible/cmdb/out/ ``` diff --git a/docs/books/learning_bash/08-check-your-knowledge.it.md b/docs/books/learning_bash/08-check-your-knowledge.it.md index 2ecd1dc8ad..25aff1b02d 100644 --- a/docs/books/learning_bash/08-check-your-knowledge.it.md +++ b/docs/books/learning_bash/08-check-your-knowledge.it.md @@ -41,7 +41,7 @@ tags: :heavy_check_mark: La sintassi della struttura condizionale sottostante vi sembra corretta? Spiegare perché. -``` +```bash if command command if $?=0 else @@ -60,7 +60,7 @@ fi :heavy_check_mark: La sintassi della struttura alternativa condizionale qui sotto vi sembra corretta? Spiegare perché. -``` +```bash case $variable in value1) commands if $variable = value1 diff --git a/docs/books/learning_bash/08-check-your-knowledge.uk.md b/docs/books/learning_bash/08-check-your-knowledge.uk.md index b1bac58f7a..c49e08ea82 100644 --- a/docs/books/learning_bash/08-check-your-knowledge.uk.md +++ b/docs/books/learning_bash/08-check-your-knowledge.uk.md @@ -41,7 +41,7 @@ tags: :heavy_check_mark: Синтаксис наведеної нижче умовної структури здається вам правильним? Поясніть чому. -``` +```bash if command command if $?=0 else @@ -60,7 +60,7 @@ fi :heavy_check_mark: Синтаксис наведеної нижче умовної альтернативної структури здається вам правильним? Поясніть чому. -``` +```bash case $variable in value1) commands if $variable = value1 diff --git a/docs/books/lxd_server/02-zfs_setup.it.md b/docs/books/lxd_server/02-zfs_setup.it.md index cfcad203e9..111c165e06 100644 --- a/docs/books/lxd_server/02-zfs_setup.it.md +++ b/docs/books/lxd_server/02-zfs_setup.it.md @@ -19,7 +19,7 @@ Se avete già installato ZFS, questa sezione vi guiderà nella configurazione di Per prima cosa, inserite questo comando: -``` +```bash /sbin/modprobe zfs ``` @@ -27,13 +27,13 @@ Se non ci sono errori, si ritorna al prompt e non viene emesso alcun eco. Se si Successivamente è necessario esaminare i dischi del sistema, scoprire dove si trova il sistema operativo e quali sono disponibili per il pool ZFS. Lo si farà con `lsblk`: -``` +```bash lsblk ``` Che restituirà qualcosa di simile (il vostro sistema sarà diverso!): -``` +```bash AME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 32.3M 1 loop /var/lib/snapd/snap/snapd/11588 loop1 7:1 0 55.5M 1 loop /var/lib/snapd/snap/core18/1997 @@ -55,7 +55,7 @@ In questo elenco, si può notare che */dev/sda* è utilizzato dal sistema operat Questo aspetto esula dall'ambito di questo documento, ma è sicuramente da prendere in considerazione per la produzione. Offre migliori prestazioni e ridondanza. Per ora, create il vostro pool sul singolo dispositivo che avete identificato: -``` +```bash zpool create storage /dev/sdb ``` diff --git a/docs/books/lxd_server/02-zfs_setup.uk.md b/docs/books/lxd_server/02-zfs_setup.uk.md index ad5b08cca9..82512c0d02 100644 --- a/docs/books/lxd_server/02-zfs_setup.uk.md +++ b/docs/books/lxd_server/02-zfs_setup.uk.md @@ -19,7 +19,7 @@ tags: Спочатку введіть цю команду: -``` +```bash /sbin/modprobe zfs ``` @@ -27,13 +27,13 @@ tags: Далі нам потрібно поглянути на диски в нашій системі, визначити, яка на них завантажена ОС і що можна використовувати для пулу ZFS. Ви зробите це за допомогою `lsblk`: -``` +```bash lsblk ``` Що має повернути щось на зразок цього (ваша система буде іншою!): -``` +```bash AME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 32.3M 1 loop /var/lib/snapd/snap/snapd/11588 loop1 7:1 0 55.5M 1 loop /var/lib/snapd/snap/core18/1997 @@ -55,7 +55,7 @@ sdc 8:32 0 149.1G 0 disk Це виходить за рамки цього документа, але безумовно розглядається для виробництва. Він пропонує кращу продуктивність і резервування. Наразі створіть свій пул на одному пристрої, який ви визначили: -``` +```bash zpool create storage /dev/sdb ``` diff --git a/docs/books/lxd_server/03-lxdinit.it.md b/docs/books/lxd_server/03-lxdinit.it.md index 888ec92a99..53e684595c 100644 --- a/docs/books/lxd_server/03-lxdinit.it.md +++ b/docs/books/lxd_server/03-lxdinit.it.md @@ -18,50 +18,50 @@ In questo capitolo è necessario essere root o poter fare `sudo` per diventare r L'ambiente del server è pronto. Si è pronti a inizializzare LXD. Si tratta di uno script automatico che pone una serie di domande per rendere operativa l'istanza LXD: -``` +```bash lxd init ``` Ecco le domande e le nostre risposte per lo script, con una piccola spiegazione dove necessario: -``` +```text Would you like to use LXD clustering? (yes/no) [default=no]: ``` Se siete interessati al clustering, fate ulteriori ricerche al riguardo [qui](https://documentation.ubuntu.com/lxd/en/latest/clustering/) -``` +```text Do you want to configure a new storage pool? (yes/no) [default=yes]: ``` Questo sembra controintuitivo. Il pool ZFS è già stato creato, ma sarà chiaro in una domanda successiva. Accettare l'impostazione predefinita. -``` +```text Name of the new storage pool [default=default]: storage ``` Lasciare questo nome "default" è un'opzione, ma per chiarezza è meglio usare lo stesso nome dato al pool ZFS. -``` +```text Name of the storage backend to use (btrfs, dir, lvm, zfs, ceph) [default=zfs]: ``` You want to accept the default. -``` +```text Create a new ZFS pool? (yes/no) [default=yes]: no ``` È qui che entra in gioco la risoluzione della domanda precedente sulla creazione di un pool di storage. -``` +```text Name of the existing ZFS pool or dataset: storage Would you like to connect to a MAAS server? (yes/no) [default=no]: ``` Il Metal As A Service (MAAS) non rientra nell'ambito di questo documento. -``` +```text Would you like to create a new local network bridge? (yes/no) [default=yes]: What should the new bridge be called? [default=lxdbr0]: What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: @@ -70,13 +70,13 @@ What IPv6 address should be used? (CIDR subnet notation, “auto” or “none Se si desidera utilizzare IPv6 sui propri contenitori LXD, è possibile attivare questa opzione. Questo dipende da voi. -``` +```text Would you like the LXD server to be available over the network? (yes/no) [default=no]: yes ``` È necessario per eseguire lo snapshot del server. -``` +```text Address to bind LXD to (not including port) [default=all]: Port to bind LXD to [default=8443]: Trust password for new clients: @@ -85,7 +85,7 @@ Again: Questa password di fiducia è il modo in cui ci si connette al server snapshot o si torna indietro dal server snapshot. Impostate qualcosa che abbia senso nel vostro ambiente. Salvare questa voce in un luogo sicuro, ad esempio in un gestore di password. -``` +```text Would you like stale cached images to be updated automatically? (yes/no) [default=yes] Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]: ``` @@ -94,13 +94,13 @@ Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]: Prima di continuare, è necessario creare l'utente "lxdadmin" e assicurarsi che abbia i privilegi necessari. È necessario che l'utente "lxdadmin" sia in grado di eseguire il `sudo` a root e che sia membro del gruppo lxd. Per aggiungere l'utente e assicurarsi che sia membro di entrambi i gruppi, procedere come segue: -``` +```bash useradd -G wheel,lxd lxdadmin ``` Impostare la password: -``` +```bash passwd lxdadmin ``` diff --git a/docs/books/lxd_server/03-lxdinit.uk.md b/docs/books/lxd_server/03-lxdinit.uk.md index ae26a2f1d7..400dfcc2e9 100644 --- a/docs/books/lxd_server/03-lxdinit.uk.md +++ b/docs/books/lxd_server/03-lxdinit.uk.md @@ -18,50 +18,50 @@ tags: Серверне середовище налаштовано. Ви готові ініціалізувати LXD. Це автоматизований сценарій, який задає низку запитань, щоб запустити ваш екземпляр LXD: -``` +```bash lxd init ``` Ось запитання та наші відповіді щодо сценарію з невеликими поясненнями, де це необхідно: -``` +```text Бажаєте використовувати кластеризацію LXD? (Would you like to use LXD clustering?) (yes/no) [default=no]: ``` Якщо вас цікавить кластеризація, проведіть додаткові дослідження щодо цього [тут](https://documentation.ubuntu.com/lxd/en/latest/clustering/) -``` +```text Бажаєте налаштувати новий пул зберігання? (Do you want to configure a new storage pool?) (yes/no) [default=yes]: ``` Це здається неінтуїтивним. Ви вже створили свій пул ZFS, але це стане зрозумілим у наступному питанні. Прийняти значення за замовчуванням. -``` +```text Ім’я нового пулу сховищ [default=default]: storage ``` Можна залишити це значення «за замовчуванням», але для ясності краще використовувати ту саму назву, яку ви дали нашому пулу ZFS. -``` +```text Назва серверної частини сховища для використання (btrfs, dir, lvm, zfs, ceph) [default=zfs]: ``` Ви хочете прийняти значення за замовчуванням. -``` +```text Створити новий пул ZFS? (yes/no) [default=yes]: no ``` Тут вступає в дію вирішення попереднього питання про створення пулу зберігання. -``` +```text Назва існуючого пулу або набору даних ZFS: storage Бажаєте підключитися до сервера MAAS? (yes/no) [default=no]: ``` Metal As A Service (MAAS) виходить за рамки цього документа. -``` +```text Бажаєте створити новий міст локальної мережі? (yes/no) [default=yes]: Як мав би називатися новий міст? [default=lxdbr0]: Яку адресу IPv4 слід використовувати? (CIDR subnet notation, “auto” or “none”) [default=auto]: @@ -70,13 +70,13 @@ Metal As A Service (MAAS) виходить за рамки цього докум Якщо ви хочете використовувати IPv6 у своїх контейнерах LXD, ви можете ввімкнути цю опцію. Це залежить від вас. -``` +```text Бажаєте, щоб сервер LXD був доступний через мережу? (yes/no) [default=no]: yes ``` Це необхідно для створення snapshot сервера. -``` +```text Address to bind LXD to (not including port) [default=all]: Port to bind LXD to [default=8443]: Trust password for new clients: @@ -85,7 +85,7 @@ Again: Цей пароль довіри означає, як ви підключатиметеся до snapshot сервера або повертатиметеся із snapshot сервера. Встановіть це з тим, що має сенс у вашому оточенні. Збережіть цей запис у безпечному місці, наприклад у менеджері паролів. -``` +```text Бажаєте, щоб застарілі кешовані зображення оновлювалися автоматично? (yes/no) [default=yes] Чи бажаєте ви, щоб надруковано передзапуск YAML "lxd init"? (yes/no) [default=no]: ``` @@ -94,13 +94,13 @@ Again: Перш ніж продовжити, нам потрібно створити нашого користувача "lxdadmin" і переконатися, що він має необхідні привілеї. Нам потрібен користувач «lxdadmin», щоб мати змогу використовувати _sudo_ для root і він повинен бути членом групи lxd. Щоб додати користувача та переконатися, що він є членом обох груп, виконайте: -``` +```bash useradd -G wheel,lxd lxdadmin ``` Потім встановіть пароль: -``` +```bash passwd lxdadmin ``` diff --git a/docs/books/lxd_server/05-lxd_images.it.md b/docs/books/lxd_server/05-lxd_images.it.md index ca1d02927c..871c1c7b00 100644 --- a/docs/books/lxd_server/05-lxd_images.it.md +++ b/docs/books/lxd_server/05-lxd_images.it.md @@ -17,7 +17,7 @@ In questo capitolo dovrete eseguire i comandi come utente non privilegiato ("lxd Probabilmente non vedete l'ora di iniziare con un contenitore. Esistono molte possibilità di sistemi operativi per container. Per avere un'idea del numero di possibilità, inserite questo comando: -``` +```bash lxc image list images: | more ``` @@ -25,13 +25,13 @@ Digitare la barra spaziatrice per sfogliare l'elenco. Questo elenco di container L'**ultima** cosa che si vuole fare è cercare un'immagine del contenitore da installare, soprattutto se si conosce l'immagine che si vuole creare. Modificare il comando per mostrare solo le opzioni di installazione di Rocky Linux: -``` +```bash lxc image list images: | grep rocky ``` In questo modo si ottiene un elenco molto più gestibile: -``` +```bash | rockylinux/8 (3 more) | 0ed2f148f7c6 | yes | Rockylinux 8 amd64 (20220805_02:06) | x86_64 | CONTAINER | 128.68MB | Aug 5, 2022 at 12:00am (UTC) | | rockylinux/8 (3 more) | 6411a033fdf1 | yes | Rockylinux 8 amd64 (20220805_02:06) | x86_64 | VIRTUAL-MACHINE | 643.15MB | Aug 5, 2022 at 12:00am (UTC) | | rockylinux/8/arm64 (1 more) | e677777306cf | yes | Rockylinux 8 arm64 (20220805_02:29) | aarch64 | CONTAINER | 124.06MB | Aug 5, 2022 at 12:00am (UTC) | @@ -50,7 +50,7 @@ In questo modo si ottiene un elenco molto più gestibile: Per il primo contenitore, si utilizzerà "rockylinux/8". Per installarlo, *si può* usare: -``` +```bash lxc launch images:rockylinux/8 rockylinux-test-8 ``` @@ -58,19 +58,19 @@ Questo creerà un contenitore basato su Rocky Linux chiamato "rockylinux-test-8" Per avviare manualmente il container, utilizzare: -``` +```bash lxc start rockylinux-test-8 ``` Per rinominare l'immagine (non lo faremo qui, ma ecco come farlo), prima di tutto fermate il contenitore: -``` +```bash lxc stop rockylinux-test-8 ``` Usare il comando `move` per cambiare il nome del contenitore: -``` +```bash lxc move rockylinux-test-8 rockylinux-8 ``` @@ -78,25 +78,25 @@ Se avete seguito comunque questa istruzione, fermate il contenitore e riportatel Ai fini di questa guida, per ora installate altre due immagini: -``` +```bash lxc launch images:rockylinux/9 rockylinux-test-9 ``` e -``` +```bash lxc launch images:ubuntu/22.04 ubuntu-test ``` Esaminate ciò che avete elencando le vostre immagini: -``` +```bash lxc list ``` che restituirà questo: -``` +```bash +-------------------+---------+----------------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +-------------------+---------+----------------------+------+-----------+-----------+ @@ -106,6 +106,4 @@ che restituirà questo: +-------------------+---------+----------------------+------+-----------+-----------+ | ubuntu-test | RUNNING | 10.146.84.181 (eth0) | | CONTAINER | 0 | +-------------------+---------+----------------------+------+-----------+-----------+ - ``` - diff --git a/docs/books/lxd_server/05-lxd_images.uk.md b/docs/books/lxd_server/05-lxd_images.uk.md index 338c4d04bf..9bea7ed3c9 100644 --- a/docs/books/lxd_server/05-lxd_images.uk.md +++ b/docs/books/lxd_server/05-lxd_images.uk.md @@ -17,7 +17,7 @@ tags: Можливо, вам кортить почати роботу з контейнером. Є багато можливостей контейнерної операційної системи. Щоб зрозуміти, скільки існує можливостей, введіть цю команду: -``` +```bash lxc image list images: | more ``` @@ -25,13 +25,13 @@ lxc image list images: | more **Останнє**, що ви хочете зробити, це переглянути сторінку в пошуках образу контейнера для встановлення, особливо якщо ви знаєте образ, який хочете створити. Змініть команду, щоб відображати лише параметри встановлення Rocky Linux: -``` +```bash lxc image list images: | grep rocky ``` Це відкриває набагато більш керований список: -``` +```bash | rockylinux/8 (3 more) | 0ed2f148f7c6 | yes | Rockylinux 8 amd64 (20220805_02:06) | x86_64 | CONTAINER | 128.68MB | Aug 5, 2022 at 12:00am (UTC) | | rockylinux/8 (3 more) | 6411a033fdf1 | yes | Rockylinux 8 amd64 (20220805_02:06) | x86_64 | VIRTUAL-MACHINE | 643.15MB | Aug 5, 2022 at 12:00am (UTC) | | rockylinux/8/arm64 (1 more) | e677777306cf | yes | Rockylinux 8 arm64 (20220805_02:29) | aarch64 | CONTAINER | 124.06MB | Aug 5, 2022 at 12:00am (UTC) | @@ -50,7 +50,7 @@ lxc image list images: | grep rocky Для першого контейнера ви збираєтеся використовувати "rockylinux/8". Щоб його встановити, ми *можемо* використати: -``` +```bash lxc launch images:rockylinux/8 rockylinux-test-8 ``` @@ -58,19 +58,19 @@ lxc launch images:rockylinux/8 rockylinux-test-8 Щоб запустити контейнер вручну, використовуйте: -``` +```bash lxc start rockylinux-test-8 ``` Щоб перейменувати зображення (ми не збираємося робити це тут, але ось як це зробити), спочатку зупиніть контейнер: -``` +```bash lxc stop rockylinux-test-8 ``` Використовуйте команду `move`, щоб змінити назву контейнера: -``` +```bash lxc move rockylinux-test-8 rockylinux-8 ``` @@ -78,25 +78,25 @@ lxc move rockylinux-test-8 rockylinux-8 Для цілей цього посібника встановіть ще два зображення: -``` +```bash lxc launch images:rockylinux/9 rockylinux-test-9 ``` та -``` +```bash lxc launch images:ubuntu/22.04 ubuntu-test ``` Перевірте, що у вас є, перерахувавши свої зображення: -``` +```bash lxc list ``` який поверне це: -``` +```bash +-------------------+---------+----------------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +-------------------+---------+----------------------+------+-----------+-----------+ @@ -106,6 +106,4 @@ lxc list +-------------------+---------+----------------------+------+-----------+-----------+ | ubuntu-test | RUNNING | 10.146.84.181 (eth0) | | CONTAINER | 0 | +-------------------+---------+----------------------+------+-----------+-----------+ - ``` - diff --git a/docs/books/lxd_server/09-snapshot_server.it.md b/docs/books/lxd_server/09-snapshot_server.it.md index 644c4c9dd8..aea0b626e3 100644 --- a/docs/books/lxd_server/09-snapshot_server.it.md +++ b/docs/books/lxd_server/09-snapshot_server.it.md @@ -27,38 +27,38 @@ Nel nostro laboratorio non abbiamo questo lusso. Forse anche voi avete lo stesso Nel nostro laboratorio, il server LXD primario è in esecuzione su 192.168.1.106 e il server LXD snapshot è in esecuzione su 192.168.1.141. Accedere a ciascun server tramite SSH e aggiungere quanto segue al file /etc/hosts: -``` +```bash 192.168.1.106 lxd-primary 192.168.1.141 lxd-snapshot ``` Successivamente, è necessario consentire tutto il traffico tra i due server. A tale scopo, occorre modificare le regole di `firewalld`. Per prima cosa, sul server lxd-primario, aggiungere questa riga: -``` +```bash firewall-cmd zone=trusted add-source=192.168.1.141 --permanent ``` e sul server snapshot aggiungere questa regola: -``` +```bash firewall-cmd zone=trusted add-source=192.168.1.106 --permanent ``` poi ricaricare: -``` +```bash firewall-cmd reload ``` Successivamente, come utente non privilegiato (lxdadmin), è necessario impostare la relazione di fiducia tra le due macchine. Per farlo, eseguire il seguente comando su lxd-primary: -``` +```bash lxc remote add lxd-snapshot ``` Visualizza il certificato da accettare. Accettate e vi verrà richiesta la password. Si tratta della "trust password" impostata durante la fase di inizializzazione di LXD. Si spera che teniate traccia di tutte queste password in modo sicuro. Quando si inserisce la password, si riceve questo messaggio: -``` +```bash Client certificate stored at server: lxd-snapshot ``` @@ -70,31 +70,31 @@ Prima di poter migrare il primo snapshot, è necessario che su lxd-snapshot veng È necessario crearlo per lxd-snapshot. Tornare al [Capitolo 6](06-profiles.md) e creare il profilo "macvlan" su lxd-snapshot, se necessario. Se i due server hanno gli stessi nomi di interfaccia madre ("enp3s0", ad esempio), è possibile copiare il profilo "macvlan" in lxd-snapshot senza ricrearlo: -``` +```bash lxc profile copy macvlan lxd-snapshot ``` Dopo aver impostato tutte le relazioni e i profili, il passo successivo è l'invio effettivo snapshot da lxd-primary a lxd-snapshot. Se avete seguito esattamente la procedura, probabilmente avete cancellato tutti i vostri snapshot. Create un'altro snapshot: -``` +```bash lxc snapshot rockylinux-test-9 rockylinux-test-9-snap1 ``` Se si esegue il comando "info" per `lxc`, si può vedere l'istantanea in fondo al nostro elenco: -``` +```bash lxc info rockylinux-test-9 ``` Che mostrerà qualcosa di simile in basso: -``` +```bash rockylinux-test-9-snap1 at 2021/05/13 16:34 UTC) (stateless) ``` Ok, incrociamo le dita! Proviamo a migrare in nostro snapshot: -``` +```bash lxc copy rockylinux-test-9/rockylinux-test-9-snap1 lxd-snapshot:rockylinux-test-9 ``` @@ -102,7 +102,7 @@ Questo comando dice che, all'interno del container rockylinux-test-9, si vuole i Dopo poco tempo, la copia sarà completa. Volete scoprirlo con certezza? Eseguire un `lxc list` sul server lxd-snapshot. Che dovrebbe restituire quanto segue: -``` +```bash +-------------------+---------+------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +-------------------+---------+------+------+-----------+-----------+ @@ -112,13 +112,13 @@ Dopo poco tempo, la copia sarà completa. Volete scoprirlo con certezza? Eseguir Riuscito! Provate ad avviarlo. Poiché lo stiamo avviando sul server lxd-snapshot, è necessario fermarlo prima sul server lxd-primario per evitare un conflitto di indirizzi IP: -``` +```bash lxc stop rockylinux-test-9 ``` E sul server lxd-snapshot: -``` +```bash lxc start rockylinux-test-9 ``` @@ -130,7 +130,7 @@ Gli snapshot copiate su lxd-snapshot saranno inattivi durante la migrazione, ma Per eliminare questo problema, è necessario impostare i container migrati in modo che non vengano avviati al riavvio del server. Per il nostro container rockylinux-test-9 appena copiato, lo si farà con: -``` +```bash lxc config set rockylinux-test-9 boot.autostart 0 ``` @@ -142,7 +142,7 @@ Eseguire questa operazione per ogni snapshot sul server lxd-snapshot. Lo "0" nel La prima cosa da fare è pianificare un processo per automatizzare la creazione di snapshot su lxd-primary. Questa operazione viene eseguita per ogni container sul server lxd-primary. Una volta completata, si occuperà di questo aspetto in futuro. Per farlo, si utilizza la seguente sintassi. Si noti la somiglianza con una voce di crontab per il timestamp: -``` +```bash lxc config set [container_name] snapshots.schedule "50 20 * * *" ``` @@ -150,18 +150,18 @@ Ciò significa che bisogna eseguire un'istantanea del nome del container ogni gi Per applicare questo al nostro container rockylinux-test-9: -``` +```bash lxc config set rockylinux-test-9 snapshots.schedule "50 20 * * *" ``` È inoltre necessario impostare il nome dello snapshot in modo che sia significativo per la nostra data. LXD utilizza ovunque UTC, quindi la cosa migliore per tenere traccia delle cose è impostare il nome del container con una data e un'ora in un formato più comprensibile: -``` +```bash lxc config set rockylinux-test-9 snapshots.pattern "rockylinux-test-9{{ creation_date|date:'2006-01-02_15-04-05' }}" ``` GRANDE, ma di certo non volete una nuova istantanea ogni giorno senza sbarazzarvi di quella vecchia, giusto? L'unità si riempirebbe di istantanee. Per risolvere questo problema si esegue: -``` +```bash lxc config set rockylinux-test-9 snapshots.expiry 1d ``` diff --git a/docs/books/lxd_server/09-snapshot_server.uk.md b/docs/books/lxd_server/09-snapshot_server.uk.md index 0bf05fafcc..530cd60fda 100644 --- a/docs/books/lxd_server/09-snapshot_server.uk.md +++ b/docs/books/lxd_server/09-snapshot_server.uk.md @@ -27,38 +27,38 @@ tags: У нашій лабораторії основний сервер LXD працює на 192.168.1.106, а сервер знімків LXD працює на 192.168.1.141. SSH на кожному сервері та додайте наступне до файлу /etc/hosts: -``` +```bash 192.168.1.106 lxd-primary 192.168.1.141 lxd-snapshot ``` Далі вам потрібно дозволити весь трафік між двома серверами. Для цього ви збираєтеся змінити правила `firewalld`. Спочатку на сервері lxd-primary додайте цей рядок: -``` +```bash firewall-cmd zone=trusted add-source=192.168.1.141 --permanent ``` а на сервері знімків додайте це правило: -``` +```bash firewall-cmd zone=trusted add-source=192.168.1.106 --permanent ``` потім перезавантажте: -``` +```bash firewall-cmd reload ``` Далі, як наш непривілейований користувач (lxdadmin), вам потрібно встановити довірчі відносини між двома машинами. Це робиться за допомогою наступного виконання на lxd-primary: -``` +```bash lxc remote add lxd-snapshot ``` Це відображає сертифікат, який потрібно прийняти. Прийміть його, і з’явиться запит на введення пароля. Це «пароль довіри», який ви встановлюєте під час виконання кроку ініціалізації LXD. Сподіваємось, ви надійно зберігаєте всі ці паролі. Коли ви введете пароль, ви отримаєте це: -``` +```bash Client certificate stored at server: lxd-snapshot ``` @@ -70,31 +70,31 @@ Client certificate stored at server: lxd-snapshot Вам потрібно буде створити це для lxd-snapshot. Поверніться до [розділу 6](06-profiles.md) і створіть профіль "macvlan" у lxd-snapshot, якщо потрібно. Якщо ваші два сервери мають однакові назви батьківського інтерфейсу (наприклад, "enp3s0"), ви можете скопіювати профіль "macvlan" до lxd-snapshot без його повторного створення: -``` +```bash lxc profile copy macvlan lxd-snapshot ``` Коли всі зв’язки та профілі налаштовано, наступним кроком є фактичне надсилання знімка з lxd-primary до lxd-snapshot. Якщо ви точно слідкували за цим, ви, ймовірно, видалили всі свої знімки. Створіть інший знімок: -``` +```bash lxc snapshot rockylinux-test-9 rockylinux-test-9-snap1 ``` Якщо ви запустите команду «info» для `lxc`, ви побачите знімок у нижній частині нашого списку: -``` +```bash lxc info rockylinux-test-9 ``` Унизу буде показано щось на зразок цього: -``` +```bash rockylinux-test-9-snap1 at 2021/05/13 16:34 UTC) (stateless) ``` Тож, тримаємо пальці! Давайте спробуємо перенести наш snapshot: -``` +```bash lxc copy rockylinux-test-9/rockylinux-test-9-snap1 lxd-snapshot:rockylinux-test-9 ``` @@ -102,7 +102,7 @@ lxc copy rockylinux-test-9/rockylinux-test-9-snap1 lxd-snapshot:rockylinux-test- Через короткий час копіювання буде завершено. Хочете дізнатися напевно? Створіть `список lxc` на сервері lxd-snapshot. Що має повернути наступне: -``` +```bash +-------------------+---------+------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +-------------------+---------+------+------+-----------+-----------+ @@ -112,13 +112,13 @@ lxc copy rockylinux-test-9/rockylinux-test-9-snap1 lxd-snapshot:rockylinux-test- Успішно! Спробуйте запустити його. Оскільки ми запускаємо його на сервері lxd-snapshot, вам потрібно спершу зупинити його на сервері lxd-primary, щоб уникнути конфлікту IP-адрес: -``` +```bash lxc stop rockylinux-test-9 ``` А на сервері lxd-snapshot: -``` +```bash lxc start rockylinux-test-9 ``` @@ -130,7 +130,7 @@ Snapshots, скопійовані в lxd-snapshot, не працюватимут Щоб усунути це, потрібно налаштувати переміщені контейнери так, щоб вони не запускалися після перезавантаження сервера. Для нашого щойно скопійованого контейнера rockylinux-test-9 ви зробите це за допомогою: -``` +```bash lxc config set rockylinux-test-9 boot.autostart 0 ``` @@ -142,7 +142,7 @@ lxc config set rockylinux-test-9 boot.autostart 0 Перше, що вам потрібно зробити, це запланувати процес автоматизованого створення снепшоту на lxd-primary. Ви зробите це для кожного контейнера на сервері lxd-primary. Після завершення він подбає про це в майбутньому. Це можна зробити за допомогою наступного синтаксису. Зверніть увагу на схожість із записом crontab для позначки часу: -``` +```bash lxc config set [container_name] snapshots.schedule "50 20 * * *" ``` @@ -150,18 +150,18 @@ lxc config set [container_name] snapshots.schedule "50 20 * * *" Щоб застосувати це до нашого контейнера rockylinux-test-9: -``` +```bash lxc config set rockylinux-test-9 snapshots.schedule "50 20 * * *" ``` Ви також хочете налаштувати назву знімка, щоб мати значення до нашої дати. LXD скрізь використовує UTC, тому наш найкращий вибір, щоб відстежувати речі, це встановити ім’я знімка з датою та міткою часу в більш зрозумілому форматі: -``` +```bash lxc config set rockylinux-test-9 snapshots.pattern "rockylinux-test-9{{ creation_date|date:'2006-01-02_15-04-05' }}" ``` ЧУДОВО, але ви точно не хочете отримувати новий знімок щодня, не позбувшись старого, чи не так? Ви б заповнили диск знімками. Щоб виправити це, виконайте: -``` +```bash lxc config set rockylinux-test-9 snapshots.expiry 1d ``` diff --git a/docs/books/lxd_server/10-automating.it.md b/docs/books/lxd_server/10-automating.it.md index d53b2c6a90..5826dc8e88 100644 --- a/docs/books/lxd_server/10-automating.it.md +++ b/docs/books/lxd_server/10-automating.it.md @@ -17,16 +17,15 @@ L'automazione del processo di snapshot rende le cose molto più facili. ## Automatizzazione del Processo di Copia di Istantanee - Questo processo viene eseguito su lxd-primario. La prima cosa da fare è creare uno script che verrà eseguito da cron in /usr/local/sbin chiamato "refresh-containers" : -``` +```bash sudo vi /usr/local/sbin/refreshcontainers.sh ``` Lo script è piuttosto semplice: -``` +```bash #!/bin/bash # This script is for doing an lxc copy --refresh against each container, copying # and updating them to the snapshot server. @@ -40,25 +39,25 @@ for x in $(/var/lib/snapd/snap/bin/lxc ls -c n --format csv) Rendetelo eseguibile: -``` +```bash sudo chmod +x /usr/local/sbin/refreshcontainers.sh ``` Cambiare la proprietà di questo script all'utente e al gruppo lxdadmin: -``` +```bash sudo chown lxdadmin.lxdadmin /usr/local/sbin/refreshcontainers.sh ``` Impostare il crontab per l'utente lxdadmin per l'esecuzione di questo script, in questo caso alle 10 di sera: -``` +```bash crontab -e ``` La voce avrà il seguente aspetto: -``` +```bash 00 22 * * * /usr/local/sbin/refreshcontainers.sh > /home/lxdadmin/refreshlog 2>&1 ``` @@ -68,6 +67,6 @@ In questo modo si creerà un registro nella home directory di lxdadmin chiamato La procedura automatica a volte fallisce. Questo accade generalmente quando un particolare container non riesce ad aggiornarsi. È possibile eseguire manualmente l'aggiornamento con il seguente comando (assumendo rockylinux-test-9 qui, come nostro contenitore): -``` +```bash lxc copy --refresh rockylinux-test-9 lxd-snapshot:rockylinux-test-9 ``` diff --git a/docs/books/lxd_server/10-automating.uk.md b/docs/books/lxd_server/10-automating.uk.md index c4b2d319c8..548324f5e7 100644 --- a/docs/books/lxd_server/10-automating.uk.md +++ b/docs/books/lxd_server/10-automating.uk.md @@ -17,16 +17,15 @@ tags: ## Автоматизація snapshot процесу - Виконайте цей процес на lxd-primary. Перше, що вам потрібно зробити, це створити сценарій, який запускатиметься cron у /usr/local/sbin під назвою "refresh-containers": -``` +```bash sudo vi /usr/local/sbin/refreshcontainers.sh ``` Сценарій досить мінімальний: -``` +```bash #!/bin/bash # This script is for doing an lxc copy --refresh against each container, copying # and updating them to the snapshot server. @@ -40,25 +39,25 @@ for x in $(/var/lib/snapd/snap/bin/lxc ls -c n --format csv) Зробіть його виконуваним: -``` +```bash sudo chmod +x /usr/local/sbin/refreshcontainers.sh ``` Змініть право власності на цей сценарій на свого користувача та групу lxdadmin: -``` +```bash sudo chown lxdadmin.lxdadmin /usr/local/sbin/refreshcontainers.sh ``` Налаштуйте crontab для користувача lxdadmin, щоб запустити цей сценарій, у цьому випадку о 22:00: -``` +```bash crontab -e ``` Ваш запис виглядатиме так: -``` +```bash 00 22 * * * /usr/local/sbin/refreshcontainers.sh > /home/lxdadmin/refreshlog 2>&1 ``` @@ -68,6 +67,6 @@ crontab -e Автоматизована процедура іноді дає збій. Зазвичай це трапляється, коли не вдається оновити певний контейнер. Ви можете вручну повторно запустити оновлення за допомогою такої команди (припускаючи, що rockylinux-test-9 тут є нашим контейнером): -``` +```bash lxc copy --refresh rockylinux-test-9 lxd-snapshot:rockylinux-test-9 ``` diff --git a/docs/gemstones/torsocks.it.md b/docs/gemstones/torsocks.it.md index 2aafe51abf..5cc492c328 100644 --- a/docs/gemstones/torsocks.it.md +++ b/docs/gemstones/torsocks.it.md @@ -19,14 +19,14 @@ systemctl enable --now tor Seguono le opzioni comuni del comando `torsocks' che, in circostanze normali, non richiedono ulteriori opzioni. Le opzioni precedono l'applicazione da eseguire (ad esempio, `curl\`): -| Opzioni | Descrizione | -| ---------- | -------------------------------------------------------- | -| --shell | Crea una nuova shell con LD_PRELOAD | -| -u USER | Imposta il nome utente di SOCKS5 | -| -p PASS | Imposta la password di SOCKS5 | -| -a ADDRESS | Imposta l'indirizzo del server SOCKS5 | -| -P PORT | Imposta la porta del server SOCKS5 | -| -i | Abilta l'isolamento di Tor | +| Opzioni | Descrizione | +| ---------- | ---------------------------------------------------------- | +| --shell | Crea una nuova shell con LD\_PRELOAD | +| -u USER | Imposta il nome utente di SOCKS5 | +| -p PASS | Imposta la password di SOCKS5 | +| -a ADDRESS | Imposta l'indirizzo del server SOCKS5 | +| -P PORT | Imposta la porta del server SOCKS5 | +| -i | Abilta l'isolamento di Tor | Un esempio di output (ridotto) dal verificatore IP [icanhazip.com](https://icanhazip.com/) tramite `torsocks`: diff --git a/docs/gemstones/torsocks.uk.md b/docs/gemstones/torsocks.uk.md index e96388d5fa..03f843002e 100644 --- a/docs/gemstones/torsocks.uk.md +++ b/docs/gemstones/torsocks.uk.md @@ -19,14 +19,14 @@ systemctl enable --now tor Стандартні параметри команди `torsocks` наведені далі, і за звичайних обставин не вимагають нічого додаткового. Параметри з’являються перед запуском програми (наприклад, `curl`): -| Опції | Опис | -| ---------- | ------------------------------------------------------------------ | -| --shell | Створює нову оболонку за допомогою LD_PRELOAD | -| -u USER | Встановлює ім'я користувача SOCKS5 | -| -p PASS | Встановлює пароль SOCKS5 | -| -a ADDRESS | Встановлює адресу сервера SOCKS5 | -| -P PORT | Встановлює порт сервера SOCKS5 | -| -i | Вмикає ізоляцію Tor | +| Опції | Опис | +| ---------- | -------------------------------------------------------------------- | +| --shell | Створює нову оболонку за допомогою LD\_PRELOAD | +| -u USER | Встановлює ім'я користувача SOCKS5 | +| -p PASS | Встановлює пароль SOCKS5 | +| -a ADDRESS | Встановлює адресу сервера SOCKS5 | +| -P PORT | Встановлює порт сервера SOCKS5 | +| -i | Вмикає ізоляцію Tor | Зразок (відредагованого) результату перевірки IP [icanhazip.com](https://icanhazip.com/) через `torsocks`: diff --git a/docs/guides/cloud/migration-to-new-azure-images.uk.md b/docs/guides/cloud/migration-to-new-azure-images.uk.md index 99b5a78933..7b1412b145 100644 --- a/docs/guides/cloud/migration-to-new-azure-images.uk.md +++ b/docs/guides/cloud/migration-to-new-azure-images.uk.md @@ -1,7 +1,7 @@ --- title: Перехід до нових зображень Azure author: Neil Hanlon -contributors: Steven Spencer +contributors: Steven Spencer, Ganna Zhyrnova tags: - cloud - azure diff --git a/docs/guides/contribute/localdocs/mkdocs_venv.it.md b/docs/guides/contribute/localdocs/mkdocs_venv.it.md index b144148446..1c469c1634 100644 --- a/docs/guides/contribute/localdocs/mkdocs_venv.it.md +++ b/docs/guides/contribute/localdocs/mkdocs_venv.it.md @@ -9,7 +9,7 @@ tags: - documentation --- -# MkDocs (Python Virtual Enviroment) +# MkDocs (Python Virtual Environment) ## Introduzione diff --git a/docs/guides/network/accel-ppp_pppoe_server.uk.md b/docs/guides/network/accel-ppp_pppoe_server.uk.md new file mode 100644 index 0000000000..c3702b8e2c --- /dev/null +++ b/docs/guides/network/accel-ppp_pppoe_server.uk.md @@ -0,0 +1,137 @@ +--- +title: accel-ppp PPPoE Server +author: Neel Chauhan +contributors: null +tested_with: 9.3 +tags: + - мережа +--- + +# accel-ppp PPPoE Server + +## Вступ + +PPPoE — це протокол, який використовується в основному провайдерами DSL і оптоволокна до дому, де клієнти автентифікуються за допомогою комбінації імені користувача та пароля. PPPoE використовується в країнах, де від чинного провайдера потрібен спільний доступ до своєї мережі з іншими провайдерами, оскільки клієнти можуть бути маршрутизовані через доменне ім’я до потрібного провайдера. + +[accel-ppp](https://accel-ppp.org/) — це прискорена реалізація PPPoE за допомогою ядра Linux і пов’язаних протоколів, таких як PPTP, L2TP та інші. + +## Передумови + +- Сервер з двома мережевими інтерфейсами +- Клієнтський маршрутизатор або машина, що розмовляє PPPoE + +## Встановлення accel-ppp + +Оскільки accel-ppp відсутній у сховищах Rocky або EPEL за замовчуванням, ми спочатку встановлюємо необхідні пакунки для його створення: + +```bash +dnf install -y rpm-build make cmake gcc git openssl-devel pcre-devel kernel-modules-extra +``` + +Згодом клонуйте вихідний код accel-ppp до папки: + +```bash +git clone https://github.com/accel-ppp/accel-ppp.git /opt/accel-ppp +mkdir /opt/accel-ppp/build +cd /opt/accel-ppp/build/ +``` + +Далі нам потрібно створити accel-ppp (Примітка: якщо ви використовуєте Rocky Linux 8.x, замініть у `Centos8` `Centos9`): + +```bash +cmake -DCMAKE_INSTALL_PREFIX=/usr -DCPACK_TYPE=Centos9 .. +make +``` + +Нарешті, ми створимо пакет `rpm` і встановимо його: + +```bash +cpack -G RPM +rpm -ivh accel-ppp.rpm +``` + +## Налаштування accel-ppp + +По-перше, нам потрібно ввімкнути IP-переадресацію: + +```bash +echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf +sysctl -p +``` + +Потім додайте наступне до `/etc/accel-ppp.conf`: + +```bash +[modules] +log_file +pppoe +auth_mschap_v2 +auth_mschap_v1 +auth_chap_md5 +auth_pap +chap-secrets +ippool + +[core] +log-error=/var/log/accel-ppp/core.log +thread-count=4 + +[ppp] +ipv4=require + +[pppoe] +interface=YOUR_INTERFACE + +[dns] +dns1=YOUR_DNS1 +dns2=YOUR_DNS2 + +[ip-pool] +gw-ip-address=YOUR_GW +YOUR_IP_RANGE + +[chap-secrets] +gw-ip-address=YOUR_GW +chap-secrets=/etc/chap-secrets +``` + +Замініть наступну інформацію: + +- **YOUR_INTERFACE** з інтерфейсом, який прослуховує клієнтів PPPoE. +- **YOUR_DNS1** і **YOUR_DNS2** із DNS-серверами для передачі клієнтам. +- **YOUR_GW** – це IP-адреса сервера для клієнтів PPPoE. Це **повинно** відрізнятися від IP-адреси сервера WAN або шлюзу за замовчуванням. +- **YOUR_IP_RANGE** з діапазонами IP-адрес для роздачі клієнтам. Це може бути діапазон IP-адрес, наприклад X.X.X.Y-Z, або у форматі CDIR, наприклад X.X.X.X/MASK. + +Згодом додамо файл barebone `/etc/chap-secrets`: + +```bash +user * password * +``` + +Ви можете додати більше користувачів за допомогою додаткових рядків, замінивши `user` і `password` на потрібне ім'я користувача та пароль. + +## Налаштування клієнта PPPoE + +Після налаштування сервера PPPoE ми можемо почати додавати клієнтів PPPoE. Автор любить використовувати [MikroTik CHR](https://help.mikrotik.com/docs/display/ROS/Cloud+Hosted+Router%2C+CHR) як свій клієнт PPPoE для тестування, тому ми будемо використовувати його. + +Після встановлення MikroTik CHR на систему, підключену до тієї ж мережі Ethernet, що й інтерфейс прослуховування сервера PPPoE, ми налаштуємо PPPoE: + +```bash +[admin@MikroTik] > /interface pppoe-client +[admin@MikroTik] > add add-default-route=yes disabled=no interface=ether1 name=pppoe-out1 \ + password=password user=user +``` + +Якщо все працює належним чином, ми повинні отримати адресу IPv4: + +```bash +[admin@MikroTik] > /ip/address/print +Flags: D - DYNAMIC +Columns: ADDRESS, NETWORK, INTERFACE +# ADDRESS NETWORK INTERFACE +0 D 10.0.0.1/32 10.0.0.0 pppoe-out1 +``` + +## Висновок + +PPPoE часто отримує погану репутацію, і легко зрозуміти чому: вам потрібно налаштувати імена користувачів і паролі вручну. Незважаючи на це, він забезпечує безпеку під час підключення до широкомовного домену рівня 2 у сценаріях провайдера, де вимагати 802.1X або MACsec було б небажано, наприклад, щоб дозволити маршрутизатори, що належать клієнтам, або статичні IP-адреси. І тепер ви власний міні-провайдер, вітаємо! diff --git a/docs/guides/network/basic_network_configuration.uk.md b/docs/guides/network/basic_network_configuration.uk.md index 0447e6cd4e..d3dee064cc 100644 --- a/docs/guides/network/basic_network_configuration.uk.md +++ b/docs/guides/network/basic_network_configuration.uk.md @@ -14,9 +14,9 @@ tags: ## Передумови -* Певний комфорт роботи з командного рядка -* Підвищені або адміністративні привілеї в системі (наприклад, root, `sudo` тощо) -* Додатково: знайомство з мережевими концепціями +- Певний комфорт роботи з командного рядка +- Підвищені або адміністративні привілеї в системі (наприклад, root, `sudo` тощо) +- Додатково: знайомство з мережевими концепціями === "9" @@ -26,9 +26,9 @@ tags: ## Передумови - * Певний комфорт роботи з командного рядка - * Підвищені або адміністративні привілеї в системі (наприклад, root, `sudo` тощо) - * Додатково: знайомство з мережевими концепціями + - Певний комфорт роботи з командного рядка + - Підвищені або адміністративні привілеї в системі (наприклад, root, `sudo` тощо) + - Додатково: знайомство з мережевими концепціями ## Використання служби NetworkManager @@ -106,7 +106,7 @@ tags: Схема конфігурації статичного IP є модною в системах або мережах серверного класу. - Динамічний IP-підхід популярний у домашніх і офісних мережах, робочих станціях і настільних системах у бізнес-середовищі. Динамічна схема зазвичай потребує _щось_ додаткового, що є локально доступним і може надати правильну інформацію про конфігурацію IP для запитуючих робочих станцій і робочих столів. Це _щось_ називається протоколом динамічної конфігурації хоста (DHCP). У домашній мережі та навіть у більшості бізнес-мереж ця послуга надається сервером DHCP, налаштованим для цієї мети. Це може бути окремий сервер або частина конфігурації маршрутизатора. + Динамічний IP-підхід популярний у домашніх і офісних мережах, робочих станціях і настільних системах у бізнес-середовищі. Динамічна схема зазвичай потребує *щось* додаткового, що є локально доступним і може надати правильну інформацію про конфігурацію IP для запитуючих робочих станцій і робочих столів. Це *щось* називається протоколом динамічної конфігурації хоста (DHCP). У домашній мережі та навіть у більшості бізнес-мереж ця послуга надається сервером DHCP, налаштованим для цієї мети. Це може бути окремий сервер або частина конфігурації маршрутизатора. ## IP-адреса @@ -117,25 +117,25 @@ tags: ![nmtui](images/nmtui_first.png) - 2. Нам уже потрібне «Редагувати з’єднання» у виділеному пункті, тож натисніть клавішу TAB, щоб виділити «ОК», і натисніть ENTER + 2. Нам уже потрібне «Редагувати з’єднання» у виділеному пункті, тож натисніть клавішу ++tab++, щоб виділити «ОК», і натисніть ++enter++ - 3. Відкриється екран, на якому показано підключення Ethernet на машині, і ви зможете вибрати одне з них. У нашому випадку є *ЛИШЕ* один, тому він уже виділений, нам просто потрібно натиснути клавішу TAB, доки не буде виділено «Редагувати». а потім натисніть ENTER + 3. Відкриється екран, на якому показано підключення Ethernet на машині, і ви зможете вибрати одне з них. У нашому випадку є *ЛИШЕ* один, тому він уже виділений, нам просто потрібно натиснути клавішу ++tab++, доки не буде виділено «Редагувати», а потім натисніть ++enter++ ![nmtui_edit](images/nmtui_edit.png) - 4. Коли ми це зробимо, ми будемо на екрані, де буде показано нашу поточну конфігурацію. Що нам потрібно зробити, це перемкнутися з «Вручну» на «Автоматично», тому натисніть клавішу TAB кілька разів, доки не дійдете до місця, де буде виділено «Вручну», а потім натисніть ENTER. + 4. Коли ми це зробимо, ми будемо на екрані, де буде показано нашу поточну конфігурацію. Що нам потрібно зробити, це перемкнутися з «Вручну» на «Автоматично», тому кілька разів натисніть клавішу ++tab++, доки не дійдете до місця, де буде виділено «Вручну», а потім натисніть ++enter++. ![nmtui_manual](images/nmtui_manual.png) - 5. Стрілка вгору, доки не буде виділено «Автоматично», а потім натисніть ENTER + 5. Стрілка вгору, доки не буде виділено «Автоматично», а потім натисніть ++enter++ ![nmtui_automatic](images/nmtui_automatic.png) - 6. Після того, як ми перемкнули інтерфейс на «Автоматичний», нам потрібно видалити статично призначену IP-адресу, тому натискайте клавішу TAB, доки «Видалити» не буде виділено поруч із IP-адресою, і натисніть ENTER. + 6. Після того, як ми перемкнули інтерфейс на «Автоматичний», нам потрібно видалити статично призначену IP-адресу, тому натисніть клавішу ++tab++, доки «Видалити» не буде виділено поруч із IP-адресою, і натисніть ++enter++. ![nmtui_remove](images/nmtui_remove.png) - 7. Нарешті натисніть клавішу TAB кілька разів, доки не дійдете до нижньої частини екрана `nmtui` і не буде виділено «OK», а потім натисніть ENTER + 7. Нарешті натисніть клавішу ++tab++ кілька разів, доки не дійдете до нижньої частини екрана `nmtui` і не буде виділено «OK», а потім натисніть ++enter++ Ви також можете вимкнути та знову активувати свій інтерфейс за допомогою `nmtui`, але натомість зробимо це за допомогою `nmcli`. Таким чином ми можемо зв’язати деактивацію та повторну активацію інтерфейсу, щоб інтерфейс ніколи не був недоступним надовго: @@ -169,10 +169,10 @@ tags: Перш ніж почати, майте на увазі, що для переналаштування інтерфейсу на DHCP нам потрібно: - * Видаліть шлюз IPv4 - * Видаліть IPv4-адресу, яку ми статично призначили - * Змініть метод IPv4 на автоматичний - * Інтерфейс вниз і вгору + - Видаліть шлюз IPv4 + - Видаліть IPv4-адресу, яку ми статично призначили + - Змініть метод IPv4 на автоматичний + - Інтерфейс вниз і вгору Зауважте, що ми не використовуємо приклади, які говорять вам про використання -ipv4.address тощо. Вони не змінюють повністю інтерфейс. Для цього ми повинні встановити порожній рядок для ipv4.address і ipv4.gateway. Знову ж таки, щоб заощадити якомога більше часу за допомогою нашої команди, ми збираємося об’єднати їх усі в один рядок: @@ -217,10 +217,10 @@ tags: У цьому прикладі ми припустимо такі параметри: - * interface name: enp0s3 - * ip address: 192.168.1.151 - * subnet mask: 24 - * gateway: 192.168.1.1 + - interface name: enp0s3 + - ip address: 192.168.1.151 + - subnet mask: 24 + - gateway: 192.168.1.1 ### Отримання загальної інформації @@ -359,7 +359,7 @@ tags: ``` - ## Висновки + ## Висновок У Rocky Linux 9 є багато змін у мережевому стеку. Серед них пріоритетність `keyfile` над раніше використовуваними файлами `ifcfg`, знайденими в Network-Scripts. Оскільки в наступних версіях Rocky Linux мережеві сценарії будуть застарілими та видаленими, краще зосередити увагу на таких методологіях, як `nmcli`, `nmtui` та в у деяких випадках `ip`, для налаштування мережі. @@ -410,7 +410,7 @@ tags: Схема конфігурації статичного IP є модною в системах або мережах серверного класу. - Динамічний IP-підхід популярний у домашніх і офісних мережах або в системах робочих станцій і настільних комп’ютерів. Динамічна схема зазвичай потребує _щось_ додаткового, що є локально доступним, що може надати належну інформацію про конфігурацію IP для запитуючих робочих станцій і настільних комп’ютерів. Це _щось_ називається протоколом динамічної конфігурації хоста (DHCP). + Динамічний IP-підхід популярний у домашніх і офісних мережах або в системах робочих станцій і настільних комп’ютерів. Динамічна схема зазвичай потребує _щось_ додаткового, що є локально доступним, що може надати належну інформацію про конфігурацію IP для запитуючих робочих станцій і настільних комп’ютерів. Це *щось* називається протоколом динамічної конфігурації хоста (DHCP). Домашнім/офісним користувачам часто не потрібно турбуватися або знати про DHCP. Це тому, що хтось інший автоматично піклується про це у фоновому режимі. Кінцевий користувач має фізично чи бездротово підключитися до правильної мережі (і, звичайно, переконатися, що його системи увімкнено)! @@ -511,8 +511,8 @@ tags: Наприклад, ми бачимо, що `ipv4.method` тут наразі встановлено на `auto`. Існує багато дозволених значень для параметра `ipv4.method`, але два основні, які ви, швидше за все, побачите: - * `auto`: для інтерфейсу використовується відповідний автоматичний метод (DHCP, PPP тощо), більшість інших властивостей можна не налаштовувати. - * `manual`: використовується статична IP-адреса, і принаймні одну IP-адресу потрібно вказати у властивості 'addresses'. + - `auto`: для інтерфейсу використовується відповідний автоматичний метод (DHCP, PPP тощо), більшість інших властивостей можна не налаштовувати. + - `manual`: використовується статична IP-адреса, і принаймні одну IP-адресу потрібно вказати у властивості 'addresses'. Якщо замість цього ви хочете налаштувати систему на використання схеми статичної IP-адреси, вам доведеться змінити значення `ipv4.method` на `manual`, а також вказати `ipv4.gateway` та `ipv4.addresses`. @@ -572,10 +572,10 @@ tags: У цьому прикладі ми припустимо такі параметри: - * назва інтерфейсу: ens19 - * ip-адреса: 192.168.20.10 - * subnet mask: 24 - * шлюз: 192.168.20.254 + - назва інтерфейсу: ens19 + - ip-адреса: 192.168.20.10 + - subnet mask: 24 + - шлюз: 192.168.20.254 ### Отримання загальної інформації @@ -588,8 +588,8 @@ tags: !!! tip "**Професійні поради:**" - * використовуйте прапорець `-c`, щоб отримати більш читабельний кольоровий вивід: `ip -c a`. - * `ip` приймає абревіатуру, тому `ip a`, `ip addr` та `ip address` еквівалентні + - використовуйте прапорець `-c`, щоб отримати більш читабельний кольоровий вивід: `ip -c a`. + - `ip` приймає абревіатуру, тому `ip a`, `ip addr` та `ip address` еквівалентні ### Переміщення інтерфейсу вгору або вниз @@ -719,6 +719,6 @@ tags: ``` - ## Висновки + ## Висновок У Rocky Linux 8 є інструменти для налаштування мережі за допомогою командного рядка. Цей документ допоможе вам швидко почати роботу з цими інструментами. diff --git a/docs/guides/network/librenms_monitoring_server.uk.md b/docs/guides/network/librenms_monitoring_server.uk.md index cdae0467e8..42bb9547b4 100644 --- a/docs/guides/network/librenms_monitoring_server.uk.md +++ b/docs/guides/network/librenms_monitoring_server.uk.md @@ -16,13 +16,13 @@ title: LibreNMS Monitoring Server author: Steven Spencer contributors: Ezequiel ## Передумови, припущення та умовності -* Сервер або контейнер (так, LibreNMS працюватиме в контейнері. Якщо у вас є багато чого для моніторингу, найкращим варіантом буде інсталяція на автономному апаратному забезпеченні) під керуванням Rocky Linux. Усі команди передбачають нову інсталяцію Rocky Linux. -* Припущення: ви можете запускати команди від імені адміністратора або _sudo_ для підвищення привілеїв -* Практичні знання інструментів командного рядка, включаючи текстові редактори, такі як _vi_ -* Припущення: використання SNMP v2. Якщо ви хочете використовувати SNMP v3, LibreNMS підтримує це і буде працювати. Ви повинні змінити конфігурацію та параметри SNMP на своїх пристроях, щоб відповідати версії 3. -* Тут включено процедуру SELinux. Контейнер, який автор використовує в лабораторії, не включає його за замовчуванням. З цієї причини процедура SELinux **не** була лабораторно перевірена. -* У цьому документі в прикладах використовується редактор _vi_. Коли в документі написано зберегти зміни та вийти, використовуйте SHIFT+:+wq!. -* Процедура вимагає певних навичок усунення несправностей, включаючи моніторинг журналів, веб-тестування тощо +- Сервер або контейнер (так, LibreNMS працюватиме в контейнері. Якщо у вас є багато чого для моніторингу, найкращим варіантом буде інсталяція на автономному апаратному забезпеченні) під керуванням Rocky Linux. Усі команди передбачають нову інсталяцію Rocky Linux. +- Припущення: ви можете запускати команди від імені адміністратора або *sudo* для підвищення привілеїв +- Практичні знання інструментів командного рядка, включаючи текстові редактори, такі як *vi* +- Припущення: використання SNMP v2. Якщо ви хочете використовувати SNMP v3, LibreNMS підтримує це і буде працювати. Ви повинні змінити конфігурацію та параметри SNMP на своїх пристроях, щоб відповідати версії 3. +- Тут включено процедуру SELinux. Контейнер, який автор використовує в лабораторії, не включає його за замовчуванням. З цієї причини процедура SELinux **не** була лабораторно перевірена. +- У цьому документі в прикладах використовується редактор *vi*. Коли в документі написано зберегти зміни та вийти, використовуйте ++shift+colon+w+q+exclam++. +- Процедура вимагає певних навичок усунення несправностей, включаючи моніторинг журналів, веб-тестування тощо ## Встановлення пакетів @@ -30,7 +30,7 @@ title: LibreNMS Monitoring Server author: Steven Spencer contributors: Ezequiel Спочатку встановіть репозиторій EPEL (додаткові пакети для Enterprise Linux): -``` +```bash dnf install -y epel-release ``` @@ -38,13 +38,13 @@ dnf install -y epel-release Версія репозиторію, яку ви встановите, залежатиме від версії Rocky Linux, яку ви використовуєте. Припущенням є версія 9, але змініть це відповідно до версії, яку ви використовуєте: -``` +```bash dnf install http://rpms.remirepo.net/enterprise/remi-release-9.rpm ``` Після того, як репозиторії EPEL і REMI встановлено, настав час інсталювати пакунки: -``` +```bash dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mtr net-snmp net-snmp-utils nmap php81-php-fpm php81-php-cli php81-php-common php81-php-curl php81-php-gd php81-php-json php81-php-mbstring php81-php-process php81-php-snmp php81-php-xml php81-php-zip php81-php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip wget ``` @@ -54,7 +54,7 @@ dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mt Скопіюйте та вставте (або введіть) наступне: -``` +```bash useradd librenms -d /opt/librenms -M -r -s "$(which bash)" ``` @@ -64,19 +64,19 @@ useradd librenms -d /opt/librenms -M -r -s "$(which bash)" Git полегшує завантаження. Можливо, ви знайомі з процесом. Спочатку перейдіть до каталогу `/opt`: -``` +```bash cd /opt ``` Клонуйте репозиторій: -``` +```bash git clone https://github.com/librenms/librenms.git ``` Змініть дозволи для каталогу: -``` +```bash chown -R librenms:librenms /opt/librenms chmod 771 /opt/librenms setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/ @@ -89,19 +89,19 @@ setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstra Залежності PHP у LibreNMS потрібно інсталювати за допомогою користувача `librenms`. Для цього запустіть: -``` +```bash su - librenms ``` Введіть наступне: -``` +```bash ./scripts/composer_wrapper.php install --no-dev ``` Поверніться до root: -``` +```text exit ``` @@ -113,13 +113,13 @@ exit Вам потрібно переконатися, що налаштування системи та PHP є правильними. Ви можете знайти список [дійсних налаштувань часового поясу для PHP тут](https://php.net/manual/en/timezones.php). Наприклад, для центрального часового поясу стандартним записом є «Америка/Чикаго». Почніть із редагування файлу `php.ini`: -``` +```bash vi /etc/opt/remi/php81/php.ini ``` Знайдіть рядок `date.timezone` і змініть його. Зауважте, що це позначено, тому видаліть ";" від початку рядка та додайте свій часовий пояс після знака "=". Для прикладу центрального часового поясу використовуйте наступне: -``` +```bash date.timezone = America/Chicago ``` @@ -127,7 +127,7 @@ date.timezone = America/Chicago Вам також потрібно переконатися, що системний часовий пояс правильний. Використовуючи приклад центрального часового поясу, зробіть це за допомогою: -``` +```bash timedatectl set-timezone America/Chicago ``` @@ -135,28 +135,27 @@ timedatectl set-timezone America/Chicago Перш ніж розпочинати вимоги до бази даних для LibreNMS, виконайте [процедуру MariaDB](../database/database_mariadb-server.md), зокрема розділ «Захист mariadb-сервера», і поверніться сюди, щоб отримати ці конкретні налаштування. Змініть файл `mariadb-server.cnf`: -``` +```bash vi /etc/my.cnf.d/mariadb-server.cnf ``` Додайте такі рядки до розділу "[Mysqld]": -``` +```bash innodb_file_per_table=1 lower_case_table_names=0 ``` Потім увімкніть і перезапустіть сервер `mariadb`: -``` +```bash systemctl enable mariadb systemctl restart mariadb ``` Отримайте доступ до `mariadb` як користувач root. Не забувайте використовувати пароль, який ви створили під час виконання розділу «Захист mariadb-сервера», виконаного раніше: - -``` +```sql mysql -u root -p ``` @@ -164,7 +163,7 @@ mysql -u root -p У підказці `mysql` виконайте: -``` +```sql CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost'; @@ -177,13 +176,13 @@ FLUSH PRIVILEGES; Це не змінилося в офіційній документації, за винятком шляху до файлу. Спочатку скопіюйте `www.conf`: -``` +```bash cp /etc/opt/remi/php81/php-fpm.d/www.conf /etc/opt/remi/php81/php-fpm.d/librenms.conf ``` Змініть файл `librenms.conf`: -``` +```bash vi /etc/opt/remi/php81/php-fpm.d/librenms.conf ``` @@ -191,20 +190,20 @@ vi /etc/opt/remi/php81/php-fpm.d/librenms.conf Змініть користувача та групу на "librenms": -``` +```bash user = librenms group = librenms ``` Змініть рядок «listen», щоб відобразити унікальну назву: -``` +```bash listen = /run/php-fpm-librenms.sock ``` Збережіть зміни та вийдіть із файлу. Якщо це єдина веб-служба, яка працюватиме на цій машині, ви можете видалити старий файл www.conf, який ви скопіювали: -``` +```bash rm -f /etc/opt/remi/php81/php-fpm.d/www.conf ``` @@ -212,13 +211,13 @@ rm -f /etc/opt/remi/php81/php-fpm.d/www.conf Почніть зі створення цього файлу: -``` +```bash vi /etc/httpd/conf.d/librenms.conf ``` Введіть у цей файл наступне: -``` +```bash DocumentRoot /opt/librenms/html/ ServerName librenms.example.com @@ -243,13 +242,13 @@ vi /etc/httpd/conf.d/librenms.conf Ви повинні видалити старий сайт за замовчуванням, `welcome.conf`: -``` +```bash rm /etc/httpd/conf.d/welcome.conf ``` Увімкніть `httpd` і `php-fpm`: -``` +```bash systemctl enable --now httpd systemctl enable --now php81-php-fpm ``` @@ -260,7 +259,7 @@ systemctl enable --now php81-php-fpm Щоб налаштувати все за допомогою SELinux, вам знадобиться встановити додатковий пакет: -``` +```bash dnf install policycoreutils-python-utils ``` @@ -268,7 +267,7 @@ dnf install policycoreutils-python-utils Щоб LibreNMS належним чином працював із SELinux, потрібно встановити наступні контексти: -``` +```bash semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(logs|rrd|storage)(/.*)?' restorecon -RFvv /opt/librenms @@ -281,7 +280,7 @@ chcon -t httpd_sys_rw_content_t /opt/librenms/.env Створіть будь-де файл під назвою `http_fping.tt`. Не має значення де. Встановлення цього відбувається далі. Вміст цього файлу: -``` +```bash module http_fping 1.0; require { @@ -297,7 +296,7 @@ allow httpd_t self:rawip_socket { getopt create setopt write read }; Встановіть цей файл за допомогою таких команд: -``` +```bash checkmodule -M -m -o http_fping.mod http_fping.tt semodule_package -o http_fping.pp -m http_fping.mod semodule -i http_fping.pp @@ -305,7 +304,7 @@ semodule -i http_fping.pp Якщо у вас виникли проблеми та ви підозрюєте, що це може бути пов’язано з проблемою SELinux, виконайте наступне: -``` +```bash audit2why < /var/log/audit/audit.log ``` @@ -315,10 +314,11 @@ audit2why < /var/log/audit/audit.log Команда для використання правил дозволу `firewalld` наступна: -``` +```bash firewall-cmd --zone public --add-service http --add-service https firewall-cmd --permanent --zone public --add-service http --add-service https ``` + Автор має проблеми з цим спрощеним набором правил `firewalld`. Це правило дозволяє вашим веб-сервісам бути відкритими для світу, але чи цього ви хочете від сервера моніторингу? Зазвичай це **ні**. Якщо вам потрібен більш детальний підхід до використання `firewalld`, перегляньте [цей документ](../security/firewalld.md), а потім внесіть відповідні зміни до своїх правил `firewalld`. @@ -327,43 +327,43 @@ firewall-cmd --permanent --zone public --add-service http --add-service https По-перше, вам потрібне символічне посилання на вашу команду `lnms`, щоб можна було запускати будь-де: -``` +```bash ln -s /opt/librenms/lnms /usr/bin/lnms ``` Далі налаштуйте його на автозаповнення: -``` +```bash cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/ ``` ## Налаштування `snmpd` -_SNMP_ означає "Simple Network Management Protocol (Простий протокол керування мережею)" і використовується багатьма програмами моніторингу для отримання даних. Для версії 2, яка тут використовується, потрібен «рядок спільноти», який відповідає вашому середовищу. +*SNMP* означає "Simple Network Management Protocol (Простий протокол керування мережею)" і використовується багатьма програмами моніторингу для отримання даних. Для версії 2, яка тут використовується, потрібен «рядок спільноти», який відповідає вашому середовищу. Призначте цей «рядок спільноти» мережевим пристроям, які ви хочете контролювати, щоб `snmpd` («d» тут означає демон) міг знайти його. Якщо ваша мережа існує певний час, можливо, ви вже використовуєте «рядок спільноти». Скопіюйте файл `snmpd.conf` із LibreNMS: -``` +```bash cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf ``` Відредагуйте цей файл і змініть рядок спільноти з "RANDOMSTRINGGOESHERE" на будь-який рядок вашої спільноти. У прикладі це "LABone": -``` +```bash vi /etc/snmp/snmpd.conf ``` Змініть цей рядок: -``` +```bash com2sec readonly default RANDOMSTRINGGOESHERE ``` на -``` +```bash com2sec readonly default LABone ``` @@ -373,7 +373,7 @@ com2sec readonly default LABone Виконайте такі команди, щоб налаштувати завдання cron: -``` +```bash cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms ``` @@ -381,12 +381,11 @@ cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms Опитувач працює з користувачем «librenms», і хоча можна переключитися на цього користувача та запустити файли cron, краще дозволити опитувальнику робити це самостійно. Переконайтеся, що минуло принаймні 5 хвилин, щоб запустити cron, і продовжте розділ «Веб-налаштування». - ## Ротація Журналу LibreNMS з часом створить великий набір журналів. Для цього вам потрібно буде налаштувати ротацію журналу, щоб заощадити місце на диску. Для цього виконайте цю команду: -``` +```bash cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms ``` @@ -398,13 +397,13 @@ PHP Composer є вимогою для поточної інсталяції (з Це можна виправити за допомогою символічного посилання, і це значно полегшить ваше життя під час виконання решти кроків: -``` +```bash ln -s /opt/remi/php81/root/usr/bin/php /usr/bin/php ``` Перейдіть на [веб-сайт Composer](https://getcomposer.org/download/) і переконайтеся, що наведені нижче дії не змінилися. Потім запустіть ці команди десь на машині. Ви перемістите composer, коли це буде зроблено: -``` +```php php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php @@ -413,7 +412,7 @@ php -r "unlink('composer-setup.php');" Перемістіть його в місце на шляху. Для цього використовуйте `/usr/local/bin/`: -``` +```bash mv composer.phar /usr/local/bin/composer ``` @@ -459,45 +458,45 @@ IP-адреса лабораторної машини 192.168.1.140. Перей Спочатку встановіть `snmpd` на робочу станцію та оновіть пакунки просто для безпеки: -``` +```bash sudo update && sudo apt-get upgrade && sudo apt-get install snmpd ``` Далі вам потрібно змінити файл `snmpd.conf`: -``` +```bash sudo vi /etc/snmpd/snmpd.conf ``` Знайдіть рядки, які описують вашу робочу станцію, і змініть їх на речі, які ідентифікують робочу станцію: -``` +```bash sysLocation Desktop sysContact Username ``` Встановлення `snmpd` на Ubuntu прив’язується лише до локальної адреси. Він не прослуховує IP-адресу вашого пристрою. Це не дозволить LibreNMS підключитися до нього. Вам потрібно виділити цей рядок: -``` +```bash agentaddress 127.0.0.1,[::1] ``` Додайте новий рядок: (У цьому прикладі IP-адреса вашої робочої станції – 192.168.1.122, а UDP-порт, який ви встановлюєте, – «161») -``` +```bash agentAddress udp:127.0.0.1:161,udp:192.168.1.122:161 ``` Потрібно вказати рядок спільноти доступу лише для читання. Знайдіть наведені нижче рядки та позначте їх, як показано: -``` +```bash #rocommunity public default -V systemonly #rocommunity6 public default -V systemonly ``` Додайте рядок: -``` +```bash rocommunity LABone ``` @@ -505,7 +504,7 @@ rocommunity LABone Увімкніть і запустіть `snmpd`: -``` +```bash sudo systemctl enable snmpd sudo systemctl start snmpd ``` @@ -516,25 +515,25 @@ sudo systemctl start snmpd Припускається, що ви є користувачем root або можете `sudo` щоб підвищити привілеї. Вам потрібно встановити деякі пакети: -``` +```bash dnf install net-snmp net-snmp-utils ``` Створіть файл `snmpd.conf`. Замість того, щоб намагатися перейти до включеного файлу, перемістіть цей файл, щоб перейменувати його, і створіть абсолютно новий порожній файл: -``` +```bash mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig ``` та -``` +```bash vi /etc/snmp/snmpd.conf ``` Скопіюйте це в новий файл: -``` +```bash # Map 'LABone' community to the 'AllUser' # sec.name source community com2sec AllUser default LABone @@ -560,7 +559,7 @@ CentOS і Rocky використовують угоду про відображ Увімкніть і запустіть `snmpd`: -``` +```bash systemctl enable snmpd systemctl start snmpd ``` @@ -569,9 +568,10 @@ systemctl start snmpd Якщо ви використовуєте сервер, то ви **використовуєте** брандмауер, вірно? Якщо ви використовуєте `firewalld`, припускаємо, що ви використовуєте «довірену» зону і просто хочете дозволити весь трафік із вашого сервера моніторингу, 192.168.1.140: -``` +```bash firewall-cmd --zone=trusted --add-source=192.168.1.140 --permanent ``` + Якщо «довірена» зона не підходить для вашого середовища, змініть її відповідно до ваших потреб. Перш ніж додавати їх, подумайте про свої правила та їх вплив. ## Додавання пристроїв у Librenms @@ -643,7 +643,7 @@ firewall-cmd --zone=trusted --add-source=192.168.1.140 --permanent ## Висновок -LibreNMS — це потужний інструмент моніторингу з повним набором функцій в одній програмі. У цьому документі _лише_ наведено поверхню його можливостей. Деякі з простіших екранів не показані. +LibreNMS — це потужний інструмент моніторингу з повним набором функцій в одній програмі. У цьому документі *лише* наведено поверхню його можливостей. Деякі з простіших екранів не показані. Коли ви додаєте пристрої, припускаючи, що всі властивості SNMP налаштовано правильно, ви отримаєте графіки пропускної здатності, використання пам’яті та використання ЦП на кожному пристрої. Ця лабораторія не показала вам багатства транспортів, крім «Пошти». diff --git a/docs/guides/package_management/package_build_troubleshooting.uk.md b/docs/guides/package_management/package_build_troubleshooting.uk.md index aa334f702d..40fc8e3ba9 100644 --- a/docs/guides/package_management/package_build_troubleshooting.uk.md +++ b/docs/guides/package_management/package_build_troubleshooting.uk.md @@ -6,11 +6,11 @@ title: Збірка пакета та вирішення проблем Ця стаття була написана на початку 2021 року під час завантаження Rocky Linux. Вміст цієї сторінки зберігається з історичних причин, але був дещо відредагований, щоб виправити посилання, надати контекст або видалити інструкції, які більше не актуальні, щоб уникнути плутанини. Цей документ буде заархівовано. -# Спочатку ознайомтеся з інструментом створення макетів: +# Спочатку ознайомтеся з інструментом створення макетів Коли ви пройдете це, найбільша та найрелевантніша технічна/вступна сторінка для наших зусиль з налагодження пакунків буде такою: -https://wiki.rockylinux.org/archive/legacy/mock_building_guide/ +[https://wiki.rockylinux.org/archive/legacy/mock_building_guide/](https://wiki.rockylinux.org/archive/legacy/mock_building_guide/) Ми використовуємо програму «mock» для виконання наших збірок, як і інфраструктуру Rocky. Ви повинні встановити його та звикнути до нього. Будь ласка, скористайтеся цим посібником, щоб почати, і поясніть, чого ми сподіваємося досягти, і чому ми повинні створювати всі ці пакети в певному порядку. @@ -20,14 +20,13 @@ Mock справді чудовий, оскільки це проста у вик Будь ласка, використовуйте макет конфігурацій для Rocky Linux, наданий пакетом `mock` у EPEL. - ## Введення - Що потрібно зробити Сфера, у якій ми зараз найбільше потребуємо допомоги, і найпростіший спосіб внести свій внесок – це допомогти у вирішенні проблем, пов’язаних із помилковими збірками пакетів. Ми відновлюємо CentOS 8.3 як «практику», щоб ми могли завчасно вирішити будь-які проблеми, які виникають у нашій офіційній збірці Rocky. Ми документуємо будь-які помилки, знайдені в пакунках, і те, як їх виправити (щоб створити компонування). Ця документація допоможе нашій групі розробників випусків, коли справа доходить до офіційних збірок. -## Допомога з налагодженням: +## Допомога з налагодженням Після того, як ви ознайомитеся з Mock, і особливо з налагодженням його виводу, ви можете почати розглядати невдалі пакети. Частина цієї інформації також міститься на сторінці Mock HowTo, на яку посилається вище. @@ -39,4 +38,4 @@ Mock справді чудовий, оскільки це проста у вик З’ясуйте, що відбувається, і як це виправити. Це може мати форму спеціальних фіктивних налаштувань або патча, доданого до програми + спецфайл. Повідомте про свої знахідки на канал #Dev/Packaging, і хтось запише їх на сторінку Wiki Package_Error_Tracking, посилання на яку наведено вище. -Ідея полягає в тому, щоб зменшити кількість помилок збірки та збільшити сторінку Package_Error_Tracking. Якщо необхідно, ми внесемо виправлення збірки в наше сховище виправлень для різних пакетів, розташованих тут: https://git.rockylinux.org/staging/patch. +Ідея полягає в тому, щоб зменшити кількість помилок збірки та збільшити сторінку Package_Error_Tracking. Якщо необхідно, ми внесемо виправлення збірки в наше сховище виправлень для різних пакунків, розташованих тут: . diff --git a/docs/guides/package_management/package_debranding.uk.md b/docs/guides/package_management/package_debranding.uk.md index e3227de99f..deb77b2794 100644 --- a/docs/guides/package_management/package_debranding.uk.md +++ b/docs/guides/package_management/package_debranding.uk.md @@ -6,16 +6,14 @@ title: Дебрендінг упаковки Тут пояснюється, як дебрендувати пакет для дистрибутива Rocky Linux. - Загальні вказівки Спочатку визначте файли в пакеті, які потрібно змінити. Це можуть бути текстові файли, файли зображень або інші. Ви можете ідентифікувати файл(и), зайшовши на git.centos.org/rpms/PACKAGE/ Розробіть заміни для цих файлів, але замість цього розмістіть бренд Rocky. Залежно від вмісту, який замінюється, для певних типів тексту також можуть знадобитися файли diff/patch. -Файли заміни розміщено за адресою https://git.rockylinux.org/patch/PACKAGE/ROCKY/_supporting/ Конфігураційний файл (вказує, як застосовувати патчі) міститься в https://git.rockylinux.org/patch/PACKAGE/ROCKY/CFG/*.cfg - -Примітка. Використовуйте пробіли, а не табуляції. Коли srpmproc імпортує пакунок до Rocky, він побачить виконану роботу в https://git.rockylinux.org/patch/PACKAGE і застосує збережені патчі дебрендування, прочитавши конфігураційні файли в ROCKY/CFG/ *.cfg +Файли заміни знаходяться під Файл конфігурації (вказує, як застосовувати патчі) міститься в +Примітка. Використовуйте пробіли, а не табуляції. Коли srpmproc імпортує пакунок до Rocky, він побачить виконану роботу в і застосує збережені патчі дебрендування, прочитавши файл конфігурації( s) під ROCKY/CFG/*.cfg з [вікі-сторінки дебрендування](https://wiki.rockylinux.org/team/release_engineering/debranding/) diff --git a/docs/guides/package_management/package_dev_start.uk.md b/docs/guides/package_management/package_dev_start.uk.md index 22e16a4a52..345c1d0dc5 100644 --- a/docs/guides/package_management/package_dev_start.uk.md +++ b/docs/guides/package_management/package_dev_start.uk.md @@ -4,7 +4,6 @@ title: Посібник розробника та із упаковки # Посібник розробника та із упаковки для початківців - Rocky Devtools — це набір домашніх сценаріїв і утиліт, створених членами спільноти Rocky Linux, щоб допомогти з пошуком, створенням, брендингом, виправленням і створенням програмних пакетів, що поширюються разом з операційною системою Rocky Linux. Rocky Devtools складається з `rockyget`, `rockybuild`, `rockypatch` і `rockyprep`. На низькому рівні Rocky Devtools — це оболонка для запуску користувальницьких і традиційних програм для різноманітних завдань керування пакетами. Rocky Devtools значною мірою покладається на [`srpmproc`](https://github.com/mstg/srpmproc), `go`, `git< /code> і rpmbuild`. @@ -14,8 +13,10 @@ Rocky Devtools — це набір домашніх сценаріїв і ути Давайте розглянемо типовий сценарій встановлення та використання devtools. ## Залежності + Перш ніж ви зможете почати використовувати інструменти розробника, у системі потрібно кілька пакетів. Ці команди були перевірені на Rocky Linux, але також повинні працювати на CentOS 8 / RHEL 8 -``` + +```bash dnf install git make golang ``` @@ -23,42 +24,41 @@ dnf install git make golang Завантажте архівований вихідний код devtools за такою URL-адресою: -https://github.com/rocky-linux/devtools/archive/refs/heads/main.zip + Тут ми використовуємо команду `curl`: -``` +```bash curl -OJL https://github.com/rocky-linux/devtools/archive/refs/heads/main.zip ``` Тепер у вас має бути заархівований архів під назвою `devtools-main.zip` - ## 2. Встановлення Rocky Devtools Знайдіть і розпакуйте архів devtools, який ви щойно завантажили. Тут ми використаємо утиліту командного рядка `unzip`: -``` +```bash unzip devtools-main.zip ``` Змініть свій робочий каталог на новий вихідний каталог devtool, який щойно було створено: -``` +```bash cd devtools-main ``` Запустіть `make`, щоб налаштувати та скомпілювати інструменти розробника: -``` +```bash make ``` Встановіть devtools: -``` +```bash sudo make install ``` @@ -68,14 +68,15 @@ sudo make install Давайте використаємо `rockyget`, щоб завантажити SRPM для популярного пакету `sed`: -``` +```bash rockyget sed ``` + Під час першого запуску rockyget він автоматично створить структуру каталогів, яка приблизно імітує структуру сховища серверів збірки Rocky. Наприклад, автоматично буде створено папку `~/rocky/rpms`. Для нашого поточного прикладу sed його джерела зберігатимуться в такій зразковій ієрархії папок: -``` +```bash ~rocky/rpms/sed/ └── r8 ├── SOURCES @@ -88,12 +89,13 @@ rockyget sed └── sed.spec ``` -### Підказка : -Отримавши вихідні коди, можливо, саме час переглянути файл SPECs (`~rocky/rpms/sed/SPECS/specs.spec`), щоб знайти потенційні можливості дебрендування в даному пакеті. Дебрендінг може включати заміну зображень/логотипів і так далі. +!!! tip "Порада" + + Коли ви отримаєте вихідні коди, можливо, буде гарний час переглянути файл SPECs (`~rocky/rpms/sed/SPECS/specs.spec`), щоб знайти потенційні можливості дебрендування в даному пакеті. Дебрендінг може включати заміну зображень/логотипів і так далі. -### Підказка -Якщо ви шукаєте інші пакунки Rocky для створення та експериментів, ви можете переглянути список пакунків, які наразі не працюють у автоматизованому середовищі збирання Rocky [тут](https://kojidev.rockylinux.org/koji/builds?state=3&order=-build_id) - https://kojidev.rockylinux.org/ koji/builds?state=3&order=-build_id +!!! tip "Порада" + Якщо ви шукаєте інші пакети Rocky для створення та експериментів, ви можете переглянути список пакетів, які наразі не працюють у автоматизованому середовищі збирання Rocky [тут](https://kojidev.rockylinux.org/koji/builds?state =3&order=-build_id) ## 4. Використовуйте Rocky Devtools (rockybuild), щоб створити новий пакет для ОС Rocky @@ -101,7 +103,7 @@ rockyget sed Використовуйте `rockybuild` для створення утиліти sed: -``` +```bash rockybuild sed ``` @@ -109,7 +111,7 @@ rockybuild sed Наприкінці запуску `rockybuild` результат, подібний до наведеного тут, вказує на те, що збірка була успішно завершена. -``` +```bash .......... + exit 0 Finish: rpmbuild sed-4.5-2.el8.src.rpm @@ -119,19 +121,15 @@ INFO: Results and/or logs in: /home/centos/rocky/builds/sed/r8 ........ ``` - Якщо все піде добре, у каталозі `~/rocky/builds/sed/r8` має бути готовий до Rocky файл SRPM. `~/rocky/rpms/sed/r8/SRPMS/sed-4.5-2.el8.src.rpm` - - ## 5. Налагодження невдалої збірки пакета Попередній процес rockybuild створить деякі файли журналу, які можна використовувати для налагодження невдалих збірок програми. Результати та/або журнали процесу збирання зберігаються в `~/rocky/builds/<ІМ'Я ПАКЕТА>/r8`. Наприклад `~/rocky/builds/sed/r8` - -``` +```bash ~/rocky/builds/sed/r8 ├── build.log ├── hw_info.log diff --git a/docs/guides/proxies/haproxy_apache_lxd.uk.md b/docs/guides/proxies/haproxy_apache_lxd.uk.md index d6cb855d34..a69aad4045 100644 --- a/docs/guides/proxies/haproxy_apache_lxd.uk.md +++ b/docs/guides/proxies/haproxy_apache_lxd.uk.md @@ -11,7 +11,6 @@ tested_with: 8.5, 8.6, 9.0 HAProxy розшифровується як «High Availability Proxy». Цей проксі-сервер може стояти перед будь-якою програмою TCP (наприклад, веб-серверами), але часто використовується як балансир навантаження між багатьма примірниками веб-сайтів. - Для цього може бути кілька причин. Якщо у вас є веб-сайт, який сильно постраждав — додайте ще один екземпляр того самого веб-сайту та розмістіть HAProxy перед обома — це дозволить вам розподілити трафік між екземплярами. Іншою причиною може бути можливість оновлювати вміст на веб-сайті без будь-яких простоїв. HAProxy також може допомогти пом'якшити атаки DOS і DDOS. У цьому посібнику розглядається використання HAProxy із двома екземплярами веб-сайтів і балансування навантаження з циклічним чергуванням на одному хості LXD. Це може бути чудовим рішенням для того, щоб оновлення можна було виконувати без простоїв. @@ -20,25 +19,26 @@ HAProxy розшифровується як «High Availability Proxy». Цей ## Передумови та припущення -* Повний комфорт у командному рядку на машині Linux -* Досвід роботи з редактором командного рядка (тут ми використовуємо `vim`) -* Досвід роботи з `crontab` -* Знання LXD. Для отримання додаткової інформації ви можете ознайомитися з документом [LXD Server](../../books/lxd_server/00-toc.md). Можна встановити LXD на ноутбук або робочу станцію, не виконуючи повномасштабну інсталяцію сервера. Цей документ написаний на лабораторній машині, на якій працює LXD, але не налаштований як цілий сервер, як це використовується в наведеному вище документі. -* Деякі знання щодо встановлення, налаштування та використання веб-серверів. -* Ми припустимо, що LXD вже встановлений і готовий до створення контейнерів. +- Повний комфорт у командному рядку на машині Linux +- Досвід роботи з редактором командного рядка (тут ми використовуємо `vim`) +- Досвід роботи з `crontab` +- Знання LXD. Для отримання додаткової інформації ви можете ознайомитися з документом [LXD Server](../../books/lxd_server/00-toc.md). Можна встановити LXD на ноутбук або робочу станцію, не виконуючи повномасштабну інсталяцію сервера. Цей документ написаний на лабораторній машині, на якій працює LXD, але не налаштований як цілий сервер, як це використовується в наведеному вище документі. +- Деякі знання щодо встановлення, налаштування та використання веб-серверів. +- Ми припустимо, що LXD вже встановлений і готовий до створення контейнерів. ## Установка контейнерів На вашому хості LXD для цього посібника вам знадобляться три контейнери. За бажанням може бути більше контейнерів веб-сервера. Ви будете використовувати **web1** і **web2** для наших контейнерів веб-сайтів і **proxyha ** для нашого контейнера HAProxy. Щоб установити їх на хост LXD, виконайте такі дії: -``` +```bash lxc launch images:rockylinux/8 web1 lxc launch images:rockylinux/8 web2 lxc launch images:rockylinux/8 proxyha ``` + Запуск `lxc list` має повернути щось на зразок цього: -``` +```bash +---------+---------+----------------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +---------+---------+----------------------+------+-----------+-----------+ @@ -64,11 +64,12 @@ lxc launch images:rockylinux/8 proxyha Далі змініть профіль `macvlan`. Але перш ніж це зробити, ви повинні знати, який інтерфейс хост використовує для нашої локальної мережі. Запустіть `ip addr` і знайдіть інтерфейс із призначенням IP-адреси локальної мережі: -``` +```bash 2: eno1: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether a8:5e:45:52:f8:b6 brd ff:ff:ff:ff:ff:ff inet 192.168.1.141/24 brd 192.168.1.255 scope global dynamic noprefixroute eno1 ``` + !!! Note "Примітка" У цьому випадку ви шукаєте інтерфейс "eno1", який може бути зовсім іншим у вашій системі. Використовуйте інформацію про **ваш** інтерфейс! @@ -79,7 +80,7 @@ lxc launch images:rockylinux/8 proxyha Відредагуйте профіль, щоб він виглядав приблизно так. Автор виключив коментарі у верхній частині файлу, але якщо ви новачок у LXD, перегляньте їх: -``` +```bash config: {} description: "" devices: @@ -95,7 +96,7 @@ name: macvlan Тепер, коли профіль `macvlan` існує, вам потрібно застосувати його до наших трьох контейнерів: -``` +```bash lxc profile assign web1 default,macvlan lxc profile assign web2 default,macvlan lxc profile assign proxyha default,macvlan @@ -105,19 +106,19 @@ lxc profile assign proxyha default,macvlan Зробити це досить просто при використанні DHCP. Просто дотримуйтесь цього для кожного контейнера: -* `lxc exec web1 bash`, який переведе вас у командний рядок контейнера **web1** -* `crontab -e`, який редагуватиме кореневий `crontab` у контейнері -* введіть `i`, щоб перейти в режим вставки. -* додайте рядок: `@reboot /usr/sbin/dhclient` -* натисніть клавішу `ESC`, щоб вийти з режиму вставки. -* збережіть зміни за допомогою `SHIFT: wq` -* введіть `exit`, щоб вийти з контейнера +- `lxc exec web1 bash`, який переведе вас у командний рядок контейнера **web1** +- `crontab -e`, який редагуватиме кореневий `crontab` у контейнері +- введіть ++i++ , щоб перейти в режим вставки. +- додайте рядок: `@reboot /usr/sbin/dhclient` +- натисніть клавішу ++escape++, щоб вийти з режиму вставки. +- збережіть зміни за допомогою ++shift++colon+w+q++ +- введіть `exit`, щоб вийти з контейнера Повторіть кроки для **web2** і **proxyha**. Після виконання цих кроків перезапустіть контейнери: -``` +```bash lxc restart web1 lxc restart web2 lxc restart proxyha @@ -125,7 +126,7 @@ lxc restart proxyha і коли ви знову створите `список lxc`, ви побачите, що адреси DHCP тепер призначено з вашої локальної мережі: -``` +```bash +---------+---------+----------------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +---------+---------+----------------------+------+-----------+-----------+ @@ -141,17 +142,18 @@ lxc restart proxyha Наше середовище готове. Далі встановіть Apache (`httpd`) на кожен веб-контейнер. Ви можете зробити це без фізичного доступу до них: -``` +```bash lxc exec web1 dnf install httpd lxc exec web2 dnf install httpd ``` + Вам знадобиться більше, ніж Apache для будь-якого сучасного веб-сервера, але цього достатньо, щоб провести деякі тести. Потім увімкніть `httpd`, запустіть його та змініть типовий екран привітання. Таким чином ви знаєте, що сервер відповідає на спробу доступу через проксі. Увімкніть і запустіть `httpd`: -``` +```bash lxc exec web1 systemctl enable httpd lxc exec web1 systemctl start httpd lxc exec web2 systemctl enable httpd @@ -179,7 +181,8 @@ lxc exec web2 systemctl start httpd `lxc exec proxyha dnf install haproxy` Далі ви хочете налаштувати `haproxy` для прослуховування веб-служб на портах 80 і 443. Зробіть це за допомогою підкоманди configure `lxc`: -``` + +```bash lxc config device add proxyha http proxy listen=tcp:0.0.0.0:80 connect=tcp:127.0.0.1:80 lxc config device add proxyha https proxy listen=tcp:0.0.0.0:443 connect=tcp:127.0.0.1:443 ``` @@ -194,7 +197,7 @@ lxc config device add proxyha https proxy listen=tcp:0.0.0.0:443 connect=tcp:127 Додайте такі записи внизу файлу: -``` +```bash 192.168.1.150 site1.testdomain.com site1 192.168.1.101 site2.testdomain.com site2 ``` @@ -211,7 +214,7 @@ lxc config device add proxyha https proxy listen=tcp:0.0.0.0:443 connect=tcp:127 Зверніть увагу, наразі коментування рядків протоколу HTTPS. У робочому середовищі ви захочете використовувати сертифікат підстановки, який охоплює ваші веб-сервери та вмикає HTTPS: -``` +```bash global log /dev/log local0 log /dev/log local1 notice @@ -301,7 +304,7 @@ backend subdomain2 Ім'я файлу `400.http`: -``` +```bash HTTP/1.0 400 Bad request Cache-Control: no-cache Connection: close @@ -314,7 +317,7 @@ Your browser sent an invalid request. Ім'я файлу `403.http`: -``` +```bash HTTP/1.0 403 Forbidden Cache-Control: no-cache Connection: close @@ -327,7 +330,7 @@ Request forbidden by administrative rules. Ім'я файлу `408.http`: -``` +```bash HTTP/1.0 408 Request Time-out Cache-Control: no-cache Connection: close @@ -340,7 +343,7 @@ Your browser didn't send a complete request in time. Ім'я файлу `500.http`: -``` +```bash HTTP/1.0 500 Internal Server Error Cache-Control: no-cache Connection: close @@ -353,7 +356,7 @@ An internal server error occurred. Ім'я файлу `502.http`: -``` +```bash HTTP/1.0 502 Bad Gateway Cache-Control: no-cache Connection: close @@ -366,7 +369,7 @@ The server returned an invalid or incomplete response. Filename `503.http`: -``` +```bash HTTP/1.0 503 Service Unavailable Cache-Control: no-cache Connection: close @@ -379,7 +382,7 @@ No server is available to handle this request. Filename `504.http`: -``` +```bash HTTP/1.0 504 Gateway Time-out Cache-Control: no-cache Connection: close @@ -397,10 +400,12 @@ The server didn't respond in time. `lxc exec proxyha mkdir /run/haproxy` Далі включаємо службу і запускаємо її: -``` + +```bash lxc exec proxyha systemctl enable haproxy lxc exec proxyha systemctl start haproxy ``` + Якщо ви отримуєте будь-які помилки, дослідіть причину за допомогою: `lxc exec proxyha systemctl status haproxy` @@ -417,14 +422,14 @@ lxc exec proxyha systemctl start haproxy Додайте ці два рядки: -``` +```bash 192.168.1.149 site1.testdomain.com site1 192.168.1.149 site2.testdomain.com site2 ``` Якщо ви зараз перевірите **site1** або **site2** на вашій локальній машині, ви отримаєте відповідь від **proxyha**: -``` +```bash PING site1.testdomain.com (192.168.1.149) 56(84) bytes of data. 64 bytes from site1.testdomain.com (192.168.1.149): icmp_seq=1 ttl=64 time=0.427 ms 64 bytes from site1.testdomain.com (192.168.1.149): icmp_seq=2 ttl=64 time=0.430 ms @@ -432,7 +437,6 @@ PING site1.testdomain.com (192.168.1.149) 56(84) bytes of data. Відкрийте веб-переглядач і в адресному рядку введіть URL-адресу site1.testdomain.com (або site2.testdomain.com). Ви отримаєте відповідь від однієї з двох тестових сторінок, і якщо ви знову завантажите сторінку, ви отримаєте наступну тестову сторінку сервера. Зауважте, що URL-адреса не змінюється, але повернута сторінка по черзі перемикатиметься між серверами. - ![знімок екрана із завантаженням web1 і показом другого тестового повідомлення сервера](../images/haproxy_apache_lxd.png) ## Ведення журналу @@ -447,7 +451,7 @@ PING site1.testdomain.com (192.168.1.149) 56(84) bytes of data. Додайте такий вміст до цього файлу: -``` +```bash $AddUnixListenSocket /var/lib/haproxy/dev/log # Send HAProxy messages to a dedicated logfile @@ -456,6 +460,7 @@ $AddUnixListenSocket /var/lib/haproxy/dev/log stop } ``` + Збережіть файл і вийдіть, а потім перезапустіть `rsyslog`: `lxc exec proxyha systemctl restart rsyslog` @@ -470,7 +475,7 @@ $AddUnixListenSocket /var/lib/haproxy/dev/log Що має показати вам щось на зразок цього: -``` +```bash Sep 25 23:18:02 proxyha haproxy[4602]: Proxy http_frontend started. Sep 25 23:18:02 proxyha haproxy[4602]: Proxy http_frontend started. Sep 25 23:18:02 proxyha haproxy[4602]: Proxy subdomain1 started. diff --git a/docs/guides/proxies/i2pd.uk.md b/docs/guides/proxies/i2pd.uk.md new file mode 100644 index 0000000000..921a4a9490 --- /dev/null +++ b/docs/guides/proxies/i2pd.uk.md @@ -0,0 +1,90 @@ +--- +title: Анонімна мережа i2pd +author: Neel Chauhan +contributors: null +tested_with: 9.3 +tags: + - proxy + - proxies +--- + +# Анонімна мережа i2pd + +## Вступ + +[I2P](https://geti2p.net/en/) — це анонімна накладна мережа, яка є конкурентом більш популярної мережі Tor, що зосереджується на прихованих веб-сайтах, які називаються eepsites. [`i2pd`](https://i2pd.website/) (I2P Daemon) — це спрощена реалізація протоколу I2P на C++. + +## Передумови та припущення + +Нижче наведено мінімальні вимоги для використання цієї процедури: + +- Загальнодоступна адреса IPv4 або IPv6, безпосередньо на сервері, з переадресацією портів або uPNP/NAT-PMP + +## Встановлення `i2pd` + +Щоб інсталювати `i2pd`, вам потрібно спочатку інсталювати сховища EPEL (додаткові пакети для Enterprise Linux) і `i2pd` copr (Cool Other Package Repo) (Примітка: якщо ви використовуєте Rocky Linux 8, замініть `8` на ` 9`): + +```bash +curl -s https://copr.fedorainfracloud.org/coprs/supervillain/i2pd/repo/epel-9/supervillain-i2pd-epel-9.repo -o /etc/yum.repos.d/i2pd-epel-9.repo +dnf install -y epel-release +``` + +Потім встановіть `i2pd`: + +```bash +dnf install -y i2pd +``` + +## (Додатково) Налаштування `i2pd` + +З установленими пакетами ви можете налаштувати `i2pd` за бажанням. Автор використовує для цього `vim`, але якщо ви віддаєте перевагу `nano` або щось інше, замініть його в: + +```bash +vim /etc/i2pd/i2pd.conf +``` + +Типовий файл `i2pd.conf` досить описовий, але може бути довгим, якщо вам потрібна просто базова конфігурація, ви можете залишити як є. + +Однак, якщо ви хочете ввімкнути IPv6 і uPNP і прослуховувати проксі-сервер HTTP до порту `12345`, конфігурація, яка дозволяє це, така: + +```bash +ipv6 = true +[httpproxy] +port = 12345 +[upnp] +enabled = true +``` + +Якщо ви бажаєте встановити інші параметри, у файлі конфігурації є пояснення щодо всіх можливих параметрів. + +## Увімкнення `i2pd` + +Тепер ми можемо ввімкнути `i2pd` + +```bash +systemctl enable --now i2pd +``` + +## Відвідування eepsites I2P + +У цьому прикладі ми використовуємо Firefox на Rocky Linux. Якщо ви не використовуєте Firefox, зверніться до документації програми, щоб налаштувати HTTP-проксі. + +Відкрийте Firefox, натисніть піктограму меню гамбургера, а потім перейдіть до **Налаштування**: + +![Firefox menu dropdown](../images/i2p_proxy_ff_1.png) + +Перейдіть до **Налаштування мережі** і потім натисніть \*_Налаштування_ + +![Firefox Network Settings section](../images/i2p_proxy_ff_2.png) + +Потім виберіть **Ручне підключення проксі-сервера**, введіть `localhost` і `4444` (або вибраний вами порт), позначте **Також використовувати цей проксі для HTTPS** і виберіть **OK**. + +![Firefox Connection Settings dialog](../images/i2p_proxy_ff_3.png) + +Тепер ви можете переглядати eep-сайти I2P. Як приклад, перейдіть до `http://planet.i2p` (Примітка: `http://` важливий, щоб Firefox не використовував пошукову систему за замовчуванням): + +![Firefox viewing planet.i2p](../images/i2p_proxy_ff_4.png) + +## Висновок + +Оскільки так багато користувачів Інтернету стурбовані конфіденційністю в Інтернеті, I2P є єдиним способом безпечного доступу до прихованих веб-сайтів. `i2pd` — це легке програмне забезпечення, яке робить можливим перегляд веб-сайтів I2P разом із спільним використанням вашого з’єднання як реле. diff --git a/docs/guides/security/dnf_automatic.uk.md b/docs/guides/security/dnf_automatic.uk.md index 26b5c6a1ff..b14ae9a55b 100644 --- a/docs/guides/security/dnf_automatic.uk.md +++ b/docs/guides/security/dnf_automatic.uk.md @@ -26,7 +26,7 @@ tags: Ви можете встановити `dnf-automatic` зі складних репозиторіїв: -``` +```bash sudo dnf install dnf-automatic ``` @@ -34,7 +34,7 @@ sudo dnf install dnf-automatic За замовчуванням процес оновлення розпочнеться о 6 годині ранку з випадковою додатковою дельтою часу, щоб уникнути одночасного оновлення всіх ваших машин. Щоб змінити цю поведінку, ви повинні змінити конфігурацію таймера, пов’язану зі службою програми: -``` +```bash sudo systemctl edit dnf-automatic.timer [Unit] @@ -56,8 +56,8 @@ WantedBy=timers.target Потім активуйте таймер, пов’язаний із послугою (не самою послугою): -``` -$ sudo systemctl enable --now dnf-automatic.timer +```bash +sudo systemctl enable --now dnf-automatic.timer ``` ## А як щодо серверів CentOS 7? @@ -68,15 +68,15 @@ $ sudo systemctl enable --now dnf-automatic.timer Процес у CentOS 7 схожий, але використовує `yum-cron`. -``` -$ sudo yum install yum-cron +```bash +sudo yum install yum-cron ``` Цього разу налаштування служби виконується у файлі `/etc/yum/yum-cron.conf`. Налаштуйте необхідну конфігурацію: -``` +```text [commands] # What kind of update to use: # default = yum upgrade @@ -111,8 +111,8 @@ random_sleep = 30 Тепер ви можете включити службу та запустити її: -``` -$ sudo systemctl enable --now yum-cron +```bash +sudo systemctl enable --now yum-cron ``` ## Висновок diff --git a/docs/guides/security/enabling_iptables_firewall.uk.md b/docs/guides/security/enabling_iptables_firewall.uk.md index 87bf2521fe..cf75951452 100644 --- a/docs/guides/security/enabling_iptables_firewall.uk.md +++ b/docs/guides/security/enabling_iptables_firewall.uk.md @@ -2,7 +2,7 @@ title: Увімкнення брандмауера `iptables` author: Steven Spencer contributors: Ezequiel Bruni, Ganna Zhyrnova -tested_with: 8.5, 8.6, 9.0 +tested*with: 8.5, 8.6, 9.0 tags: - безпека - iptables @@ -13,7 +13,7 @@ tags: ## Передумови -* Палаюче, невгамовне бажання вимкнути стандартну програму _firewalld_ і ввімкнути _iptables_. +- Палаюче, невгамовне бажання вимкнути стандартну програму *firewalld* і ввімкнути *iptables*. !!! warning "Процес застарілий" @@ -21,17 +21,17 @@ tags: ## Вступ -_firewalld_ тепер є брандмауером за умовчанням у Rocky Linux. _firewalld_ **був** нічим іншим, як динамічним застосуванням _iptables_ за допомогою файлів xml, які завантажували зміни без очищення правил у CentOS 7/RHEL 7. У CentOS 8/RHEL 8/Rocky 8 _firewalld_ тепер є оболонкою для _nftables_. Проте все ще можна встановити та використовувати прямі _iptables_, якщо це ваші переваги. Щоб установити та запустити звичайні _iptables_ без _firewalld_, ви можете зробити це, дотримуючись цього посібника. Цей посібник **не** розповість вам, як писати правила для _iptables_. Передбачається, що якщо ви хочете позбутися _firewalld_, ви вже повинні знати, як писати правила для _iptables_. +*firewalld* тепер є брандмауером за умовчанням у Rocky Linux. *firewalld* **був** нічим іншим, як динамічним застосуванням *iptables* за допомогою файлів xml, які завантажували зміни без очищення правил у CentOS 7/RHEL 7. У CentOS 8/RHEL 8/Rocky 8 *firewalld* тепер є оболонкою для *nftables*. Проте все ще можна встановити та використовувати прямі *iptables*, якщо це ваші переваги. Щоб установити та запустити звичайні *iptables* без *firewalld*, ви можете зробити це, дотримуючись цього посібника. Цей посібник **не** розповість вам, як писати правила для *iptables*. Передбачається, що якщо ви хочете позбутися *firewalld*, ви вже повинні знати, як писати правила для *iptables*. ## Відключення брандмауера -Ви не можете запустити старі утиліти _iptables_ разом із _firewalld_. Вони просто не сумісні. Найкращий спосіб обійти це — повністю вимкнути _firewalld_ (не потрібно видаляти його, якщо ви цього не хочете) і повторно встановити iptables. Вимкнути _firewalld_ можна за допомогою цих команд: +Ви не можете запустити старі утиліти *iptables* разом із *firewalld*. Вони просто не сумісні. Найкращий спосіб обійти це — повністю вимкнути *firewalld* (не потрібно видаляти його, якщо ви цього не хочете) і повторно встановити утиліти *iptables*. Вимкнути *firewalld* можна за допомогою цих команд: -Зупинити _firewalld_: +Зупинити *firewalld*: `systemctl stop firewalld` -Вимкніть _firewalld_, щоб він не запускався під час завантаження: +Вимкніть *firewalld*, щоб він не запускався під час завантаження: `systemctl disable firewalld` @@ -41,16 +41,16 @@ _firewalld_ тепер є брандмауером за умовчанням у ## Встановлення та ввімкнення служб iptables -Далі нам потрібно встановити старі служби та утиліти _iptables_. Це робиться за допомогою наступного: +Далі нам потрібно встановити старі служби та утиліти *iptables*. Це робиться за допомогою наступного: `dnf install iptables-services iptables-utils` -Це встановить усе необхідне для запуску звичайного набору правил _iptables_. +Це встановить усе необхідне для запуску звичайного набору правил *iptables*. -Тепер нам потрібно ввімкнути службу _iptables_, щоб переконатися, що вона запускається під час завантаження: +Тепер нам потрібно ввімкнути службу *iptables*, щоб переконатися, що вона запускається під час завантаження: `systemctl enable iptables` ## Висновок -Ви можете повернутися до використання простого _iptables_, якщо ви віддаєте перевагу цьому над _firewalld_. Ви можете повернутися до використання типового _брандмауера_, просто скасувавши ці зміни. +Ви можете повернутися до використання простого *iptables*, якщо ви віддаєте перевагу цьому над *firewalld*. Ви можете повернутися до використання типового *брандмауера*, просто скасувавши ці зміни. diff --git a/docs/guides/security/firewalld-beginners.uk.md b/docs/guides/security/firewalld-beginners.uk.md index 5a3080c424..2b8a6a9166 100644 --- a/docs/guides/security/firewalld-beginners.uk.md +++ b/docs/guides/security/firewalld-beginners.uk.md @@ -16,10 +16,10 @@ contributors: Steven Spencer, Ganna Zhyrnova Тут ви дізнаєтеся про: -* Основи роботи `firewalld` -* Як використовувати `firewalld`, щоб обмежити або дозволити вхідні та вихідні з’єднання -* Як дозволити лише людям із певних IP-адрес або місць віддалено входити на вашу машину -* Як керувати деякими спеціальними функціями `firewalld`, наприклад зонами. +- Основи роботи `firewalld` +- Як використовувати `firewalld`, щоб обмежити або дозволити вхідні та вихідні з’єднання +- Як дозволити лише людям із певних IP-адрес або місць віддалено входити на вашу машину +- Як керувати деякими спеціальними функціями `firewalld`, наприклад зонами. Зауважте, що це *не* є повним чи вичерпним посібником із брандмауера, тому в ньому розглядаються лише основи. @@ -31,12 +31,13 @@ contributors: Steven Spencer, Ganna Zhyrnova 2. Розуміння того, як працюють команди `firewalld`, може допомогти вам краще зрозуміти, як працює програмне забезпечення брандмауера. Якщо ви вирішите використовувати графічний інтерфейс у майбутньому, ви можете використовувати ті самі принципи, які ви дізналися тут, і краще розуміти, що ви робите. ## Передумови та припущення + Вам знадобиться: -* Машина Rocky Linux будь-якого типу, локальна чи віддалена, фізична чи віртуальна -* Доступ до терміналу та бажання ним користуватися -* Вам потрібен доступ root або можливість використовувати `sudo` у вашому обліковому записі користувача. Для простоти я припускаю, що всі команди виконуються від імені користувача root -* Базове розуміння SSH не завадить керувати віддаленими машинами. +- Машина Rocky Linux будь-якого типу, локальна чи віддалена, фізична чи віртуальна +- Доступ до терміналу та бажання ним користуватися +- Вам потрібен доступ root або можливість використовувати `sudo` у вашому обліковому записі користувача. Для простоти я припускаю, що всі команди виконуються від імені користувача root +- Базове розуміння SSH не завадить керувати віддаленими машинами. ## Основне використання @@ -146,23 +147,7 @@ firewall-cmd --permanent [the rest of your command] Стандартні зони включають наступне (я взяв це пояснення з [посібника DigitalOcean щодо `firewalld`](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-8), який вам також слід прочитати): -> **drop:** Найнижчий рівень довіри. Усі вхідні з’єднання розриваються без відповіді, і можливі лише вихідні з’єднання. - -> **block:** Подібно до вищезазначеного, але замість того, щоб просто розірвати з’єднання, вхідні запити відхиляються повідомленням icmp-host-prohibited або icmp6-adm-prohibited. - -> **public:** представляє публічні, ненадійні мережі. Ви не довіряєте іншим комп’ютерам, але можете дозволити вибрані вхідні підключення в кожному конкретному випадку. - -> **external:** Зовнішні мережі, якщо ви використовуєте брандмауер як шлюз. Він налаштований на маскування NAT, щоб ваша внутрішня мережа залишалася приватною, але доступною. - -> **internal:** інша сторона зовнішньої зони, яка використовується для внутрішньої частини шлюзу. Комп’ютери досить надійні, доступні деякі додаткові послуги. - -> **dmz:** використовується для комп’ютерів, розташованих у DMZ (ізольовані комп’ютери, які не матимуть доступу до решти вашої мережі). Дозволені лише певні вхідні підключення. - -> **work:** використовується для робочих машин. Довіряє більшості комп’ютерів у мережі. Можливо, буде дозволено ще декілька послуг. - -> **home:** домашнє середовище. Загалом це означає, що ви довіряєте більшості інших комп’ютерів і що буде прийнято ще кілька послуг. - -> **trusted:** довіряє всім машинам у мережі. Найбільш відкритий з доступних варіантів, і його слід використовувати помірковано. +> **drop:** Найнижчий рівень довіри. Усі вхідні з’єднання розриваються без відповіді, і можливі лише вихідні з’єднання. **block:** Подібно до вищезазначеного, але замість того, щоб просто розірвати з’єднання, вхідні запити відхиляються повідомленням icmp-host-prohibited або icmp6-adm-prohibited. **public:** Представляє публічні, ненадійні мережі. Ви не довіряєте іншим комп’ютерам, але можете дозволити вибрані вхідні підключення в кожному конкретному випадку. **external:** Зовнішні мережі, якщо ви використовуєте брандмауер як шлюз. Він налаштований на маскування NAT, щоб ваша внутрішня мережа залишалася приватною, але доступною. **internal:** Інша сторона зовнішньої зони, яка використовується для внутрішньої частини шлюзу. Комп’ютери досить надійні, доступні деякі додаткові послуги. **dmz:** Використовується для комп’ютерів, розташованих у DMZ (ізольовані комп’ютери, які не матимуть доступу до решти вашої мережі). Дозволені лише певні вхідні підключення. **work:** Використовується для робочих машин. Довіряйте більшості комп’ютерів у мережі. Можливо, буде дозволено ще декілька послуг. **home:** Домашнє середовище. Зазвичай це означає, що ви довіряєте більшості інших комп’ютерів і що буде прийнято ще кілька послуг. **trusted:** Довіряє всім машинам у мережі. Найбільш відкритий з доступних варіантів, і його слід використовувати помірковано. Гаразд, деякі з цих пояснень стають складнішими, але чесно кажучи? Звичайний початківець може обійтися розумінням понять «довірений», «домашній» і «загальнодоступний», а також те, що використовувати. @@ -271,10 +256,10 @@ firewall-cmd --zone=public --remove-port=9001/tcp Це найкращий спосіб відкрити порти для цих загальних служб і багато іншого: -* HTTP і HTTPS: для веб-серверів -* FTP: для переміщення файлів вперед і назад (старомодний спосіб) -* SSH: для керування віддаленими машинами та переміщення файлів вперед і назад новим способом -* Samba: для обміну файлами з машинами Windows. +- HTTP і HTTPS: для веб-серверів +- FTP: для переміщення файлів вперед і назад (старомодний спосіб) +- SSH: для керування віддаленими машинами та переміщення файлів вперед і назад новим способом +- Samba: для обміну файлами з машинами Windows. !!! Warning "Важливо" @@ -363,7 +348,6 @@ public (active) rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept ``` - По-друге, ви можете використовувати дві різні зони одночасно. Якщо ваш інтерфейс прив’язаний до публічної зони, ви можете активувати другу зону (наприклад, «довірену»), додавши вихідну IP-адресу або діапазон IP-адрес, як показано вище. Потім додайте службу SSH до довіреної зони та видаліть її з публічної зони. Коли ви закінчите, результат має виглядати приблизно так: @@ -419,7 +403,7 @@ trusted (active) Це далеко не вичерпний посібник, і ви можете дізнатися набагато більше з [офіційної `firewalld` документації](https://firewalld.org/documentation/). В Інтернеті також є зручні посібники для окремих програм, які покажуть вам, як налаштувати брандмауер для цих конкретних програм. -Для вас, шанувальників `iptables` (якщо ви зайшли так далеко...), [у нас є посібник](firewalld.md), який докладно описує деякі відмінності в тому, як `firewalld` і `iptables` працюють. Цей посібник може допомогти вам зрозуміти, чи хочете ви залишитися з `firewalld` чи повернутися до The Old Ways(TM). У цьому випадку є що сказати про The Old Ways(TM). +Для вас, шанувальників `iptables` (якщо ви зайшли так далеко...), [у нас є посібник](firewalld.md), який докладно описує деякі відмінності в тому, як `firewalld` і `iptables` працюють. Цей посібник може допомогти вам зрозуміти, чи хочете ви залишитися з `firewalld` чи повернутися до The Old Ways^(TM)^. У цьому випадку є що сказати про The Old Ways^(TM)^. ## Висновок diff --git a/docs/guides/security/generating_ssl_keys_lets_encrypt.uk.md b/docs/guides/security/generating_ssl_keys_lets_encrypt.uk.md index c725fa1fd1..3459ffb661 100644 --- a/docs/guides/security/generating_ssl_keys_lets_encrypt.uk.md +++ b/docs/guides/security/generating_ssl_keys_lets_encrypt.uk.md @@ -2,7 +2,7 @@ title: Генерація ключів SSL - Let's Encrypt author: Steven Spencer contributors: wsoyinka, Antoine Le Morvan, Ezequiel Bruni, Andrew Thiesen, Ganna Zhyrnova -tested_with: 8.5 +tested*with: 8.5 tags: - безпека - ssl @@ -13,12 +13,12 @@ tags: ## Передумови та припущення -* Володіння командним рядком -* Знайомство із захистом веб-сайтів за допомогою сертифікатів SSL є перевагою -* Знання текстових редакторів командного рядка (у цьому прикладі використовується _vi_) -* Веб-сервер, відкритий для світу та працює на порту 80 (http) -* Знайомство з _ssh_ (захищена оболонка) і можливість доступу до вашого сервера за допомогою _ssh_ -* Усі команди припускають, що ви або користувач root, або використовували _sudo_ для отримання доступу root. +- Володіння командним рядком +- Знайомство із захистом веб-сайтів за допомогою сертифікатів SSL є перевагою +- Знання текстових редакторів командного рядка (у цьому прикладі використовується *vi*) +- Веб-сервер, відкритий для світу та працює на порту 80 (http) +- Знайомство з *ssh* (захищена оболонка) і можливість доступу до вашого сервера за допомогою *ssh* +- Усі команди припускають, що ви або користувач root, або використовували *sudo* для отримання доступу root. ## Вступ @@ -28,7 +28,7 @@ tags: ## Встановлення -Щоб виконати наступні кроки, скористайтеся _ssh_ для входу на свій сервер. Якщо повне DNS-ім’я вашого сервера було www.myhost.com, ви б використовували: +Щоб виконати наступні кроки, скористайтеся *ssh* для входу на свій сервер. Якщо повне DNS-ім’я вашого сервера було www.myhost.com, ви б використовували: ```bash ssh -l root www.myhost.com @@ -46,9 +46,9 @@ ssh -l username www.myhost.com sudo -s ``` -У цьому випадку вам знадобляться облікові дані вашого користувача _sudo_, щоб отримати доступ до системи як root. +У цьому випадку вам знадобляться облікові дані вашого користувача *sudo*, щоб отримати доступ до системи як root. -Let's Encrypt використовує пакет під назвою _certbot_, який потрібно встановити через репозиторії EPEL. Додайте їх першими: +Let's Encrypt використовує пакет під назвою *certbot*, який потрібно встановити через репозиторії EPEL. Додайте їх першими: ```bash dnf install epel-release @@ -70,8 +70,7 @@ dnf install certbot python3-certbot-nginx !!! Note "Примітка" - Попередня версія цього посібника вимагала версії пакета знімків _certbot_, яка тоді була необхідною. Версії RPM були нещодавно повторно перевірені та зараз працюють. Проте Certbot наполегливо рекомендує використовувати [процедуру швидкого встановлення](https://certbot.eff.org/instructions?ws=apache&os=centosrhel8). Rocky Linux 8 і 9 мають _certbot_, доступний у EPEL, тому ми показуємо цю процедуру тут. Якщо ви бажаєте скористатися процедурою, рекомендованою Certbot, дотримуйтеся цієї процедури. - + Попередня версія цього посібника вимагала версії пакета знімків *certbot*, яка тоді була необхідною. Версії RPM були нещодавно повторно перевірені та зараз працюють. Проте Certbot наполегливо рекомендує використовувати [процедуру швидкого встановлення](https://certbot.eff.org/instructions?ws=apache&os=centosrhel8). Rocky Linux 8 і 9 мають *certbot*, доступний у EPEL, тому ми показуємо цю процедуру тут. Якщо ви бажаєте скористатися процедурою, рекомендованою Certbot, дотримуйтеся цієї процедури. ## Отримання сертифіката Let's Encrypt для сервера Apache @@ -91,7 +90,7 @@ certbot certonly --apache Обидві команди створять набір підказок, на які вам потрібно буде відповісти. По-перше, це вказати електронну адресу для важливої інформації: -``` +```bash Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) @@ -100,7 +99,7 @@ Enter email address (used for urgent renewal and security notices) Далі пропонується прочитати та прийняти умови абонентської угоди. Прочитавши угоду, дайте відповідь «Y», щоб продовжити: -``` +```bash - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must @@ -111,7 +110,7 @@ agree in order to register with the ACME server. Do you agree? Далі — прохання поділитися вашою електронною поштою з Electronic Frontier Foundation. Дайте відповідь 'Y' або 'N' на свій смак: -``` +```bash - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding @@ -124,10 +123,10 @@ EFF news, campaigns, and ways to support digital freedom. У наступному запиті вас запитають, для якого домену ви хочете отримати сертифікат. Він має відображати домен у списку на основі вашого запущеного веб-сервера. Якщо так, введіть номер біля домену, для якого ви отримуєте сертифікат. У цьому випадку є тільки один варіант ('1'): -``` +```bash Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: yourdomain.com +1: your-server-hostname - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): @@ -135,19 +134,19 @@ blank to select all options shown (Enter 'c' to cancel): Якщо все йде добре, ви повинні отримати таке повідомлення: -``` -Requesting a certificate for yourdomain.com +```bash +Requesting a certificate for your-server-hostname Performing the following challenges: -http-01 challenge for yourdomain.com +http-01 challenge for your-server-hostname Waiting for verification... Cleaning up challenges Subscribe to the EFF mailing list (email: yourusername@youremaildomain.com). IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: - /etc/letsencrypt/live/yourdomain.com/fullchain.pem + /etc/letsencrypt/live/your-server-hostname/fullchain.pem Your key file has been saved at: - /etc/letsencrypt/live/yourdomain.com/privkey.pem + /etc/letsencrypt/live/your-server-hostname/privkey.pem Your certificate will expire on 2021-07-01. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your @@ -160,26 +159,26 @@ IMPORTANT NOTES: ## Конфігурація сайту - https -Застосування файлу конфігурації до нашого сайту дещо відрізняється від того, якби ми використовували придбаний сертифікат SSL від іншого постачальника (і якби ми не дозволили _certbot_ зробити це автоматично). +Застосування файлу конфігурації до нашого сайту дещо відрізняється від того, якби ми використовували придбаний сертифікат SSL від іншого постачальника (і якби ми не дозволили *certbot* зробити це автоматично). Один файл PEM (Privacy Enhanced Mail) містить сертифікат і файл ланцюжка. Зараз це загальний формат для всіх файлів сертифікатів, тому, хоча в посиланні на нього є «Пошта», це лише тип файлу сертифіката. Щоб проілюструвати файл конфігурації, ми покажемо його повністю, а потім опишемо, що відбувається: -``` +```bash - ServerName www.yourdomain.com + ServerName your-server-hostname ServerAdmin username@rockylinux.org - Redirect / https://www.yourdomain.com/ + Redirect / https://your-server-hostname/ - ServerName www.yourdomain.com + ServerName your-server-hostname ServerAdmin username@rockylinux.org DocumentRoot /var/www/sub-domains/com.yourdomain.www/html DirectoryIndex index.php index.htm index.html Alias /icons/ /var/www/icons/ # ScriptAlias /cgi-bin/ /var/www/sub-domains/com.yourdomain.www/cgi-bin/ - CustomLog "/var/log/httpd/com.yourdomain.www-access_log" combined - ErrorLog "/var/log/httpd/com.yourdomain.www-error_log" + CustomLog "/var/log/httpd/com.yourdomain.www-access_log" combined + ErrorLog "/var/log/httpd/com.yourdomain.www-error_log" SSLEngine on SSLProtocol all -SSLv2 -SSLv3 -TLSv1 @@ -187,9 +186,9 @@ IMPORTANT NOTES: SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384 :EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS - SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem - SSLCertificateChainFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem + SSLCertificateFile /etc/letsencrypt/live/your-server-hostname/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/your-server-hostname/privkey.pem + SSLCertificateChainFile /etc/letsencrypt/live/your-server-hostname/fullchain.pem Options -ExecCGI -Indexes @@ -206,19 +205,19 @@ IMPORTANT NOTES: Ось що відбувається вище. Ви можете переглянути [Налаштування кількох сайтів веб-сервера Apache](../web/apache-sites-enabled.md), щоб побачити відмінності в застосуванні SSL, придбаного в іншого постачальника і сертифікат Let's Encrypt: -* Незважаючи на те, що порт 80 (стандартний http) прослуховує, ми перенаправляємо весь трафік на порт 443 (https) -* SSLEngine увімкнуто - просто говорить про використання SSL -* SSLProtocol all -SSLv2 -SSLv3 -TLSv1 - говорить про використання всіх доступних протоколів, крім тих, які мають вразливості. Ви повинні періодично досліджувати, які протоколи зараз прийнятні для використання. -* SSLHonorCipherOrder on - це стосується наступного рядка щодо наборів шифрів і повідомляє, що потрібно мати справу з ними в тому порядку, у якому вони вказані. Це ще одна область, де ви повинні переглядати набори шифрів, які ви хочете періодично включати -* SSLCertificateFile – це файл PEM, який містить сертифікат сайту **ТА** проміжний сертифікат. Нам все ще потрібен рядок «SSLCertificateChainFile» у нашій конфігурації, але він просто знову вкаже той самий файл PEM. -* SSLCertificateKeyFile – файл PEM для закритого ключа, згенерований за допомогою запиту _certbot_. -* SSLCertificateChainFile – сертифікат від вашого постачальника сертифікатів, який часто називають проміжним сертифікатом, у цьому випадку точно так само, як розташування «SSLCertificateFile» вище. +- Незважаючи на те, що порт 80 (стандартний http) прослуховує, ми перенаправляємо весь трафік на порт 443 (https) +- SSLEngine увімкнуто - просто говорить про використання SSL +- SSLProtocol all -SSLv2 -SSLv3 -TLSv1 - говорить про використання всіх доступних протоколів, крім тих, які мають вразливості. Ви повинні періодично досліджувати, які протоколи зараз прийнятні для використання. +- SSLHonorCipherOrder on - це стосується наступного рядка щодо наборів шифрів і повідомляє, що потрібно мати справу з ними в тому порядку, у якому вони вказані. Це ще одна область, де ви повинні переглядати набори шифрів, які ви хочете періодично включати +- SSLCertificateFile – це файл PEM, який містить сертифікат сайту **ТА** проміжний сертифікат. Нам все ще потрібен рядок «SSLCertificateChainFile» у нашій конфігурації, але він просто знову вкаже той самий файл PEM. +- SSLCertificateKeyFile – файл PEM для закритого ключа, згенерований за допомогою запиту *certbot*. +- SSLCertificateChainFile – сертифікат від вашого постачальника сертифікатів, який часто називають проміжним сертифікатом, у цьому випадку точно так само, як розташування «SSLCertificateFile» вище. -Коли ви внесете всі зміни, просто перезапустіть _httpd_ і, якщо він почнеться, протестуйте свій сайт, щоб переконатися, що тепер у вас відображається дійсний файл сертифіката. Якщо так, ви готові переходити до наступного кроку: автоматизації. +Коли ви внесете всі зміни, просто перезапустіть *httpd* і, якщо він почнеться, протестуйте свій сайт, щоб переконатися, що тепер у вас відображається дійсний файл сертифіката. Якщо так, ви готові переходити до наступного кроку: автоматизації. -## Використання _certbot_ із Nginx +## Використання *certbot* із Nginx -Коротка примітка: використання _certbot_ з Nginx майже таке ж, як і з Apache. Ось коротка, коротка версія посібника: +Коротка примітка: використання *certbot* з Nginx майже таке ж, як і з Apache. Ось коротка, коротка версія посібника: Виконайте цю команду, щоб почати: @@ -228,7 +227,7 @@ certbot --nginx Ви повинні ввести адресу електронної пошти та сайт, для якого ви хочете отримати сертифікат. Якщо припустити, що у вас налаштовано принаймні один сайт (з доменним іменем, що вказує на сервер), ви побачите такий список: -``` +```bash 1. yourwebsite.com 2. subdomain.yourwebsite.com ``` @@ -237,7 +236,7 @@ certbot --nginx Решта тексту схожа на наведену вище. Результати будуть трохи іншими. Якщо у вас є файл конфігурації Nginx, який виглядає так: -``` +```bash server { server_name yourwebsite.com; @@ -252,11 +251,11 @@ server { ``` -Коли _certbot_ впорається з цим, це виглядатиме приблизно так: +Коли *certbot* впорається з цим, це виглядатиме приблизно так: -``` +```bash server { - server_name yourwebsite.com; + server*name yourwebsite.com; listen 443 ssl; # managed by Certbot listen [::]:443 ssl; # managed by Certbot @@ -284,12 +283,17 @@ server { } ``` -Залежно від кількох речей (наприклад, якщо ви використовуєте Nginx як зворотний проксі), вам може знадобитися заглибитися в новий конфігураційний файл, щоб виправити деякі речі, які _certbot _ не впорається ідеально сам по собі. +Залежно від кількох речей (наприклад, якщо ви використовуєте Nginx як зворотний проксі), вам може знадобитися заглибитися в новий конфігураційний файл, щоб виправити деякі речі, які *certbot * не впорається ідеально сам по собі. Або напишіть власний файл конфігурації важким способом. + ## Автоматизація поновлення сертифіката Let's Encrypt -Принадність встановлення _certbot_ полягає в тому, що сертифікат Let's Encrypt автоматично поновлюється. Для цього не потрібно створювати процес. Нам потрібно перевірити оновлення за допомогою: +!!! note "Примітка" + + Замініть випадки на «ім’я хоста-вашого-сервера» в цих прикладах на фактичне ім’я домену або ім’я хосту. + +Принадність встановлення *certbot* полягає в тому, що сертифікат Let's Encrypt автоматично поновлюється. Для цього не потрібно створювати процес. Нам потрібно перевірити оновлення за допомогою: ```bash certbot renew --dry-run @@ -297,39 +301,39 @@ certbot renew --dry-run Коли ви запустите цю команду, ви отримаєте гарний результат, який показує процес оновлення: -``` +```bash Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Processing /etc/letsencrypt/renewal/yourdomain.com.conf +Processing /etc/letsencrypt/renewal/your-server-hostname.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cert not due for renewal, but simulating renewal for dry run Plugins selected: Authenticator apache, Installer apache Account registered. -Simulating renewal of an existing certificate for yourdomain.com +Simulating renewal of an existing certificate for your-server-hostname Performing the following challenges: -http-01 challenge for yourdomain.com +http-01 challenge for your-server-hostname Waiting for verification... Cleaning up challenges - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - new certificate deployed with reload of apache server; fullchain is -/etc/letsencrypt/live/yourdomain.com/fullchain.pem +/etc/letsencrypt/live/your-server-hostname/fullchain.pem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all simulated renewals succeeded: - /etc/letsencrypt/live/yourdomain.com/fullchain.pem (success) + /etc/letsencrypt/live/your-server-hostname/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ``` -Команду для оновлення _certbot_ можна знайти одним із таких методів: +Команду для оновлення *certbot* можна знайти одним із таких методів: -* Перерахувавши вміст `/etc/crontab/` -* Перерахувавши вміст `/etc/cron.*/*` -* Запустивши `systemctl list-timers` +- Перерахувавши вміст `/etc/crontab/` +- Перерахувавши вміст `/etc/cron.*/*` +- Запустивши `systemctl list-timers` -У цьому прикладі ми використовуємо останню опцію та бачимо, що _certbot_ існує та що його було встановлено за допомогою процедури `snap`: +У цьому прикладі ми використовуємо останню опцію та бачимо, що *certbot* існує та що його було встановлено за допомогою процедури `snap`: ```bash sudo systemctl list-timers diff --git a/docs/guides/security/learning_selinux.uk.md b/docs/guides/security/learning_selinux.uk.md index 5ffdd110b1..85f5317bbe 100644 --- a/docs/guides/security/learning_selinux.uk.md +++ b/docs/guides/security/learning_selinux.uk.md @@ -51,10 +51,10 @@ SELinux використовує для цього набір правил (по Розглянемо такі частини головоломки SELinux: -* Суб'єкти -* Об'єкти -* Політики -* Режими +- Суб'єкти +- Об'єкти +- Політики +- Режими Коли суб’єкт (наприклад, програма) намагається отримати доступ до об’єкта (наприклад, файлу), частина SELinux ядра Linux запитує його базу даних політики. Залежно від режиму роботи, SELinux авторизує доступ до об’єкта в разі успіху, інакше він записує помилку у файл `/var/log/messages`. @@ -66,7 +66,7 @@ SELinux використовує для цього набір правил (по Домен — це певний тип (у розумінні SELinux), пов’язаний із процесом і успадкований (зазвичай) від користувача, який його запустив. Його права виражені в термінах дозволу або відмови щодо типів, пов’язаних з об’єктами: -Процес, контекст якого має безпеку __домен D__, може отримати доступ до об’єктів __типу T__. +Процес, чий контекст має безпечний **домен D**, може отримати доступ до об'єктів **типу T**. ![Контекст стандартних процесів SELinux](../images/selinux_003.png) @@ -84,14 +84,14 @@ SELinux використовує для цього набір правил (по Команда `semanage` керує правилами SELinux. -``` +```bash semanage [object_type] [options] ``` Приклад: -``` -$ semanage boolean -l +```bash +semanage boolean -l ``` | Опції | Функціональність | @@ -105,13 +105,13 @@ $ semanage boolean -l Не знаючи пакета, який надає цю команду, ви повинні шукати його назву за допомогою команди: -``` +```bash dnf provides */semanage ``` потім встановіть це: -``` +```bash sudo dnf install policycoreutils-python-utils ``` @@ -119,13 +119,13 @@ sudo dnf install policycoreutils-python-utils Логічні значення дозволяють стримувати процеси. -``` +```bash semanage boolean [options] ``` Щоб отримати список доступних логічних значень: -``` +```bash semanage boolean –l SELinux boolean State Default Description … @@ -139,13 +139,13 @@ httpd_can_sendmail (off , off) Allow httpd to send mail Команда `setsebool` використовується для зміни стану логічного об’єкта: -``` +```bash setsebool [-PV] boolean on|off ``` Приклад: -``` +```bash sudo setsebool -P httpd_can_sendmail on ``` @@ -162,13 +162,13 @@ sudo setsebool -P httpd_can_sendmail on Команда `semanage` використовується для керування об’єктами типу port: -``` +```bash semanage port [options] ``` Приклад: дозволити порт 81 для процесів домену httpd -``` +```bash sudo semanage port -a -t http_port_t -p tcp 81 ``` @@ -176,15 +176,15 @@ sudo semanage port -a -t http_port_t -p tcp 81 SELinux має три режими роботи: -* Enforcing (Примусове виконання) +- Enforcing (Примусове виконання) Режим за замовчуванням для Rocky Linux. Доступ буде обмежено відповідно до чинних правил. -* Permissive (Дозвільний) +- Permissive (Дозвільний) Правила опитуються, а помилки доступу реєструються, але доступ не блокується. -* Disabled (Вимкнено) +- Disabled (Вимкнено) Ніщо не буде обмежено, нічого не буде зареєстровано. @@ -192,32 +192,32 @@ SELinux має три режими роботи: Команда `getenforce` повертає поточний режим роботи -``` +```bash getenforce ``` Приклад: -``` +```bash $ getenforce Enforcing ``` Команда `sestatus` повертає інформацію про SELinux -``` +```bash sestatus ``` Приклад: -``` +```bash $ sestatus -SELinux status: enabled -SELinuxfs mount: /sys/fs/selinux +SELinux status: enabled +SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted -Current mode: enforcing +Current mode: enforcing Mode from config file: enforcing ... Max kernel policy version: 33 @@ -225,13 +225,13 @@ Max kernel policy version: 33 Команда `setenforce` змінює поточний режим роботи: -``` +```bash setenforce 0|1 ``` Перемкніть SELinux у дозвільний режим: -``` +```bash sudo setenforce 0 ``` @@ -245,7 +245,7 @@ sudo setenforce 0 Відредагуйте файл `/etc/sysconfig/selinux` -``` +```bash SELINUX=disabled ``` @@ -255,7 +255,7 @@ SELINUX=disabled Перезавантажте систему: -``` +```bash sudo reboot ``` @@ -269,7 +269,7 @@ sudo reboot Маркування всієї системи: -``` +```bash sudo touch /.autorelabel sudo reboot ``` @@ -278,8 +278,8 @@ sudo reboot SELinux надає два стандартних типи правил: -* **Targeted (Цільовий)**: захищені лише мережеві демони (`dhcpd`, `httpd`, `named`, `nscd`, `ntpd`, `portmap`, `snmpd`, `squid` і `syslogd`) -* **Strict (Строгий)**: усі демони захищені +- **Targeted (Цільовий)**: захищені лише мережеві демони (`dhcpd`, `httpd`, `named`, `nscd`, `ntpd`, `portmap`, `snmpd`, `squid` і `syslogd`) +- **Strict (Строгий)**: усі демони захищені ## Контекст @@ -287,25 +287,25 @@ SELinux надає два стандартних типи правил: Приклади: -``` -id -Z # the user's context -ls -Z # those of the current files -ps -eZ # those of the processes +```bash +id -Z # the user's context +ls -Z # those of the current files +ps -eZ # those of the processes netstat –Z # for network connections lsof -Z # for open files ``` Команда `matchpathcon` повертає контекст каталогу. -``` +```bash matchpathcon directory ``` Приклад: -``` +```bash sudo matchpathcon /root - /root system_u:object_r:admin_home_t:s0 + /root system_u:object_r:admin_home_t:s0 sudo matchpathcon / / system_u:object_r:root_t:s0 @@ -313,13 +313,13 @@ sudo matchpathcon / Команда `chcon` змінює контекст безпеки: -``` +```bash chcon [-vR] [-u USER] [–r ROLE] [-t TYPE] file ``` Приклад: -``` +```bash sudo chcon -vR -t httpd_sys_content_t /data/websites/ ``` @@ -331,13 +331,13 @@ sudo chcon -vR -t httpd_sys_content_t /data/websites/ Команда `restorecon` відновлює контекст безпеки за умовчанням (той, який передбачено правилами): -``` +```bash restorecon [-vR] directory ``` Приклад: -``` +```bash sudo restorecon -vR /home/ ``` @@ -348,7 +348,7 @@ sudo restorecon -vR /home/ Команда `restorecon` відновлює контекст безпеки за умовчанням (той, який передбачено правилами): -``` +```bash semanage fcontext -a options file ``` @@ -358,22 +358,22 @@ semanage fcontext -a options file Приклад: -``` -$ sudo semanage fcontext -a -t httpd_sys_content_t "/data/websites(/.*)?" -$ sudo restorecon -vR /data/websites/ +```bash +sudo semanage fcontext -a -t httpd_sys_content_t "/data/websites(/.*)?" +sudo restorecon -vR /data/websites/ ``` ## Команда `audit2why` Команда `audit2why` вказує на причину відхилення SELinux: -``` +```bash audit2why [-vw] ``` Приклад визначення причини останньої відмови SELinux: -``` +```bash sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why ``` @@ -386,13 +386,13 @@ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why Команда `audit2allow` створює модуль, щоб дозволити дію SELinux (якщо модуль не існує) із рядка у файлі «аудит»: -``` +```bash audit2allow [-mM] ``` Приклад: -``` +```bash sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2allow -M mylocalmodule ``` @@ -405,25 +405,25 @@ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2all Після виконання команди система повертає вам командний рядок, але очікуваного результату не видно: на екрані немає повідомлення про помилку. -* **Крок 1**: прочитайте файл журналу, знаючи, що повідомлення, яке нас цікавить, має тип AVC (SELinux), відхилено (відмовлено) і найновіше (тобто останнє один). +- **Крок 1**: прочитайте файл журналу, знаючи, що повідомлення, яке нас цікавить, має тип AVC (SELinux), відхилено (відмовлено) і найновіше (тобто останнє один). -``` +```bash sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 ``` Повідомлення правильно ізольовано, але воно нам не допомагає. -* **Крок 2**: прочитайте ізольоване повідомлення за допомогою команди `audit2why`, щоб отримати більш чітке повідомлення, яке може містити рішення нашої проблеми (зазвичай логічний бути встановлено). +- **Крок 2**: прочитайте ізольоване повідомлення за допомогою команди `audit2why`, щоб отримати більш чітке повідомлення, яке може містити рішення нашої проблеми (зазвичай логічний бути встановлено). -``` +```bash sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why ``` Є два випадки: або ми можемо розмістити контекст або заповнити логічне значення, або ми повинні перейти до кроку 3, щоб створити наш власний контекст. -* **Крок 3**: Створіть власний модуль. +- **Крок 3**: Створіть власний модуль. -``` +```bash $ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2allow -M mylocalmodule Generating type enforcement: mylocalmodule.te Compiling policy: checkmodule -M -m -o mylocalmodule.mod mylocalmodule.te diff --git a/docs/guides/virtualization/vbox-rocky.uk.md b/docs/guides/virtualization/vbox-rocky.uk.md index 040055baad..c654ebad15 100644 --- a/docs/guides/virtualization/vbox-rocky.uk.md +++ b/docs/guides/virtualization/vbox-rocky.uk.md @@ -35,12 +35,12 @@ VirtualBox® це потужний продукт віртуалізації По-перше, вам потрібно повідомити VirtualBox® якою буде ваша ОС: - * Натисніть «Новий» (піктограма зуба пилки). - * Введіть назву. Приклад: "Rocky Linux 8.5". - * Залиште папку машини автоматично заповненою. - * Змініть тип на "Linux". - * І виберіть «Red Hat (64-bit)». - * Натисніть «Далі». +* Натисніть «Новий» (піктограма зуба пилки). +* Введіть назву. Приклад: "Rocky Linux 8.5". +* Залиште папку машини автоматично заповненою. +* Змініть тип на "Linux". +* І виберіть «Red Hat (64-bit)». +* Натисніть «Далі». ![Назва та операційна система](../images/vbox-02.png) @@ -52,13 +52,13 @@ VirtualBox® це потужний продукт віртуалізації ![Жорсткий диск](../images/vbox-03.png) -* Натисніть «Створити» +* Натисніть ++"Create"++ («Створити») Ви отримаєте діалогове вікно для створення різних типів віртуальних жорстких дисків. Тут є декілька типів жорстких дисків. Перегляньте документацію Oracle VirtualBox, щоб отримати [додаткову інформацію](https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/vdidetails.html) про вибір типів віртуальних жорстких дисків. Для цього документа збережіть значення за замовчуванням (VDI): ![Тип файлу жорсткого диска](../images/vbox-04.png) -* Натисніть «Далі» +* Натисніть ++"Next"++ («Далі») Наступний екран стосується сховища на фізичному жорсткому диску. Є два варіанти. «Фіксований розмір» створюватиметься повільніше, використовуватиметься швидше, але менш гнучким щодо простору (якщо вам потрібно більше місця, ви застрягли на тому, що створили). @@ -66,13 +66,13 @@ VirtualBox® це потужний продукт віртуалізації ![Зберігання на фізичному жорсткому диску](../images/vbox-05.png) -* Натисніть «Далі» +* Натисніть ++"Next"++ («Далі») VirtualBox® тепер дозволяє вказати, де ви хочете розмістити файл віртуального жорсткого диска. Тут також є можливість збільшити стандартний простір на віртуальному жорсткому диску розміром 8 ГБ. Цей варіант хороший, оскільки 8 ГБ місця на жорсткому диску недостатньо для встановлення будь-яких параметрів інсталяції графічного інтерфейсу користувача, а тим більше для використання. Встановіть значення 20 ГБ (або більше) залежно від того, для чого ви хочете використовувати віртуальну машину, і від того, скільки дискового простору у вас є: ![Розташування та розмір файлу](../images/vbox-06.png) -* Натисніть «Створити» +* Натисніть ++"Create"++ («Створити») Ви закінчили базову конфігурацію. Ви повинні мати екран, який виглядає приблизно так: @@ -101,7 +101,7 @@ ISO-образ Rocky Linux тепер вибрано в розділі «Кон ![Образ ISO вибрано](../images/vbox-10.png) -* Натисніть "OK" +* Натисніть ++"OK"++ ### Відеопам'ять для графічних установок @@ -127,7 +127,7 @@ VirtualBox® встановлює 16 МБ пам’яті для викори ![Налаштування Відео](../images/vbox-12.png) -* Натисніть "OK" +* Натисніть ++"OK"++ ## Початок встановлення diff --git a/docs/guides/web/apache-sites-enabled.uk.md b/docs/guides/web/apache-sites-enabled.uk.md index 4dc4621daa..50ad066d2c 100644 --- a/docs/guides/web/apache-sites-enabled.uk.md +++ b/docs/guides/web/apache-sites-enabled.uk.md @@ -86,7 +86,7 @@ Include /etc/httpd/sites-enabled Якщо ви хочете обслуговувати веб-сайт за допомогою SSL/TLS (і погодьтеся, у більшості випадків ви це робите), додайте ще один (майже ідентичний) розділ до цього файлу, щоб увімкнути порт 443. -Ви можете перевірити це нижче в розділі [Конфігурація `https` за допомогою сертифіката SSL/TLS](#https). +Ви можете перевірити це нижче в розділі [Конфігурація `https` за допомогою сертифіката SSL/TLS](#configuration-https-using-an-ssltls-certificate). Спочатку вам потрібно створити цей файл конфігурації в *sites-available*: @@ -121,9 +121,9 @@ vi /etc/httpd/sites-available/com.wiki.www ``` -Після створення вам потрібно записати (зберегти) його за допомогою ++shift+:+wq++. +Після створення вам потрібно записати (зберегти) його за допомогою ++shift+colon+w+q++. -У цьому прикладі завантаження вікі-сайту відбувається з підкаталогу «html» _назви хосту-вашого-сервера_, що означає, що шлях, який ви створили в _/var/www_ (вище) потребує додаткових каталогів, щоб задовольнити це: +У цьому прикладі завантаження вікі-сайту відбувається з підкаталогу «html» *your-server-hostname*, що означає, що шлях, який ви створили в */var/www* (вище) знадобиться кілька додаткових каталогів, щоб задовольнити це: ```bash mkdir -p /var/www/sub-domains/your-server-hostname/html @@ -137,7 +137,7 @@ mkdir -p /var/www/sub-domains/your-server-hostname/html cp -Rf wiki_source/* /var/www/sub-domains/your-server-hostname/html/ ``` -## Конфігурація `https` за допомогою сертифіката SSL/TLS +## Конфігурація `https` за допомогою сертифіката SSL/TLS Як зазначалося раніше, кожен створений сьогодні веб-сервер *має* працювати з SSL/TLS (рівень захищених сокетів). diff --git a/docs/guides/web/apache_hardened_webserver/index.uk.md b/docs/guides/web/apache_hardened_webserver/index.uk.md index 90f1409ecf..880be4807d 100644 --- a/docs/guides/web/apache_hardened_webserver/index.uk.md +++ b/docs/guides/web/apache_hardened_webserver/index.uk.md @@ -33,7 +33,7 @@ tags: Ви можете використовувати пару цих інструментів, а не інші. Цей документ поділено на окремі документи для кожного інструменту для ясності та зручності читання. Винятком буде брандмауер на основі пакетів (`firewalld`) у цьому основному документі. -* Хороший брандмауер із фільтром пакетів на основі портів (iptables, firewalld або апаратний брандмауер – у наших прикладах використовується `firewalld`) [`firewalld` процедура](#iptablesstart) +* Хороший брандмауер із фільтром пакетів на основі портів (iptables, firewalld або апаратний брандмауер – у наших прикладах використовується `firewalld`) [`firewalld` процедура](#configuring-firewalld) * Система виявлення вторгнень на основі хосту (HIDS), у цьому випадку _ossec-hids_ [Apache Hardened Web Server - ossec- ховається](ossec-hids.md) * Брандмауер веб-додатків (WAF) із правилами `mod_security` [Apache Hardened Web Server - mod_security](modsecurity.md) * Rootkit Hunter (`rkhunter`): інструмент сканування, який перевіряє Linux на зловмисне програмне забезпечення [Apache Hardened Web Server - rkhunter](rkhunter.md) @@ -72,9 +72,9 @@ tags: Кожен розділ пакета містить необхідні файли інсталяції та будь-яку процедуру налаштування. -## Налаштування `firewalld` +## Налаштування `firewalld` -``` +```bash firewall-cmd --zone=trusted --add-source=192.168.1.2 --permanent firewall-cmd --zone=trusted --add-service=ssh --permanent firewall-cmd --zone=public --remove-service=ssh --permanent @@ -85,6 +85,7 @@ firewall-cmd --zone=public --add-port=20/tcp --permanent firewall-cmd --zone=public --add-port=7000-7500/tcp --permanent firewall-cmd --reload ``` + Ось що відбувається: * встановлення нашої надійної зони на IP-адресу апаратного брандмауера diff --git a/docs/guides/web/caddy.uk.md b/docs/guides/web/caddy.uk.md index 0420733f77..a702d6a269 100644 --- a/docs/guides/web/caddy.uk.md +++ b/docs/guides/web/caddy.uk.md @@ -186,7 +186,7 @@ listen = /var/opt/remi/php81/run/php-fpm/www.sock listen = 127.0.0.1:9000 ``` -Потім збережіть і закрийте файл www.conf і відкрийте Caddyfile: +Потім збережіть і закрийте файл `www.conf` і відкрийте Caddyfile: ```bash vim /etc/caddy/Caddyfile diff --git a/docs/guides/web/nginx-multisite.uk.md b/docs/guides/web/nginx-multisite.uk.md index 07a093fbc3..6da260f997 100644 --- a/docs/guides/web/nginx-multisite.uk.md +++ b/docs/guides/web/nginx-multisite.uk.md @@ -29,32 +29,33 @@ tags: Це все, що вам знадобиться: -* Сервер Rocky Linux, підключений до Інтернету, на якому вже працює Nginx. Якщо ви ще не зайшли так далеко, ви можете спочатку слідувати [нашому посібнику зі встановлення Nginx](nginx-mainline.md). -* Деякий комфорт із виконанням завдань у командному рядку та встановленням термінального текстового редактора, наприклад `nano`. +- Сервер Rocky Linux, підключений до Інтернету, на якому вже працює Nginx. Якщо ви ще не зайшли так далеко, ви можете спочатку слідувати [нашому посібнику зі встановлення Nginx](nginx-mainline.md). +- Деякий комфорт із виконанням завдань у командному рядку та встановленням термінального текстового редактора, наприклад `nano`. !!! tip "У крайньому випадку" ... ви можете використати щось на кшталт Filezilla або WinSCP — і звичайний текстовий редактор на основі графічного інтерфейсу користувача — щоб відтворити більшість цих кроків, але в цьому підручнику ми будемо робити все простим шляхом. -* Принаймні один домен вказує на ваш сервер для одного з тестових веб-сайтів. Ви можете використовувати або другий домен, або субдомен для іншого. +- Принаймні один домен вказує на ваш сервер для одного з тестових веб-сайтів. Ви можете використовувати або другий домен, або субдомен для іншого. !!! tip "Підказка" Налаштуйте свій хост-файл для створення імітованих доменних імен, якщо ви робите це на локальному сервері. Інструкції нижче. -* Ми припускаємо, що ви використовуєте Nginx на голому сервері або звичайному VPS і SELinux працює. Усі інструкції будуть сумісні з SELinux за замовчуванням. -* *Усі команди потрібно запускати від імені користувача root,* увійшовши в систему як користувач root або використовуючи `sudo`. +- Ми припускаємо, що ви використовуєте Nginx на голому сервері або звичайному VPS і SELinux працює. Усі інструкції будуть сумісні з SELinux за замовчуванням. +- *Усі команди потрібно запускати від імені користувача root,* увійшовши в систему як користувач root або використовуючи `sudo`. ## Налаштування ваших папок і тестових сайтів ### Папки сайту + По-перше, вам знадобиться кілька папок для файлів вашого сайту. Коли ви вперше встановлюєте Nginx, усі «демо» файли веб-сайту будуть у `/usr/share/nginx/html`. Це добре, якщо ви розміщуєте лише один сайт, але ми станемо цікавішими. Наразі проігноруйте каталог `html` і просто перейдіть до його батьківської папки: ```bash cd /usr/share/nginx ``` -Тестовими доменами для цього підручника будуть `site1.server.test` і `site2.server.test`, і ми збираємося назвати папки веб-сайтів відповідно. Ви, звичайно, повинні змінити ці домени на ті, які використовуєте. Однак (і ось трюк, який я взяв від Smarter PeopleTM), ми будемо писати доменні імена «задом наперед». +Тестовими доменами для цього підручника будуть `site1.server.test` і `site2.server.test`, і ми збираємося назвати папки веб-сайтів відповідно. Ви, звичайно, повинні змінити ці домени на ті, які використовуєте. Однак (і ось трюк, який я взяв від Smarter People^TM^), ми будемо писати доменні імена «задом наперед». напр. "yourwebsite.com" буде розміщено в папці під назвою `com.yourwebsite`. Майте на увазі, що ви можете *буквально* назвати ці папки як завгодно, але для цього методу є вагома причина, яку я описав нижче. @@ -110,9 +111,9 @@ cd /etc/nginx/ Якщо ви запустите команду `ls`, щоб побачити, які тут файли та папки, ви побачите багато різних речей, більшість із яких сьогодні неактуальні. Слід звернути увагу на такі: -* `nginx.conf` — це файл, який містить стандартну конфігурацію Nginx. Ми відредагуємо це пізніше. -* `conf.d` — це каталог, куди ви можете розміщувати власні конфігураційні файли. Ви *можете* використовувати це для веб-сайтів, але краще використовувати його для налаштувань окремих функцій, які ви хочете використовувати на всіх своїх веб-сайтах. -* `default.d` – це каталог, куди *може* перейти конфігурація вашого веб-сайту, якщо на сервері працює лише один сайт або якщо ваш сервер має " первинний" веб-сайт. Залиште це поки що. +- `nginx.conf` — це файл, який містить стандартну конфігурацію Nginx. Ми відредагуємо це пізніше. +- `conf.d` — це каталог, куди ви можете розміщувати власні конфігураційні файли. Ви *можете* використовувати це для веб-сайтів, але краще використовувати його для налаштувань окремих функцій, які ви хочете використовувати на всіх своїх веб-сайтах. +- `default.d` – це каталог, куди *може* перейти конфігурація вашого веб-сайту, якщо на сервері працює лише один сайт або якщо ваш сервер має " первинний" веб-сайт. Залиште це поки що. Ми хочемо створити дві нові папки під назвою `sites-available` та `sites-enabled`: @@ -160,13 +161,13 @@ nano nginx.conf Спочатку знайдіть рядок, який виглядає так: -``` +```bash include /etc/nginx/conf.d/*.conf; ``` І **додайте** цей біт трохи нижче: -``` +```bash include /etc/nginx/sites-enabled/*.conf; ``` @@ -174,7 +175,7 @@ include /etc/nginx/sites-enabled/*.conf; Тепер перейдіть до розділу, який виглядає так, і або **закоментуйте його** за допомогою символу решітки ++#++, або видаліть його, якщо вам так хочеться: -``` +```bash server { listen 80; listen [::]:80; @@ -196,7 +197,7 @@ server { Як це виглядало б як «закоментовано»: -``` +```bash #server { # listen 80; # listen [::]:80; @@ -236,7 +237,6 @@ systemctl restart nginx Однак нічого не станеться з оригінальним файлом, якщо ви видалите посилання на ціль. Цей трюк дозволяє нам помістити файли конфігурації веб-сайту в робочий каталог (`sites-available`), а потім «активувати» їх, посилаючись на ці файли з `sites-enabled`. - Я покажу вам, що я маю на увазі. Створіть файл конфігурації для першого веб-сайту так: ```bash @@ -245,7 +245,7 @@ nano sites-available/test.server.site1.conf Тепер вставте цей код. Це найпростіша робоча конфігурація Nginx, яку ви можете мати, і вона повинна добре працювати на більшості веб-сайтів зі статичним HTML: -``` +```bash server { listen 80; listen [::]:80; @@ -339,14 +339,14 @@ nano /etc/hosts Отже, якщо ви працюєте на комп’ютері Rocky Linux і використовуєте сервер Nginx на тому самому комп’ютері, ви повинні відкрити файл і визначити потрібні домени/IP-адреси. Якщо ваша робоча станція та тестовий сервер використовуються на одній машині, це буде: -``` +```bash 127.0.0.1 site1.server.test 127.0.0.1 site2.server.test ``` Якщо ви використовуєте сервер Nginx на іншій машині в мережі, просто використовуйте адресу цієї машини, наприклад.: -``` +```bash 192.168.0.45 site1.server.test 192.168.0.45 site2.server.test ``` @@ -363,4 +363,4 @@ nano /etc/hosts Фактичні файли веб-сайту мають бути десь у `/usr/share/nginx/`. -Спробуйте, попрацюйте з ScienceTM і не забудьте запустити `nginx -t` перед перезапуском Nginx, щоб переконатися, що ви не пропустили крапку з комою або що завгодно. Це заощадить вам багато часу. +Спробуйте, попрацюйте з Science^TM^ і не забудьте запустити `nginx -t` перед перезапуском Nginx, щоб переконатися, що ви не пропустили крапку з комою або що завгодно. Це заощадить вам багато часу. diff --git a/docs/index.uk.md b/docs/index.uk.md index fac2236044..d73e5507f4 100644 --- a/docs/index.uk.md +++ b/docs/index.uk.md @@ -4,7 +4,7 @@ title: Головна сторінка # Rocky Linux документація -## Вітаємо! +## Ласкаво просимо Ласкаво просимо до центру документації Rocky Linux; ми раді, що ви тут. У нас є кілька учасників, які додають вміст, і цей вміст постійно зростає. Тут ви знайдете документи про те, як побудувати Rocky Linux сам, а також документи на різні теми, важливі для спільноти Rocky Linux. Хто утворює цю спільноту, запитаєте ви? @@ -18,7 +18,7 @@ title: Головна сторінка Зараз ви на головній сторінці документації. Якщо ви поглянете на верхнє меню (яке завжди доступне на мобільних пристроях), ви побачите основну структуру, яка показує розділи верхнього рівня сайту документації. Якщо ви клацнете кожен пункт верхнього меню (наприклад, спробуйте «Посібники»), то ліворуч ви побачите список *підрозділів* для кожного основного розділу. Посібники мають багато цікавих тем. -Коли ви відкриєте документ, праворуч ви побачите "Таблиця змісту" з посиланнями на цей документ (для мобільних пристроїв спробуйте альбомну орієнтацію). Для довгих документів, таких як [Release Notes](release_notes/8_8.md), зміст дає змогу швидко переміщатися по документу. Якщо ви читаєте довгий документ і хочете повернутися до початку, натисніть pg up, і ви побачите кнопку `Назад до початку`, яка з’явиться у верхній частині екрана. +Коли ви відкриєте документ, праворуч ви побачите "Таблиця змісту" з посиланнями на цей документ (для мобільних пристроїв спробуйте альбомну орієнтацію). Для довгих документів, таких як [Release Notes](release_notes/8_8.md), зміст дає змогу швидко переміщатися по документу. Якщо ви читаєте довгий документ і хочете повернутися до початку, натисніть ++page-up++, і ви побачите кнопку `Назад до початку`, яка з’явиться у верхній частині екрана. Основні розділи документації такі: diff --git a/docs/labs/security/lab3-auditing_the_system.uk.md b/docs/labs/security/lab3-auditing_the_system.uk.md index 69fc735021..3f7328fc19 100644 --- a/docs/labs/security/lab3-auditing_the_system.uk.md +++ b/docs/labs/security/lab3-auditing_the_system.uk.md @@ -486,13 +486,13 @@ SYNOPSIS ## Завдання 3 -**Перевірка цілісності та перегляд звітів** +### Перевірка цілісності та перегляд звітів -У цій вправі ви дізнаєтеся, як запустити перевірку цілісності системи та переглянути звіти, які Tripwire створює для вас. +У цій вправі ви дізнаєтесь, як запустити перевірку цілісності системи та переглянути звіти, які Tripwire створює для вас. ### Щоб запустити перевірку цілісності -Запуск Tripwire у цьому режимі (режим перевірки цілісності) порівнює поточні об’єкти файлової системи з їхніми властивостями в базі даних tripwire. Розбіжності між базою даних і поточними об’єктами файлової системи виводяться на стандартний вихід, поки Tripwire працює в цьому режимі. Після завершення перевірки Tripwire також створює файл звіту в каталозі, зазначеному у файлі twcfg.txt (/var/lib/tripwire/report/). +Запуск Tripwire у цьому режимі (режим перевірки цілісності) порівнює поточні об’єкти файлової системи з їхніми властивостями в базі даних Tripwire. Розбіжності між базою даних і поточними об’єктами файлової системи виводяться на стандартний вихід, поки Tripwire працює в цьому режимі. Після завершення перевірки Tripwire також створює файл звіту в каталозі, зазначеному у файлі twcfg.txt (/var/lib/tripwire/report/). 1. Виконайте перевірку цілісності. Впишіть: @@ -524,7 +524,7 @@ SYNOPSIS ### Для перевірки звіту -Файли звітів Tripwire — це набір порушень правил, виявлених під час перевірки цілісності. +Файли звітів Tripwire — це збірка порушень правил, виявлених під час перевірки цілісності. Є кілька способів переглянути файл звіту Tripwire: @@ -568,7 +568,7 @@ SYNOPSIS ### Для перегляду звітів електронною поштою -Тут ви перевірите роботу електронної пошти Tripwire. Система сповіщень електронною поштою Tripwire використовує налаштування, указані у файлі конфігурації Tripwire. (twcfg.txt). +Here you will test the e-mail functionality of Tripwire. Система сповіщень електронною поштою Tripwire використовує налаштування, указані у файлі конфігурації Tripwire. (twcfg.txt). 1. Спочатку перегляньте файл конфігурації та запам’ятайте змінну(-и), яка керує системою сповіщень електронною поштою Tripwire. Щоб переглянути тип файлу конфігурації: @@ -613,15 +613,15 @@ SYNOPSIS ### Тонка настройка Tripwire -Після інсталяції Tripwire, створення знімка системи та запуску першої перевірки цілісності вам, швидше за все, знадобиться точно налаштувати tripwire відповідно до потреб вашого конкретного середовища. Це здебільшого тому, що файл конфігурації та політики за замовчуванням, який постачається разом із tripwire, може не зовсім відповідати вашим потребам або не відображати фактичні об’єкти у вашій файловій системі. +Після інсталяції Tripwire, створення знімка системи та запуску першої перевірки цілісності вам, швидше за все, знадобиться точно налаштувати Tripwire відповідно до потреб вашого конкретного середовища. Це здебільшого тому, що файл конфігурації та політики за замовчуванням, який постачається разом із Tripwire, може не зовсім відповідати вашим потребам або не відображати фактичні об’єкти у вашій файловій системі. Вам потрібно з’ясувати, чи є порушення файлової системи, про які повідомляється у файлі звіту під час перевірки цілісності, фактичними порушеннями чи законними/авторизованими змінами об’єктів вашої файлової системи. Знову ж таки, Tripwire пропонує кілька способів зробити це. ### Оновлення файлу політики -Використовуючи цей метод, ви зміните або точно налаштуєте те, що tripwire вважає порушенням об’єктів вашої файлової системи, змінивши правила у файлі політики. Потім базу даних можна оновити без повної повторної ініціалізації. Це економить час і зберігає безпеку, зберігаючи файл політики синхронізованим із базою даних, яку він використовує. +Використовуючи цей метод, ви зміните або точно налаштуєте те, що Tripwire вважає порушенням об’єктів вашої файлової системи, змінивши правила у файлі політики. Потім базу даних можна оновити без повної повторної ініціалізації. Це економить час і зберігає безпеку, зберігаючи файл політики синхронізованим із базою даних, яку він використовує. -Ви будете використовувати файл звіту, який ви створили раніше ( /root/tripwire_report.txt ), щоб точно налаштувати файл політики, спочатку заборонивши tripwire повідомляти про відсутність файлів, які ніколи не були у файловій системі. +Ви будете використовувати файл звіту, який ви створили раніше ( /root/tripwire_report.txt ), щоб точно налаштувати файл політики, спочатку заборонивши Tripwire повідомляти про відсутність файлів, які ніколи не були у файловій системі. Це допоможе значно скоротити довжину файлу звіту, яким потрібно керувати. @@ -731,7 +731,7 @@ SYNOPSIS ### Файл конфігурації Tripwire -Ви почнете ці вправи, спочатку налаштувавши файл конфігурації. У попередній вправі вам порадили видалити або видалити всі версії відкритого тексту файлу Tripwire із вашої системи. Ви створите трохи безпечнішу установку Tripwire, відредагувавши деякі змінні у файлі конфігурації Tripwire. Ви вкажете, що Tripwire має завжди шукати двійкові версії політики та конфігураційного файлу на знімному носії, такому як дискета або компакт-диск. +Ви почнете ці вправи, спочатку налаштувавши файл конфігурації. У попередній вправі вам порадили видалити або видалити всі версії відкритого тексту файлу Tripwire із вашої системи. Ви створите трохи безпечнішу установку Tripwire, відредагувавши деякі змінні у файлі конфігурації Tripwire. Ви вкажете, що Tripwire має завжди шукати двійкові версії файлів політики та конфігурації на знімних носіях, таких як дискета або компакт-диск. 1. Змініть свій pwd на каталог /etc/tripwire. diff --git a/docs/labs/systems_administration_II/lab6-the_file_system.uk.md b/docs/labs/systems_administration_II/lab6-the_file_system.uk.md index e6b81935a2..86cfb12373 100644 --- a/docs/labs/systems_administration_II/lab6-the_file_system.uk.md +++ b/docs/labs/systems_administration_II/lab6-the_file_system.uk.md @@ -937,7 +937,7 @@ ext2/ext3/ext4 налагоджувач файлової системи У цій вправі буде описано, як `монтувати` та `демонтувати` файлові системи, які ми створили у попередній вправі. -### `mount` +### Команда `mount` Команда `mount` використовується для приєднання файлової системи, створеної на пристрої, до ієрархії файлів. @@ -1162,17 +1162,17 @@ ext2/ext3/ext4 налагоджувач файлової системи - Вирішіть, якими будуть ваші м’які та жорсткі обмеження. - Визначте пільгові періоди (тобто чи будуть вони взагалі). -*Жорсткий ліміт* +#### *Жорсткий ліміт* Жорстке обмеження визначає абсолютний максимальний обсяг дискового простору, який може використовувати користувач або група. Після досягнення цього ліміту дисковий простір використовувати не можна. -*М'який ліміт* +#### *М'який ліміт* -М'яке обмеження визначає максимальний обсяг дискового простору, який можна використовувати. Однак, на відміну від жорсткого обмеження, м’яке обмеження можна перевищувати на деякий час. Цей час відомий як пільговий період. +М'яке обмеження визначає максимальний обсяг дискового простору, який можна використовувати. Однак, на відміну від жорсткого обмеження, м’яке обмеження можна перевищувати протягом певного часу. Цей час відомий як пільговий період. -*Пільговий період* +#### *Пільговий період* -Пільговий період – це час, протягом якого може бути перевищено м’який ліміт. Період відстрочки може бути виражений у секундах, хвилинах, годинах, днях, тижнях або місяцях, таким чином надаючи системному адміністратору велику свободу у визначенні часу, який надати користувачам, щоб використання диска було нижче встановленого ліміту. +Пільговий період – це час, протягом якого може бути перевищено м’який ліміт. Період відстрочки може бути виражений у секундах, хвилинах, годинах, днях, тижнях або місяцях, що дає системному адміністратору велику свободу у визначенні часу, який надати користувачам, щоб використання диска було нижче встановленого ліміту. Це кроки високого рівня, пов’язані з впровадженням квот. @@ -1385,7 +1385,7 @@ quotacheck [-gucbfinvdmMR] [-F ] filesystem|-a Ви вирішили призначити м’який ліміт у 90 МБ і жорсткий ліміт у 100 МБ для кожного користувача системи з пільговим періодом у 5 хвилин. -Це означає, що всі користувачі, яким ми застосовуємо квоту, не можуть перевищувати жорсткий ліміт у 100 МБ, але вони мають приблизно 5 хвилин, щоб перевищити свій м’який ліміт у 90 МБ, але залишаються за жорстким лімітом. +Це означає, що всі користувачі, для яких ми застосовуємо квоту, не можуть перевищувати жорсткий ліміт у 100 МБ, але вони мають приблизно 5 хвилин, щоб перевищити свій м’який ліміт у 90 МБ, але залишаються за жорстким лімітом. 1. Ви створите обмеження за допомогою прототипу користувача. Користувач під назвою «me» буде вашим прототипом користувача. Створіть обмеження за допомогою команди `edquota`. Впишіть: diff --git a/docs/labs/systems_administration_II/lab7-the_linux_kernel.uk.md b/docs/labs/systems_administration_II/lab7-the_linux_kernel.uk.md index b05c6a4c18..0133e06e21 100644 --- a/docs/labs/systems_administration_II/lab7-the_linux_kernel.uk.md +++ b/docs/labs/systems_administration_II/lab7-the_linux_kernel.uk.md @@ -67,7 +67,7 @@ linux-.tar.bz2 (or linux-.tar.gz) Загалом існує три методи, за допомогою яких можна керувати ядром у дистрибутивах Linux. Це: -1. Використання готової версії ядра від постачальника дистрибутивів. наприклад, використовуючи kernel-.*.rpm. Це найбезпечніший, найпростіший і найбажаніший рекомендований варіант +1. Використання готової версії ядра від постачальника дистрибутивів. напр. з використанням kernel-``.*.rpm. Це найбезпечніший, найпростіший і найбажаніший рекомендований варіант 2. За допомогою патчів. Використовуючи патчі як - patch-kernel.version.gz. @@ -384,7 +384,7 @@ linux-.tar.bz2 (or linux-.tar.gz) /boot/vmlinuz- ``` - Замініть номером версії вашого спеціального ядра. Для зразка ядра, яке ми використовуємо в цьому посібнику, ім’я файлу буде vmlinuz-6.*-custom. Отже, ось точна команда для цього прикладу: + Замініть `` номером версії вашого спеціального ядра. Для зразка ядра, яке ми використовуємо в цьому посібнику, ім’я файлу буде vmlinuz-6.*-custom. Отже, ось точна команда для цього прикладу: ```bash sudo cp ~/build/kernel/arch/x86/boot/bzImage /boot/vmlinuz-6.5.7-custom diff --git a/docs/release_notes/8_5.uk.md b/docs/release_notes/8_5.uk.md index 6d55d98578..4abc6cb7d3 100644 --- a/docs/release_notes/8_5.uk.md +++ b/docs/release_notes/8_5.uk.md @@ -4,14 +4,13 @@ title: Реліз 8.5 # Реліз ноти до Rocky Linux 8.5 -### Дякуємо +## Дякуємо Дякуємо за підтримку Rocky Linux. Це примітки до випуску Rocky Linux 8.5, доступні для архітектур x86_64 і aarch64 (ARM). > Для створення цього випуску було витрачено неймовірний обсяг роботи та співпраці. Команда Rocky Release Engineering пішла далеко й перевищила свої обов’язки, щоб зробити 8.5 реальністю так швидко. Будь ласка, надішліть їм подяку, радісні думки та купу пива в першу ж вільну хвилину! — Gregory Kurtzer - ### Основні зміни Щоб отримати повний перелік усіх змін, які відбулися на початковому етапі, перегляньте [Примітки до випуску для Red Hat Enterprise Linux 8.5](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.5_release_notes/overview#overview-major- changes). @@ -24,14 +23,12 @@ title: Реліз 8.5 Як і в будь-якому випадку, пов’язаному з безпекою, важливо мати можливість перевірити, чи прокладка Secure Boot відповідає вашим очікуванням і чи правильно її активовано. Після інсталяції Rocky Linux 8.5 увійдіть і виконайте ці команди, щоб перевірити нашу прокладку безпечного завантаження: -``` - -$ sudo dnf install -y keyutils - -$ sudo keyctl show %:.platform +```bash +sudo dnf install -y keyutils -$ sudo mokutil --sb +sudo keyctl show %:.platform +sudo mokutil --sb ``` Ці команди мають виводити подібні до наступного: @@ -58,28 +55,28 @@ SecureBoot enabled #### Нові модулі - * Ruby 3.0 - * nginx 1.20 - * Node.js 16 +* Ruby 3.0 +* nginx 1.20 +* Node.js 16 #### Оновлені компоненти - * PHP до версії 7.4.19 - * Squid до версії 4.15 - * Mutt до версії 2.0.7 +* PHP до версії 7.4.19 +* Squid до версії 4.15 +* Mutt до версії 2.0.7 #### Компілятори та засоби розробки - * GCC Toolset 11 - * LLVM Toolset 12.0.1 - * Rust Toolset 1.54.0 - * Go Toolset 1.16.7 +* GCC Toolset 11 +* LLVM Toolset 12.0.1 +* Rust Toolset 1.54.0 +* Go Toolset 1.16.7 #### Оновлення OpenJDK - * Open Java Development Kit 17 (OpenJDK 17) уже доступний. Щоб отримати додаткові відомості про функції, представлені в цьому випуску, і зміни в існуючих функціях, перегляньте функції OpenJDK. - * OpenJDK 11 оновлено до версії 11.0.13. Щоб отримати додаткові відомості про функції, представлені в цьому випуску, і зміни в існуючих функціях, перегляньте примітки до випуску для OpenJDK 11.0.13. - * OpenJDK 8 оновлено до версії 8.0.312. Щоб отримати додаткові відомості про функції, представлені в цьому випуску, і зміни в існуючих функціях, перегляньте примітки до випуску для OpenJDK 8.0.312. +* Open Java Development Kit 17 (OpenJDK 17) уже доступний. Щоб отримати додаткові відомості про функції, представлені в цьому випуску, і зміни в існуючих функціях, перегляньте функції OpenJDK. +* OpenJDK 11 оновлено до версії 11.0.13. Щоб отримати додаткові відомості про функції, представлені в цьому випуску, і зміни в існуючих функціях, перегляньте примітки до випуску для OpenJDK 11.0.13. +* OpenJDK 8 оновлено до версії 8.0.312. Щоб отримати додаткові відомості про функції, представлені в цьому випуску, і зміни в існуючих функціях, перегляньте примітки до випуску для OpenJDK 8.0.312. #### Найшвидші дзеркала @@ -91,9 +88,9 @@ SecureBoot enabled #### Додані пакети - * У репозиторії plus додано thunderbird з підтримкою PGP - * У репозиторій plus додано openldap-сервери - * У репозиторії rockypi додано ядро rasperrypi2 для підтримки aarch64 для Raspberry +* У репозиторії plus додано thunderbird з підтримкою PGP +* У репозиторій plus додано openldap-сервери +* У репозиторії rockypi додано ядро rasperrypi2 для підтримки aarch64 для Raspberry Щоб отримати повне порівняння пакетів та їхніх версій між Rocky Linux і Red Hat Enterprise Linux, зверніться до нашого сайту [RepoCompare](https://repocompare.rockylinux.org). @@ -111,8 +108,8 @@ SecureBoot enabled Щоб оновити встановлену Rocky Linux 8.4 Stable до 8.5, введіть: -``` -$ sudo dnf -y upgrade +```bash +sudo dnf -y upgrade ``` ### Відомі проблеми @@ -122,4 +119,3 @@ $ sudo dnf -y upgrade #### Повідомлення про помилки Будь ласка, повідомляйте про будь-які помилки, з якими ви стикаєтеся, на Rocky Linux Bug Tracker. Ми також запрошуємо вас приєднатися до нашої спільноти будь-яким способом на наших [форумах](https://forums.rockylinux.org), [Mattermost](https://chat. rockylinux.org), [IRC на Libera.Chat](irc://irc.liberachat/rockylinux), [Reddit](https://reddit.com/ r/rockylinux), [Списки розсилки](https://lists.resf.org) або будь-яким іншим способом, яким ви бажаєте взяти участь! -