Настройка VLAN с использованием ip и bridge в Linux
VLAN (Virtual Local Area Network) — это способ разделения одной физической сети на несколько логически изолированных сетей.
Это полезно для управления трафиком, повышения безопасности и уменьшения широковещательной нагрузки.
В этом посте мы разберём, как настроить VLAN в Linux с использованием утилит ip и bridge.
Пример задачи
Имеется интерфейс eth0, подключённый к коммутатору, поддерживающему VLAN. Мы хотим настроить две VLAN:
• VLAN 10: с IP-адресом 192.168.10.1/24.
• VLAN 20: с IP-адресом 192.168.20.1/24.
1️⃣ Установка необходимых пакетов
В современных дистрибутивах утилиты ip и bridge уже включены в состав пакета iproute2.
Проверьте, что он установлен:
2️⃣ Настройка VLAN
Создайте VLAN-интерфейсы
С помощью команды ip link создадим виртуальные интерфейсы для VLAN 10 и VLAN 20:
Назначьте IP-адреса VLAN-интерфейсам
Включите интерфейсы
3️⃣ Проверка конфигурации
Проверьте, что интерфейсы созданы и включены:
Вы должны увидеть интерфейсы eth0.10 и eth0.20, связанные с eth0.
4️⃣ (Опционально) Настройка VLAN-мостов
Если требуется подключить несколько VLAN к мосту (например, для виртуализации):
Создайте мост:
Добавьте VLAN к мосту:
Назначьте IP-адрес мосту:
5️⃣ Удаление VLAN
Чтобы удалить VLAN-интерфейс:
Теперь ваш сервер поддерживает две изолированные VLAN. Это полезно для разделения трафика между службами или пользователями.
И используйте конфигурационные файлы (например, в /etc/netplan или /etc/sysconfig/network-scripts), чтобы сделать настройки постоянными после перезагрузки.
VLAN (Virtual Local Area Network) — это способ разделения одной физической сети на несколько логически изолированных сетей.
Это полезно для управления трафиком, повышения безопасности и уменьшения широковещательной нагрузки.
В этом посте мы разберём, как настроить VLAN в Linux с использованием утилит ip и bridge.
Пример задачи
Имеется интерфейс eth0, подключённый к коммутатору, поддерживающему VLAN. Мы хотим настроить две VLAN:
• VLAN 10: с IP-адресом 192.168.10.1/24.
• VLAN 20: с IP-адресом 192.168.20.1/24.
В современных дистрибутивах утилиты ip и bridge уже включены в состав пакета iproute2.
Проверьте, что он установлен:
sudo apt install iproute2 # Для Debian/Ubuntu
sudo yum install iproute # Для CentOS/RHEL
Создайте VLAN-интерфейсы
С помощью команды ip link создадим виртуальные интерфейсы для VLAN 10 и VLAN 20:
sudo ip link add link eth0 name eth0.10 type vlan id 10
sudo ip link add link eth0 name eth0.20 type vlan id 20
Назначьте IP-адреса VLAN-интерфейсам
sudo ip addr add 192.168.10.1/24 dev eth0.10
sudo ip addr add 192.168.20.1/24 dev eth0.20
Включите интерфейсы
sudo ip link set eth0.10 up
sudo ip link set eth0.20 up
Проверьте, что интерфейсы созданы и включены:
ip -d link show
Вы должны увидеть интерфейсы eth0.10 и eth0.20, связанные с eth0.
Если требуется подключить несколько VLAN к мосту (например, для виртуализации):
Создайте мост:
sudo ip link add name br-vlan type bridge
Добавьте VLAN к мосту:
sudo ip link set eth0.10 master br-vlan
sudo ip link set eth0.20 master br-vlan
Назначьте IP-адрес мосту:
sudo ip addr add 192.168.30.1/24 dev br-vlan
sudo ip link set br-vlan up
Чтобы удалить VLAN-интерфейс:
sudo ip link delete eth0.10
sudo ip link delete eth0.20
Теперь ваш сервер поддерживает две изолированные VLAN. Это полезно для разделения трафика между службами или пользователями.
И используйте конфигурационные файлы (например, в /etc/netplan или /etc/sysconfig/network-scripts), чтобы сделать настройки постоянными после перезагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍10❤1
Какой механизм SELinux отвечает за проверку доступа процессов к ресурсам системы?
Anonymous Quiz
37%
Мандатное управление доступом (MAC)
23%
Дискреционное управление доступом (DAC)
28%
Ролевая модель доступа (RBAC)
12%
Контроль целостности (IMA)
👍5❤1
Что такое SR-IOV и зачем это нужно
SR-IOV (Single Root Input/Output Virtualization) — технология аппаратной виртуализации ввода-вывода, позволяющая нескольким виртуальным машинам напрямую использовать одну физическую сетевую карту.
⏺ PF (Physical Function): основной интерфейс для управления устройством. Он отвечает за настройку SR-IOV.
⏺ VF (Virtual Function): выделенные виртуальные интерфейсы, которые подключаются к виртуальным машинам, обеспечивая минимальные задержки и высокую скорость.
Зачем использовать SR-IOV?
1️⃣ Разгрузка гипервизора: виртуальные машины работают с сетью напрямую, снижая нагрузку на центральный процессор.
2️⃣ Оптимизация ресурсов: обеспечивает баланс между производительностью и количеством виртуальных машин.
3️⃣ Повышение безопасности: изоляция VF снижает риск вмешательства одной ВМ в работу другой.
Пример использования
В среде виртуализации с высокой сетевой нагрузкой (например, для финансовых транзакций) SR-IOV позволяет:
• Включить поддержку SR-IOV на физической сетевой карте через настройки гипервизора.
• Выделить несколько VF для виртуальных машин.
• Настроить PF для управления и мониторинга.
SR-IOV (Single Root Input/Output Virtualization) — технология аппаратной виртуализации ввода-вывода, позволяющая нескольким виртуальным машинам напрямую использовать одну физическую сетевую карту.
Это достигается за счёт разделения сетевой карты на физическую функцию (PF) и виртуальные функции (VF).
Зачем использовать SR-IOV?
Пример использования
В среде виртуализации с высокой сетевой нагрузкой (например, для финансовых транзакций) SR-IOV позволяет:
• Включить поддержку SR-IOV на физической сетевой карте через настройки гипервизора.
• Выделить несколько VF для виртуальных машин.
• Настроить PF для управления и мониторинга.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2⚡1
Мониторинг сети с помощью sFlow
sFlow — это протокол мониторинга сети, который позволяет администраторам получать выборочные данные о трафике в реальном времени.
Его основное преимущество — минимальная нагрузка на устройство благодаря выборочному сбору данных.
Как работает sFlow
• Агент sFlow: встроен в сетевое устройство и собирает выборки пакетов.
• Коллектор: сервер, принимающий выборки и анализирующий данные.
• Выборки: небольшие фрагменты трафика передаются на коллектор для анализа.
Настройка sFlow на коммутаторе
1️⃣ Включение агента sFlow
На устройствах Cisco:
На устройствах HPE/Aruba:
2️⃣ Настройка параметров
Cisco: Установите IP-адрес агента (IP устройства):
Укажите частоту выборок:
Настройте интервал опроса счётчиков:
Укажите IP и порт коллектора:
3️⃣ Проверка и мониторинг
Проверьте текущую конфигурацию:
На HPE:
Убедитесь, что данные отправляются на коллектор. Для анализа можно использовать инструменты, такие как sFlowTrend или ntopng.
sFlow — это протокол мониторинга сети, который позволяет администраторам получать выборочные данные о трафике в реальном времени.
Его основное преимущество — минимальная нагрузка на устройство благодаря выборочному сбору данных.
Как работает sFlow
• Агент sFlow: встроен в сетевое устройство и собирает выборки пакетов.
• Коллектор: сервер, принимающий выборки и анализирующий данные.
• Выборки: небольшие фрагменты трафика передаются на коллектор для анализа.
Настройка sFlow на коммутаторе
На устройствах Cisco:
sflow enable
На устройствах HPE/Aruba:
sflow 1 sampling 1000
sflow 1 destination 192.168.1.2 6343
Cisco: Установите IP-адрес агента (IP устройства):
sflow agent-ip 192.168.1.1
Укажите частоту выборок:
sflow sampling-rate 1000
Настройте интервал опроса счётчиков:
sflow polling-interval 30
Укажите IP и порт коллектора:
sflow collector-ip 192.168.1.2 6343
Проверьте текущую конфигурацию:
show sflow
На HPE:
show sflow agent
Убедитесь, что данные отправляются на коллектор. Для анализа можно использовать инструменты, такие как sFlowTrend или ntopng.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Реплики и согласованность в распределённых системах
Репликация — это процесс создания копий данных между узлами в распределённой системе для повышения отказоустойчивости, масштабируемости и доступности.
Модели репликации
1. Синхронная репликация
⏺ Данные подтверждаются только после записи на все узлы.
⏺ Плюсы: строгая консистентность.
⏺ Минусы: высокая задержка, проблемы с доступностью при сбоях.
⏺ Пример: финансовые системы, где важна точность данных.
2. Асинхронная репликация
⏺ Данные записываются на один узел, а потом синхронизируются с остальными.
⏺ Плюсы: высокая доступность, быстрая обработка запросов.
⏺ Минусы: возможны временные несоответствия данных.
⏺ Пример: географически распределённые системы, CDN.
Настройка репликации в MongoDB
1️⃣ Создайте репликационный набор:
2️⃣ Проверьте статус репликации:
Настройка консистентности в Kafka
1️⃣ Установите минимальное количество реплик, которые должны подтвердить запись:
2️⃣ Гарантируйте консистентность для записи:
Репликация — это процесс создания копий данных между узлами в распределённой системе для повышения отказоустойчивости, масштабируемости и доступности.
Системные администраторы часто сталкиваются с задачами настройки и управления репликами, особенно в масштабируемых системах, таких как Cassandra, Kafka или Redis.
Модели репликации
1. Синхронная репликация
2. Асинхронная репликация
Настройка репликации в MongoDB
rs.initiate(
{
_id: "myReplicaSet",
members: [
{ _id: 0, host: "node1:27017" },
{ _id: 1, host: "node2:27017" },
{ _id: 2, host: "node3:27017" }
]
}
)
rs.status()
Настройка консистентности в Kafka
min.insync.replicas=2
acks=all
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
• A: Соединяет домен с IPv4-адресом.
• AAAA: Соединяет домен с IPv6-адресом.
• CNAME: Создает псевдоним для домена.
• MX: Указывает почтовый сервер.
• NS: Указывает серверы, управляющие доменом.
• TXT: Хранит текстовую информацию, например, для проверки подлинности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤2
Какой инструмент используется для поиска утечек памяти в программе на Linux?
Anonymous Quiz
36%
strace
14%
valgrind
13%
gdb
38%
top
👍10
Команда ionice — Управление приоритетами ввода-вывода
Команда ionice позволяет управлять приоритетом операций ввода-вывода (I/O) для процессов в Linux.
Это полезно для оптимизации использования дисковых ресурсов, особенно на серверах с высокой нагрузкой, где конкурируют множество процессов.
Зачем использовать ionice?
1️⃣ Устранение конфликтов:
Вы можете снизить влияние ресурсоемких процессов на более важные задачи.
2️⃣ Оптимизация производительности:
Используется для повышения скорости критически важных операций, таких как базы данных или резервное копирование.
3️⃣ Контроль ресурсов:
Администратор может задать точные правила, определяя, какой процесс и с каким приоритетом будет работать с диском.
Основные классы приоритетов
ionice работает с тремя классами:
• Idle (Класс 3):
Процесс выполняет операции ввода-вывода только тогда, когда диск не занят другими задачами.
• Best-effort (Класс 2, значение по умолчанию):
I/O операции выполняются с указанным приоритетом (от 0 — самый высокий, до 7 — самый низкий).
• Realtime (Класс 1):
Процесс получает доступ к диску немедленно, игнорируя другие задачи. Использовать с осторожностью!
Примеры использования
1️⃣ Установить минимальный приоритет для резервного копирования:
Если вы запускаете резервное копирование с помощью rsync и не хотите, чтобы оно замедляло сервер:
2️⃣ Проверить текущий приоритет процесса:
Для процесса с PID 1234:
Вывод покажет текущий класс и приоритет процесса.
3️⃣ Установить высокий приоритет для базы данных: Если нужно ускорить работу MySQL:
4️⃣ Запуск ресурсоемкого скрипта с низким приоритетом:
Для минимизации влияния скрипта на другие задачи:
Команда ionice позволяет управлять приоритетом операций ввода-вывода (I/O) для процессов в Linux.
Это полезно для оптимизации использования дисковых ресурсов, особенно на серверах с высокой нагрузкой, где конкурируют множество процессов.
Зачем использовать ionice?
Вы можете снизить влияние ресурсоемких процессов на более важные задачи.
Используется для повышения скорости критически важных операций, таких как базы данных или резервное копирование.
Администратор может задать точные правила, определяя, какой процесс и с каким приоритетом будет работать с диском.
Основные классы приоритетов
ionice работает с тремя классами:
• Idle (Класс 3):
Процесс выполняет операции ввода-вывода только тогда, когда диск не занят другими задачами.
• Best-effort (Класс 2, значение по умолчанию):
I/O операции выполняются с указанным приоритетом (от 0 — самый высокий, до 7 — самый низкий).
• Realtime (Класс 1):
Процесс получает доступ к диску немедленно, игнорируя другие задачи. Использовать с осторожностью!
Примеры использования
Если вы запускаете резервное копирование с помощью rsync и не хотите, чтобы оно замедляло сервер:
ionice -c3 rsync -a /source /destination
Для процесса с PID 1234:
ionice -p 1234
Вывод покажет текущий класс и приоритет процесса.
ionice -c1 -p $(pgrep mysqld)
Для минимизации влияния скрипта на другие задачи:
ionice -c2 -n7 ./heavy_script.sh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
Microsoft создаёт AI Shell для командной строки Windows 11
Microsoft завершила тестирование новой интерактивной оболочки AI Shell, которая интегрирует возможности искусственного интеллекта непосредственно в Windows PowerShell.
Пример использования AI Shell: запрос о отображении списка файлов на компьютере больше 200 МБ, который после нескольких уточнений ИИ преобразовал в подходящую команду.
AI Shell также обладает функцией генерации кода.
Тесты показали, что ИИ может создавать простые программы, такие как калькулятор на Python, что упрощает разработку и автоматизирует рутинные задачи. Сгенерированный код в тестах работал корректно.
Однако пользователи могут добавлять и другие инструменты, что открывает возможности для выбора наиболее подходящей модели для конкретных задач.
Microsoft завершила тестирование новой интерактивной оболочки AI Shell, которая интегрирует возможности искусственного интеллекта непосредственно в Windows PowerShell.
Этот инструмент позволяет пользователям формулировать запросы на естественном языке, а ИИ преобразует их в соответствующие команды.
Пример использования AI Shell: запрос о отображении списка файлов на компьютере больше 200 МБ, который после нескольких уточнений ИИ преобразовал в подходящую команду.
AI Shell также обладает функцией генерации кода.
Тесты показали, что ИИ может создавать простые программы, такие как калькулятор на Python, что упрощает разработку и автоматизирует рутинные задачи. Сгенерированный код в тестах работал корректно.
На данный момент оболочка поддерживает два ИИ-инструмента: Azure OpenAI и Copilot.
Однако пользователи могут добавлять и другие инструменты, что открывает возможности для выбора наиболее подходящей модели для конкретных задач.
👍12
Apache Maven – установка и настройка
Apache Maven - это инструмент управления проектами и автоматизации сборки с открытым исходным кодом, основанный на концепции объектной модели проекта (POM – Project Object Model), которая в основном используется для развертывания приложений на основе Java, но также может использоваться в проектах, написанных на C#, Ruby и другиех языках программирования.
В посте мы объясним, как установить и настроить последнюю версию Apache Maven в системе CentOS 7 (данная инструкция также работает с дистрибутивом RHEL и Fedora).
Установка OpenJDK 8 в CentOS 7
Java Development Kit (JDK) является основным требованием для установки Apache Maven, поэтому сначала установите Java в системе CentOS 7 из репозитория по умолчанию и проверьте версию с помощью следующих команд.
Установка Apache Maven в CentOS 7
Далее перейдите на оф страницу загрузки Apache Maven и загрузите последнюю версию или используйте следующую команду wget, чтобы загрузить ее в домашний каталог maven ‘/usr/local/src’.
Настройка среды Apache Maven
Теперь нам нужно сконфигурировать переменные окружения для предварительно скомпилированных файлов Apache Maven в нашей системе, создав файл конфигурации «maven.sh» в каталоге «/etc/profile.d» .
Проверка версии Apache Maven
Чтобы проверить установку Apache Maven, выполните следующую команду.
Apache Maven - это инструмент управления проектами и автоматизации сборки с открытым исходным кодом, основанный на концепции объектной модели проекта (POM – Project Object Model), которая в основном используется для развертывания приложений на основе Java, но также может использоваться в проектах, написанных на C#, Ruby и другиех языках программирования.
В посте мы объясним, как установить и настроить последнюю версию Apache Maven в системе CentOS 7 (данная инструкция также работает с дистрибутивом RHEL и Fedora).
Установка OpenJDK 8 в CentOS 7
Java Development Kit (JDK) является основным требованием для установки Apache Maven, поэтому сначала установите Java в системе CentOS 7 из репозитория по умолчанию и проверьте версию с помощью следующих команд.
# yum install -y java-1.8.0-openjdk-devel
# java -version
Если установка прошла успешно то, вы увидите следующий вывод.openjdk version "1.8.0_141"
OpenJDK Runtime Environment (build 1.8.0_141-b16)
OpenJDK 64-Bit Server VM (build 25.141-b16, mixed mode)
Установка Apache Maven в CentOS 7
Далее перейдите на оф страницу загрузки Apache Maven и загрузите последнюю версию или используйте следующую команду wget, чтобы загрузить ее в домашний каталог maven ‘/usr/local/src’.
# cd /usr/local/src
# wget https://www-us.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
Настройка среды Apache Maven
Теперь нам нужно сконфигурировать переменные окружения для предварительно скомпилированных файлов Apache Maven в нашей системе, создав файл конфигурации «maven.sh» в каталоге «/etc/profile.d» .
# cd /etc/profile.d/
# vim maven.sh
Добавьте следующую конфигурацию в файл конфигурации «maven.sh».# Apache Maven Environment Variables
# MAVEN_HOME for Maven 1 - M2_HOME for Maven 2
export M2_HOME=/usr/local/src/apache-maven
export PATH=${M2_HOME}/bin:${PATH}
Теперь сделайте конфигурационный файл «maven.sh» исполняемым, а затем загрузите конфигурацию, выполнив команду «source» .# chmod +x maven.sh
# source /etc/profile.d/maven.sh
Проверка версии Apache Maven
Чтобы проверить установку Apache Maven, выполните следующую команду.
# mvn --version
И вы должны получить вывод, похожий на следующий:Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T19:33:14+01:00)
Maven home: /usr/local/src/apache-maven
Java version: 9.0.4, vendor: Oracle Corporation, runtime: /opt/java/jdk-9.0.4
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.17.6-1.el7.elrepo.x86_64", arch: "amd64", family: "unix"
👍11❤1
С наступающим Новым годом! 🥳
Три полезные команды для администрирования файловой системы
1️⃣ inotifywait — мониторинг изменений в реальном времени
inotifywait отслеживает изменения в каталогах или файлах. Это полезно для мониторинга активности, например, в логах или критичных конфигурациях.
Отображает события в реальном времени (добавление, изменение, удаление файлов). Полезно при поиске причин непредвиденных изменений в системе или отслеживании активности пользователя.
2️⃣ setfacl — настройка расширенных прав доступа
Команда setfacl позволяет задавать права доступа для отдельных пользователей или групп, не ограничиваясь стандартными атрибутами chmod.
Назначает права доступа конкретному пользователю без изменения групповых настроек и удобно для разделения доступа к файлам между командами или проектами.
3️⃣ rename — массовое переименование файлов
Команда rename переименовывает файлы, используя регулярные выражения. Это полезно, если нужно быстро изменить множество имен файлов.
Заменяет текст в именах файлов (в данном случае old на new) и идеально подходит для массовой обработки файлов, таких как логические архивы или бэкапы.
Три полезные команды для администрирования файловой системы
inotifywait отслеживает изменения в каталогах или файлах. Это полезно для мониторинга активности, например, в логах или критичных конфигурациях.
inotifywait -m /var/log/
Отображает события в реальном времени (добавление, изменение, удаление файлов). Полезно при поиске причин непредвиденных изменений в системе или отслеживании активности пользователя.
Команда setfacl позволяет задавать права доступа для отдельных пользователей или групп, не ограничиваясь стандартными атрибутами chmod.
setfacl -m u:username:rw /path/to/file
Назначает права доступа конкретному пользователю без изменения групповых настроек и удобно для разделения доступа к файлам между командами или проектами.
Команда rename переименовывает файлы, используя регулярные выражения. Это полезно, если нужно быстро изменить множество имен файлов.
rename 's/old/new/' *.txt
Заменяет текст в именах файлов (в данном случае old на new) и идеально подходит для массовой обработки файлов, таких как логические архивы или бэкапы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2
Nvidia откроет исходный код Run:ai
Nvidia завершила сделку по приобретению израильской компании Run:ai, которая разрабатывает программное обеспечение для технологий искусственного интеллекта.
Run:ai помогает корпоративным клиентам оптимизировать вычислительную нагрузку и управлять кластерами GPU на уровне дата-центров.
Основатели стартапа Омри Геллер и Ронен Дар заявили, что открытие исходного кода ускорит развитие экосистемы ИИ.
Хотя Run:ai изначально поддерживает только GPU от Nvidia, открытие кода позволит сделать платформу доступной для более широкой аудитории.
🔥 Эта инициатива Nvidia станет важным шагом для развития сообщества open source, расширяя возможности использования искусственного интеллекта на глобальном уровне.
Nvidia завершила сделку по приобретению израильской компании Run:ai, которая разрабатывает программное обеспечение для технологий искусственного интеллекта.
Теперь Nvidia планирует открыть исходный код платформы стартапа.
Run:ai помогает корпоративным клиентам оптимизировать вычислительную нагрузку и управлять кластерами GPU на уровне дата-центров.
Основатели стартапа Омри Геллер и Ронен Дар заявили, что открытие исходного кода ускорит развитие экосистемы ИИ.
Хотя Run:ai изначально поддерживает только GPU от Nvidia, открытие кода позволит сделать платформу доступной для более широкой аудитории.
Nvidia и Run:ai сотрудничают с 2020 года, и это партнёрство уже доказало свою эффективность, особенно для крупных корпоративных клиентов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3
Основы команды SCP в Linux – безопасное копирование файлов
SCP (Secure Copy) — это команда для безопасного копирования файлов между системами Linux или Unix через зашифрованное соединение SSH. Благодаря этому данные остаются защищёнными даже при попытках перехвата.
Примеры использования SCP
1️⃣ Копирование файлов с локального на удалённый сервер
Чтобы скопировать файл test.txt в каталог /location2 на удалённом сервере:
2️⃣ Копирование всех файлов определённого типа
Для передачи всех файлов .txt из домашнего каталога в удалённую систему:
3️⃣ Переименование файлов во время копирования
Чтобы скопировать файл test.txt и сохранить его на удалённой системе под новым именем:
4️⃣ Использование нестандартного порта
Если сервер SSH настроен на порт 1234:
Советы по использованию SCP
⏺ Будьте осторожны с перезаписью файлов: SCP автоматически перезаписывает файлы с одинаковым именем в каталоге назначения.
⏺ Контроль разрешений: Убедитесь, что у вас есть права на чтение/запись в исходной и целевой системах.
Для стабильной передачи больших файлов используйте SCP в сочетании с терминальным мультиплексором, например, tmux, чтобы избежать потери прогресса при разрыве соединения.
SCP (Secure Copy) — это команда для безопасного копирования файлов между системами Linux или Unix через зашифрованное соединение SSH. Благодаря этому данные остаются защищёнными даже при попытках перехвата.
Примеры использования SCP
Чтобы скопировать файл test.txt в каталог /location2 на удалённом сервере:
scp test.txt username@destination:/location2
Для передачи всех файлов .txt из домашнего каталога в удалённую систему:
scp ~/files/*.txt username@destination:/location/
Чтобы скопировать файл test.txt и сохранить его на удалённой системе под новым именем:
scp test.txt username@destination:/location/renamed_file.txt
Если сервер SSH настроен на порт 1234:
scp -P 1234 test.txt username@destination:/location2/
Советы по использованию SCP
Для стабильной передачи больших файлов используйте SCP в сочетании с терминальным мультиплексором, например, tmux, чтобы избежать потери прогресса при разрыве соединения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Принцип работы:
• Сначала новая версия развертывается на ограниченной группе пользователей.
• Мониторинг производительности и ошибок помогает определить, стоит ли расширять развертывание на всю инфраструктуру.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Три полезные команды для работы с SSH в Linux
SSH — не только инструмент для удалённого доступа, но и основа множества полезных команд, которые значительно упрощают работу администратора.
1️⃣ ssh-copy-id — Быстрая настройка ключей SSH
Чтобы не вводить пароль каждый раз при подключении к удалённому серверу, можно использовать SSH-ключи. Команда ssh-copy-id автоматизирует процесс их передачи.
Пример использования:
После выполнения этой команды ваш публичный SSH-ключ будет добавлен в файл ~/.ssh/authorized_keys на удалённом сервере. Теперь вы можете подключаться без ввода пароля.
Почему полезно:
• Ускоряет настройку серверов.
• Устраняет необходимость в ручной передаче ключей.
2️⃣ sshfs — Монтирование удалённой файловой системы
С помощью sshfs можно монтировать удалённый сервер в локальную файловую систему. Это позволяет работать с файлами так, как будто они находятся на вашем компьютере.
Установка:
Пример монтирования:
Чтобы размонтировать файловую систему:
Почему полезно:
• Удобно для работы с файлами на сервере без использования SCP или SFTP.
• Подходит для редактирования конфигураций напрямую.
3️⃣ autossh — Перезапуск соединения при обрывах
При работе с нестабильными соединениями команда autossh автоматически восстанавливает разрывы. Это особенно полезно для туннелирования или долгосрочных подключений.
Установка:
Пример использования:
Эта команда создаёт туннель через порт 8080 и поддерживает его активным.
Почему полезно:
• Устраняет необходимость ручного восстановления соединения.
• Надёжно работает даже в условиях плохой сети.
SSH — не только инструмент для удалённого доступа, но и основа множества полезных команд, которые значительно упрощают работу администратора.
Разберём три менее популярные, но крайне удобные команды для управления через SSH.
Чтобы не вводить пароль каждый раз при подключении к удалённому серверу, можно использовать SSH-ключи. Команда ssh-copy-id автоматизирует процесс их передачи.
Пример использования:
ssh-copy-id username@remote_host
После выполнения этой команды ваш публичный SSH-ключ будет добавлен в файл ~/.ssh/authorized_keys на удалённом сервере. Теперь вы можете подключаться без ввода пароля.
Почему полезно:
• Ускоряет настройку серверов.
• Устраняет необходимость в ручной передаче ключей.
С помощью sshfs можно монтировать удалённый сервер в локальную файловую систему. Это позволяет работать с файлами так, как будто они находятся на вашем компьютере.
Установка:
sudo apt install sshfs # Для Debian/Ubuntu
sudo yum install sshfs # Для CentOS/RHEL
Пример монтирования:
sshfs username@remote_host:/remote/directory /local/mountpoint
Чтобы размонтировать файловую систему:
fusermount -u /local/mountpoint
Почему полезно:
• Удобно для работы с файлами на сервере без использования SCP или SFTP.
• Подходит для редактирования конфигураций напрямую.
При работе с нестабильными соединениями команда autossh автоматически восстанавливает разрывы. Это особенно полезно для туннелирования или долгосрочных подключений.
Установка:
sudo apt install autossh # Debian/Ubuntu
sudo yum install autossh # CentOS/RHEL
Пример использования:
autossh -M 0 -f -N -L 8080:remote_host:80 username@remote_host
Эта команда создаёт туннель через порт 8080 и поддерживает его активным.
Почему полезно:
• Устраняет необходимость ручного восстановления соединения.
• Надёжно работает даже в условиях плохой сети.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥5❤4
Какой параметр в конфигурации sshd_config определяет максимальное количество попыток аутентификации для SSH?
Anonymous Quiz
33%
MaxAuthTries
46%
MaxLoginAttempts
14%
AuthMaxTries
7%
MaxTries
👍5❤1🔥1
Команда at — Запуск задач по расписанию в Linux
at — это команда для одноразового планирования задач. В отличие от cron, который работает с повторяющимися заданиями, at позволяет запустить задачу в точно указанное время.
Основные примеры использования
1️⃣ Запуск задачи через определённое время
Чтобы запланировать выполнение команды через 10 минут:
После этого система обновит список пакетов через 10 минут.
2️⃣ Запуск задачи в конкретное время
Например, чтобы запустить скрипт в 18:30:
Скрипт выполнится ровно в указанное время.
3️⃣ Просмотр запланированных задач
Чтобы увидеть список всех задач, выполните:
Команда покажет ID задач и время их выполнения.
4️⃣ Удаление запланированной задачи
Для отмены задачи используйте её ID, который показывает atq:
Почему at полезна?
• Удобно для одноразовых задач, например, перезагрузки сервера ночью.
• Не требует настройки сложных расписаний, как в cron.
• Легко управлять через команды atq и atrm.
Пример реального применения
Системный администратор может использовать at для автоматического перезапуска службы после ночных обновлений:
Задача выполнится без необходимости присутствия администратора.
at — это команда для одноразового планирования задач. В отличие от cron, который работает с повторяющимися заданиями, at позволяет запустить задачу в точно указанное время.
Основные примеры использования
Чтобы запланировать выполнение команды через 10 минут:
echo "sudo apt update" | at now + 10 minutes
После этого система обновит список пакетов через 10 минут.
Например, чтобы запустить скрипт в 18:30:
echo "/path/to/script.sh" | at 18:30
Скрипт выполнится ровно в указанное время.
Чтобы увидеть список всех задач, выполните:
atq
Команда покажет ID задач и время их выполнения.
Для отмены задачи используйте её ID, который показывает atq:
atrm <task_id>
Почему at полезна?
• Удобно для одноразовых задач, например, перезагрузки сервера ночью.
• Не требует настройки сложных расписаний, как в cron.
• Легко управлять через команды atq и atrm.
Пример реального применения
Системный администратор может использовать at для автоматического перезапуска службы после ночных обновлений:
echo "systemctl restart nginx" | at 02:00
Задача выполнится без необходимости присутствия администратора.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤4