Linux
رفتن به کانال در Telegram
Все для системного администратора, новости и информация из мира Linux По всем вопросам @evgenycarter
نمایش بیشتر2 356
مشترکین
-1024 ساعت
-627 روز
-23430 روز
آرشیو پست ها
2 356
Протокол NDP
Рассматриваем два сценария использования протокола NDP:
- Автоматическая настройка сетевой конфигурации. Компьютеры получают от маршрутизатора сетевые настройки в сообщении Router Advertisement.
- Определение MAC-адреса по известному IPv6 адресу. Компьютер, который хочет узнать MAC-адрес, высыдает сообщение NDP Neighbor Solicitation. Получатель отправляет свой MAC-адрес в ответ в пакете NDP Neighbor Advertisement. Информация сохраняется в таблице NDP (аналог ARP-таблицы в протоколе IPv4).
источник
👉@linuxchmod
2 356
Регулярное выражение
Регулярное выражение - это шаблон, сопоставляемый с искомой строкой слева направо. Термин «Регулярное выражение» сложно произносить каждый раз, поэтому, обычно, вы будете сталкиваться с сокращениями "регэкспы" или "регулярки". Регулярные выражения используются для замен текста внутри строк, валидации форм, извлечений подстрок по определенным шаблонам и множества других вещей.
https://github.com/zevilz/learn-regex/blob/master/translations/README-ru.md
👉@linuxchmod
2 356
Протокол ICMP, утилита traceroute
Утилита traceroute (в Windows tracert) используется для определения маршрута от отправителя к получателю. Утилита выдает перечень всех маршрутизаторов, через которые необходимо пройти.
Для определения IP-адресов маршрутизаторов, traceroute использует протокол ICMP. На первом этапе отправляется эхо-запрос (ICMP-пакет с кодом 8, типом 0) со временем жизни 1. Первый маршрутизатор уменьшает время жизни до 0, отбрасывает пакет и передает отправителю сообщение об истечении времени жизни пакета (ICMP-пакет с кодом 11, типом 0). traceroute получает ICMP-пакет, анализирует IP-заголовок и извлекает из него IP-адрес отправителя. Это и есть адрес первого маршрутизатора.
Затем отправляется эхо-запрос со временем жизни 2, он доходит до второго маршрутизатора. Второй маршрутизатор отбрасывает пакет и также передает сообщение, что время жизни пакета истекло. traceroute извлекает из сообщения IP-адрес второго маршрутизатора. После этого traceroute передает эхо-запрос со временем жизни 3, 4, 5 и т.д., пока запрос не дойдет до получателя.
источник
👉@linuxchmod
2 356
Как отлаживать bash-script-ы по шагам
Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.
Волшебная строчка, которую нужно добавить после
#!/bin/bash, чтоб скрипт можно было отлаживать по шагам
#!/bin/bash
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3
Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем Ctrl+C и выходим из отладки.
Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды
команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо Ctrl+C
переменная окружения $BASH_COMMAND, валидная внутри обработчика команды trap.
# Online Bash Shell.
# Code, Compile, Run and Debug Bash script online.
# Write your code in this editor and press "Run" button to execute it.
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3
echo "Hello World";
👉 @linuxchmod2 356
Эволюция технологий виртуализации сети в Linux
С китайского языка я еще не переводил:) Но мимо статьи ребят из ByteDance, которые разработали технологию VDUSE, пройти не смог. И хотя в название авторы вынесли «технологии виртуализации сети», на самом деле эти технологии применимы и к другим типам устройств — например, к дискам и видеокартам. Статья последовательно разбирает, как и почему развивались технологии виртуализации устройств, параллельно объясняя, как эти технологии работают, какие у них есть сильные и слабые стороны.
https://habr.com/ru/companies/flant/articles/751746/
👉 @linuxchmod
2 356
Linux-Commands
Шпаргалка по bash
Файловая система
-Просмотр содержимого папки
-Перемещение по файловой системе
-Создание папок и файлов
-Копирование файлов
-Переименование или перемещение файлов
-Удаление папок и файлов
Алиасы
Разное
Использование переменных
Подстановка команд в переменные
Математические операции
Управляющая конструкция if-then
Управляющая конструкция if-then-else
Конструкция CASE
Циклы
Сравнение чисел
Сравнение строк
Проверки файлов
Операторы
https://github.com/sergeevdm/Linux-Commands
👉 @linuxchmod
2 356
🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
2 356
Шаблон Zabbix для мониторинга Active Directory
Как настроить мониторинг Active Directory с помощью zabbix, как настраивается zabbix agent (active).
👉 @linuxchmod
2 356
Cisco Packet Tracer
Урок 1 "Настройка ip адресации компьютеров и подключение к коммутатору"
Урок №2 "Настройка динамической ip-адресации, DHCP, DNS, WEB серверов"
Урок №3 "Настройка протокола доступа SSH на коммутаторе Cisco"
Урок 4 "Настройка VLAN на коммутаторах Cisco"
Урок №5 "Настройка ip-адресации vlan на коммутаторах и маршрутизаторах Cisco"
Урок №6 "Настройка pool (диапазона ip-адресов) на DHCP сервере для VLAN"
Урок №7 "Настройка ACL (Access Control List) на маршрутизаторе Cisco"
Урок №8 - "Настройка ip-телефонии"
Урок №9 "Настройка почтового сервера"
Урок №10 "Настройка беспроводной сети, WiFi роутер"
👉 @linuxchmod
2 356
Полезные сетевые утилиты linux
ip
Утилита управляет интерфейсами, сетевыми устройствами и туннелями. Всем сетевым стеком linux. Например:
ip addr
Покажет список всех сетевых адресов. Тоже самое делает утилита ifconfig без параметров.
ip route
Покажет таблицу роутинга. Тоже самое сделает команда route.
ip link set eth0 up
Поднимает интерфейс eth0. Это можно также сделать с помощью ifconfig.
Так зачем она нужна если все ее команды можно выполнить с помощью других утилит? Дело в том, что во многие компактные дистрибутивы (например Alpine или openwrt) не используют ifconfig, route и другие “большие” утилит. Там оставляют только ip. Вот с помощью нее и придется выполнять все сетевые задачи.
nc
Полное имя netcat - на него она тоже откликается. Это утилита, позволяет слушать и выполнять TCP и UDP соединении.
И так что может netcat?
Открываем одно окно терминала и делаем там nc -l 12345 это будет наш сервер. Отрываем другое окно и пишем в нем nc 127.0.0.1 12345 — это наш клиент. Печатаем там “Hello!” нажимаем enter. В первом окне видим эту фразу. Ура! Мы написали однонаправленный чат.
Эта утилита пригодиться чтобы проверить жив ли сервер и слушает ли от вообще на этом порту? С помощью nc можно переслать файл и даже просканировать порты. Http сервер еще можно написать.
socat
Это труба, которая позволяет соединить два сокета между собой. Mysql слушает только на local socket а мы хотим на его ходить по tcp. Выглядит это так: socat TCP-LISTEN:3307,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock
Конектор к netcat из предыдущего примера: socat - TCP4:127.0.0.1:80
Если вам нужно перебросить сокет в другое место присмотритесь к socat он вам скорее всего поможет.
netstat
Эта утилита показывает текущее состояние сетевого стека. Она даст вам ответ на вопросы: что у меня там на порту 9081 висит? netstat -nltp Что с моими tcp соединениями и кто прямо сейчас ко мне подключен? netstat -atp
У этой утилиты есть младший (или старший по возможностям) брат ss посмотрите на него тоже может он понравиться больше.
curl
Утилита для передачи файлов. Так написано в ее описании. Чем же она замечательна? Она умеет кучу протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. В каждом протоколе она знает множество версий, например HTTP она может до версии 2. Умеет подставлять хидера, куки, ходить по SSL, использовать proxy разных видов. Можно отлаживать http(s) соединение с помощью -v. Примеры:
curl http://artscene.textfiles.com/asciiart/unicorn
Единорог!
curl -v http://127.0.0.1:12345
Соединяемся с сервером из примера netcat. В консоле сервера увидим http запрос. После этого все остановиться curl будет ждать ответ. И если вы руками его введете покажет его.
👉 @linuxchmod2 356
Работа С Файловой Системой Linux
00:00 - Вступление
01:30 - Структура файлов
03:30 - Терминал
03:40 - pwd
04:50 - cd
07:30 - ls
09:31 - clear
11:05 - mkdir
12:06 - touch
12:47 - man
13:58 - nano
14:02 - vi/vim
15:41 - cat
16:18 - less
16:40 - more
16:54 - head
17:28 - tail
17:46 - echo
18:36 - rm
19:36 - mv
20:56 - cp
23:30 - sudo
24:24 - stat
24:50 - Запуск исполняемых файлов
25:30 - Текущий каталог(.)
26:10 - Заключение
26:25 - Концовка
источник
👉 @linuxchmod
2 356
Firewall в Mikrotik: разбираем, как обеспечивать безопасность сети
Firewall дает огромные возможности по управлению сетевым трафиком, проходящим через Mikrotik.
Вы, как администратор сети, должны суметь разделить все потоки трафика. дать каждому из них свои права, а весь лишний трафик — заблокировать.
Firewall в Mikrotik по большей части позаимствован из IPTables из Linux.
02:27 Вопросы вебинара
03:23 Firewall filter
07:06 Работа по принципу «Если-То»
23:54 Filter Actions
57:15 Firewall NAT
1:03:33 NAT Actions
1:14:59 Connection State
1:30:49 Connection Tracking
1:31:22 Простая настройка firewall
1:33:16 Сложная настройка firewall
1:33:46 Address List
1:35:03 Блокирование сайтов через адрес листы с добавлением доменного имени
1:45:06 NAT Helpers
1:46:51 Полезные ссылки
источник
👉 @linuxchmod
2 356
Защита Mikrotik от внешних угроз
— Почему не хватает firewall для защиты mikrotik.
— Почему не хватает защиты в / ip services.
— Как использовать службу neighbor.
— Как использовать tool mac server.
— Общие рекомендации по защите.
— Почему у нас не взломали ни одного роутера.
— Как и когда правильно обновлять.
источник
👉 @linuxchmod
2 356
Дисковая и файловая подсистемы
Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок
источник
👉 @linuxchmod
2 356
Собираем и запускаем Linux-0.01 в Minix 1.5, (почти) как это делал Линус Торвальдс
Я попытался повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01. Причины, побудившие Линуса начать разработка ядра, хорошо описаны в книге «Ради удовольствия: Рассказ нечаянного революционера» (далее J4F) и во множестве других источниках и мы не будем их касаться. А рассмотрим техническую сторону компиляции и запуску ядра Linux.
Непосредственно процесс сборки ядра по-unix'овски очень прост: достаточно выполнить команду make, и на выходе получаете готовый бинарный файл, который надо записать на дискету и загрузиться с неё. Но чтобы сборка прошла успешно, надо провести большую подготовку. Вот этим мы и займёмся. Я составил для вас очень подробное пошаговое руководство.
Сначала в эмуляторе 86Box создадим пустую виртуальную машину с характеристиками, близкими к компьютеру Линуса в то время, установим оригинальную версию операционной системы Minix 1.5.10, применим патчи «царя и бога Minix-386» (c) Брюса Эванса, поставим порт компилятора gcc версии 1.37.1 для Minix-386 от Алана Блэка (Alan W Black) и Ричарда Тобина (Richard Tobin), и в самом конце соберём и запустим ядро Linux с bash'ем внутри.
После каждого этапа я сохранял состояние виртуальной машины, жёсткого диска и образы дискет, которые подвергались изменению. Можете пройти все шаги самостоятельно или распаковать любой из архивов и продолжить выполнение инструкции с желаемого момента. Все дистрибутивы, скриншоты, конфигурации, это руководство, архивы с резервными копиями по каждому этапу и даже бинарный AppImage 86box (для Linux x86_64) можно найти в репозитории.
https://habr.com/ru/companies/vk/articles/752564/
👉 @linuxchmod
2 356
Создание файловой системы внутри файла
Иногда необходимо создать временную файловую систему для того, чтобы что-то протестировать. А свободного раздела на диске может не быть, да и флешка не всегда под рукой. К счастью в ОС GNU/Linux создание целой файловой системы внутри файла на любом диске не сложнее создания обычной файловой системы.
Это практическое видео, показывающее шаг за шагом, как создать внутрефайловую файловую систему и как её монтировать. После монтирования данная ФС никак не отличается от любой другой.
Команды dd, mkfs, и mount идут в комплекте со всеми дистрибутивами ОС GNU/Linux, а команда hexer, используемая для просмотра файла-контейнера, была нужна лишь для демонстрации изменений (но и она доступна почти во всех дистрибутивах)
источник
👉 @linuxchmod
2 356
Шпаргалка по ZFS
modinfo zfs | head -n 9 - узнать версию ZFS и другие подробности
Информация о пулах / файловых системах (ФС) на пулах
zpool list - статус пулов
zpool status -v - статус пулов подробный
zfs list - список ФС, так называются монтируемые разделы в пулах
zfs get all - вся инфа по пулам, вообще вся
Управление пулами / дисками
ls -lha /dev/disk/by-id/ - выяснить айдишники дисков чтобы потом на них создать пул (будут проблемы если подцепишь по буквенному названию диска типа sda, они динамически меняются)
zpool create zfspool disk-id-1 disk-id-2 - может быть сколько угодно дисков, с ключом -f форсить создание пула
zpool create -m /mnt/backups zfspool disk-id-1 - создать пул с указанием папки маунтирования
zpool destroy zfspool - уничтожить пул zfspool, с ключом -f форсить уничтожение
mkfile 100m disk1 disk2 - создать файлы дисков
zpool create backups /disk1 /disk2- создать пул backups на созданных файлах
zpool create zfspool mirror /disk1 /disk2 - создать пул zfspool с зеркалированием на 2 диска
zpool add zfspool /disk3 - добавить диск в пул
zpool attach zfspool /disk3 - добавить устройство в пул, если он в зеркале то станет в зеркало, если простой, то пул расширится
zpool remove zfspool mirror-1
zpool detach zfspool /disk3 - исключить устройство из пула
zpool remove zfspool /disk3 - удаление устройства из пула
zpool add zfspool spare /disk3 - добавление диска горячей замены в пул
zpool remove zfspool spare /disk3 - удаление диска горячей замены из пула
zpool offline zfspool /disk1 - отключить устройство, на него не будет никакой записи и с него чтения, если добавить ключ -t, то после ребута станет онлайн
zpool online zfspool /disk1 - включить disk1
zpool replace zfspool /disk1 /disk3 - заменить disk 1, например в случае неисправности на disk3
zpool upgrade -v - увидеть версию, и фичи текущего ZFS, -a обновит все пулы до новейшей версии
Создание ФС и свойства ФС
zfs create zfspool/data - создать ФС data
zfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
zfs destroy -fr zfspool/backups/old - уничтожит ФС old, ключ -r - рекурсивно, если внутри ещё несколько ФС, -f - форсить
zfs set reservation=1G zfspool/data - зарезервировать 1 Гигабайт, который ФС гарантированно получит, а другие не займут
zfs list -o quota zfspool/backups - выяснить квоту в пуле на ФС backups
zfs set quota=1G zfspool/backups - установить квоту в 1 Гигабайт на ФС backups
zfs list -o compression - проверить включена компрессия или нет
zfs set compression=on zfspool/backups - включить компрессию на ФС backups в пуле zfspool
zfs set sharesmb=on zfspool/backups - расшарить по SMB ФС backups средствами ZFS
zfs set sharenfs=on zfspool/backups - расшарить по NFS ФС backups средствами ZFS
Маунт
zfs mount - отобразить все маунтированные ФС
zfs mount zfspool/backups - маунт ФС backups
zfs umount zfspool/backups - анмаунт ФС backups
zfs mount -a - маунт всех ФС ZFS
zfs umount -a Umount - анмаунт всех ФС ZFS
Снапшоты
zfs list -t snapshot - отобразить все снапшоты
zfs list -o space - сколько занимают места снапшоты и конкретные дети пулов
zfs snapshot zfspool/backups@test - создать снапшот ФС backups с названием test
zfs rollback zfspool/backups@test - вернуться к снапшоту backups с названием test, с ключом -r рекурсивно уничтожит промежуточные снапшоты, с ключом -f форсит анмаунт и ремаунт
zfs destroy zfspool/backups@test - уничтожить снапшот backups с названием test
zfs send zfspool/backups@march2021 > /home/backups/march2021.bak - сделать локальный бекап снапшота march2021
zfs receive zfspool2/backups2 < /home/backups/march2021.bak - Восстановить из локального снапшота ФС на другом пуле
zfs send zfspool/backups@march2021 | zfs receive zfspool2/backups2 - Комбо предыдущих двух
zfs send zfspool/backups@march2021 | ssh COMP02 “zfs receive testpool/testfs” - Отправить снапшот по SSH на хост COMP02
zfs clone zfspool/backups@march2021 /clones/backups - Клонировать существующий снапшот
zfs destroy zfspool/backups@march2021 - Уничтожить клон
👉 @linuxchmod
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
