Linux
3.3K subscribers
370 photos
576 videos
8 files
252 links
Все для системного администратора, новости и информация из мира Linux


По всем вопросам @evgenycarter
Download Telegram
Media is too big
VIEW IN TELEGRAM
Объяснение Traceroute / Демо на Windows, Linux, macOS
Видео на английском

Понимает ли Элон Маск, как работает Интернет? Может ли он правильно объяснить traceroute и tracert? Ну... давайте посмотрим... Я покажу, как несколько операционных систем: Windows 11, MacOS, Linux используют traceroute.

Различия есть, в том числе и в том, что Windows использует ICMP, а macOS и Linux - UDP и ICMP.

0:00 Introduction
0:08 Elon Musk Babylon Bee interview video
1:11 How trace route works
1:40 What is ping?
1:48 Internet Control Message Protocol (ICMP)
2:32 How trace route (tracert) works on Windows
3:50 What is a router?
4:10 Wireshark packet captures
5:21 Time To Live (TTL)
10:18 Domain lookup using Whois
10:55 Time To Live (TTL) (cont'd)
12:10 Trace route phone application
13:43 Submarine cable map
15:22 Traceroute on MacOS
18:34 UDP explanation
19:56 Traceroute on Linux
21:42 Conclusion

источник

👉 @linuxchmod
👍5🔥2🎉1
🛡 Шпаргалка для сисадмина: SSH + Безопасность

🔑 Подключение и передача файлов


# Подключение к серверу
ssh user@host

# Копирование файла
scp file.txt user@host:/path/

# SFTP-сессия
sftp user@host

# Синхронизация директорий
rsync -avz -e ssh /local/path user@host:/remote/path



⚙️ Настройка /etc/ssh/sshd_config


Port 2222 # Меняем порт
PermitRootLogin no # Запрет root-входа
PasswordAuthentication no # Только по ключам
MaxAuthTries 3 # Лимит попыток входа
AllowUsers admin user1 # Белый список пользователей


Перезапуск:


systemctl restart sshd



🔒 Ключи SSH


# Генерация ключа
ssh-keygen -t ed25519 -C "admin@myserver"

# Установка ключа на сервер
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host



🛡 Fail2Ban

Установка и запуск:


apt install fail2ban # Debian/Ubuntu
yum install fail2ban # CentOS/RHEL
systemctl enable --now fail2ban


Конфиг /etc/fail2ban/jail.local:


[sshd]
enabled = true
port = 2222
filter = sshd
maxretry = 3
bantime = 3600



🔥 Firewall

UFW


ufw allow 2222/tcp
ufw enable
ufw status


iptables


iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -j DROP


firewalld


firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload



💡 Советы по безопасности:

1. 🚫 Не пускаем root по SSH
2. 🔑 Только ключи, никаких паролей
3. 📌 Ставим нестандартный порт
4. 🛡 Лимитируем доступ по IP
5. 🚨 Включаем Fail2Ban

👉 @linuxchmod
🔥6👍5🎉1
Работает не трогай 😁

👉 @linuxchmod
😁2🤔2
Вывод cron всех пользователей

Вывод задач в cron для текущего пользователя осуществляется просто:
crontab -l

Список задач другого пользователя (например, oracle) можно посмотреть так:
crontab -u oracle -l

Но иногда требуется посмотреть список задач в cron для всех пользователей, сделать это можно следующей командой:
for user in $(cut -d':' -f1 /etc/passwd); do crontab -u $user -l; done

Если это требуется не единожды, а постоянно, можно написать небольшой скрипт, для этого в файле ~/.bashrc прописываем:
# Цвета вывода
red='\e[0;31m'
RED='\e[1;31m'
green='\e[0;32m'
GREEN='\e[1;32m'
NC='\e[0m'


# Определение функции вывода задач cron всех пользователей
function allcrontab() {
for user in $(cut -d':' -f1 /etc/passwd); do
usercrontab=$(crontab -l -u ${user} 2>/dev/null)
if [ -n "${usercrontab}" ]; then
echo -e "${RED}====== Start crontab for user ${NC}${GREEN}${user}${NC} ${RED}======${NC}"
crontab -l -u ${user} | sed '/ *#/d; /^ *$/d'
echo -e "${RED}====== End crontab for user ${NC}${GREEN}${user}${NC} ${RED}========${NC}\n"
fi
done
}


Выполнив source ~/.bashrc или просто перелогинившись в консоли, можем выполнить команду allcrontab и получить красивый вывод списка задач cron всех пользователей в системе.

👉 @linuxchmod
👍4🔥1
Шпаргалка по SSH-туннелям 💡

• Локальное перенаправление порта (Local port forwarding): доступ к приватным конечным точкам (endpoints), возможно через bastion-хост, как будто это локально открытые порты.
• Удалённое перенаправление порта (Remote port forwarding): публикация локальных портов или адресов в приватной сети наружу через exit-нод.

Оба варианта реализуются с помощью старого доброго SSH 👆

👉 @linuxchmod
👍3🔥1
MikroTik Scripting

Lesson 1 - Development environment
Lesson 2 - Hello World
Lesson 3 (Part 1): Probe 1 - Temperature Checker
Lesson 3 (Part 2): Probe 1 - Temperature Checker
Lesson 04 (Part 1): Probe 2 - Interface Utilization Monitor
Lesson 04 (Part 2): Probe 2 - Interface Utilization Monitor
Lesson 05 (Part 1): Probe 3 - Web Monitor
Lesson 05 (Part 2): Probe 3 - Web Monitor
Lesson 06 (Part 1): Telegram Reporter
Lesson 06 (Part 2): Telegram Reporter
Lesson 06 (Part 3): Telegram Reporter

источник

👉 @linuxchmod
👍3🔥1
Протоколы семейства TCP/IP. Теория и практика

В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур данных, передаваемых по сети, а при рассмотрении сетевого программирования основное внимание уделяют интернет-сокетам.

Но при изучении и исследовании хочется большего, например, поэкспериментировать с пакетами сетевых протоколов. Многие сетевые протоколы реализованы в ядре операционной системы, и что-либо изменить может оказаться сложной задачей, так как это требует навыков в написании драйверов для операционной системы. Но использование специализированных библиотек позволяет работать с протоколами на низком уровне из пространства пользователя.

В ходе работы над статьёй я написал небольшое приложение, которое послужит отправной точкой для понимания компьютерных сетей и семейства протоколов TCP/IP. С приложением можно экспериментировать, получая дополнительные знания.

Приложение — простое и понятное и, надеюсь, упростит изучение материалов статьи. Ведь именно радость первой победы даёт мотивацию, достаточную для того, чтобы потратить гораздо больше времени на изучение темы.

В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось.

Приложение доступно на GitHub.

https://habr.com/ru/companies/ruvds/articles/759988/

👉 @linuxchmod
👍2🔥1