12610
Обучающий канал по сетевому и системному администрированию. Сотрудничество: @dad_admin Биржа: https://telega.in/c/networkadm РКН: https://bit.ly/4ioc61C
ICMP redirects и безопасность: что они делают и почему их стоит отключить
ICMP Redirect — это механизм, при котором маршрутизатор может сообщить хосту, что есть более короткий маршрут до назначения через другой шлюз.
Казалось бы — удобно. Но на практике чаще всего это:
# Отключить приём и отправку redirect'ов:
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.default.accept_redirects=0
sysctl -w net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
Прозрачный прокси без редиректов: как работает TPROXY и policy routing
Когда хочется завернуть весь трафик через локальный прокси — но без изменения приложений и без NAT’а, обычный iptables REDIRECT не подходит: он меняет адрес назначения, и приложение (например, mitmproxy, squid) теряет оригинальный IP и порт.
Для полноценной прозрачной проксизации с сохранением IP-адресов нужна связка:
• iptables mangle + TPROXY
• ip rule + policy routing
• SO_MARK и SO_BINDTODEVICE — чтобы приложение могло принимать такой трафик
Зачем вообще TPROXY
Классические REDIRECT’ы:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t mangle -A PREROUTING -p tcp --dport 80 \
-j TPROXY --on-port 8080 --tproxy-mark 1
sysctl -w net.ipv4.ip_forward=1
echo "100 tproxy" >> /etc/iproute2/rt_tables
ip route add local 0.0.0.0/0 dev lo table tproxy
ip rule add fwmark 1 lookup tproxy
iptables -t mangle -N DIVERT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp --dport 80 \
-j TPROXY --on-port 8080 --tproxy-mark 1
setcap cap_net_bind_service,cap_net_admin=eip $(which mitmproxy)
[Service]
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
SLAAC + RDNSS — автоматическая настройка IPv6 и DNS без DHCP
IPv6 позволяет полностью обойтись без DHCP-сервера — благодаря механизму SLAAC (Stateless Address Autoconfiguration).
Роутер рассылает объявления (Router Advertisement, RA) с сетевым префиксом, а устройства сами на его основе формируют свои IPv6-адреса.
Она позволяет в том же RA указать адреса DNS-серверов, которые клиенты будут использовать для разрешения имён.
Ethernet OAM: Инструменты управления сетью
Что такое Ethernet OAM?
Ethernet Operations, Administration, and Maintenance (OAM) — это набор механизмов, позволяющих отслеживать состояние сети, управлять соединениями и устранять неисправности. Ethernet OAM используется провайдерами и корпоративными сетями для обеспечения стабильности и высокого качества связи.
Типы OAM в Ethernet-сетях
1️⃣Link OAM (IEEE 802.3ah):
• Отслеживает состояние физического канала связи между двумя устройствами.
• Помогает обнаруживать разрывы, деградацию линка и другие аппаратные проблемы.
2️⃣ Service OAM (IEEE 802.1ag, ITU-T Y.1731):
• Управляет соединениями на уровне сервисов.
• Обеспечивает мониторинг целостности, производительности и диагностику проблем на уровне сети.
Функции Ethernet OAM
⏺Loopback: Удаленный узел отправляет ответ на тестовые пакеты, позволяя проверить доступность соединения.
⏺Continuity Check Messages (CCM): Периодические пакеты, проверяющие целостность связи между двумя точками.
⏺Performance Monitoring: Измеряет параметры качества сервиса (например, задержку, потерю пакетов, вариацию задержки).
⏺Fault Management: Выявляет и сигнализирует об ошибках в сети.
⏺Link Monitoring: Проверяет физическое состояние соединений (например, уровень сигнала или ошибки в кадрах).
Использование Service OAM
Допустим, клиент провайдера жалуется на низкую скорость соединения. С помощью OAM:
• Провайдер запускает тесты CCM, чтобы проверить доступность сети.
• Использует Delay Measurement для проверки задержки между узлами.
• Анализирует отчеты о потерях пакетов для выявления проблемных участков.
Результат: быстрое устранение проблемы с минимальным воздействием на других пользователей.
N.A. ℹ️ Help
Группы номеров портов
Разработка стандартов адресации, включая нумерацию портов, осуществляется Администрацией адресного пространства Интернета (IANA).
Порты идентифицируются 16-битными числами, что дает диапазон от 0 до 65535. IANA разделила эти порты на три группы:
1️⃣ Общеизвестные порты (0–1023):
Эти порты зарезервированы для популярных служб и приложений, таких как веб-браузеры и почтовые клиенты. Они позволяют клиентам легко идентифицировать требуемые сервисы.
2️⃣ Зарегистрированные порты (1024–49151):
Эти номера присваиваются IANA для конкретных приложений или процессов. Например, порт 1812 зарегистрирован за Cisco для использования с RADIUS-сервером.
3️⃣ Частные и динамические порты (49152–65535):
Также известные как временные порты, они назначаются клиентской ОС динамически при инициировании подключения к сервису. Эти порты используются для идентификации клиентского приложения во время обмена данными.
Общеизвестные порты и их приложения
• 20 TCP: Протокол передачи файлов (FTP) - Передача данных
• 21 TCP: Протокол передачи файлов (FTP) - Управление передачей
• 22 TCP: Secure Shell (SSH)
• 23 TCP: Telnet
• 25 TCP: Простой протокол передачи почты (SMTP)
• 53 UDP, TCP: Служба доменных имен (DNS)
• 67 UDP: Dynamic Host Configuration Protocol (DHCP) - Сервер
• 68 UDP: DHCP - Клиент
• 69 UDP: Простейший протокол передачи файлов (TFTP)
• 80 TCP: Протокол передачи гипертекста (HTTP)
• 110 TCP: Протокол почтового отделения (POP3)
• 143 TCP: Протокол доступа к сообщениям Интернета (IMAP)
• 161 UDP: Простой протокол управления сетью (SNMP)
• 443 TCP: Защищенный протокол передачи гипертекста (HTTPS)
⚡️Некоторые приложения используют как TCP, так и UDP, например, DNS. Для полного списка номеров портов и их приложений можно обратиться на веб-сайт IANA.
N.A. ℹ️ Help
Скрытая маршрутизация через lo: зачем отправлять трафик в себя
Интерфейс lo (loopback) — это не только 127.0.0.1 и localhost.
ip route add 10.10.10.10 dev lo
10.10.10.10 пойдёт в loopback. Если вы запустите сервер, слушающий этот IP, он будет получать такие пакеты:ip addr add 10.10.10.10/32 dev lo
nc -l 10.10.10.10 1234
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 \
-j DNAT --to-destination 10.10.10.10:1234
ip route add 198.51.100.0/24 dev lo
iptables -A INPUT -d 198.51.100.0/24 -j LOG --log-prefix "lo-drop: "
iptables -A INPUT -d 198.51.100.0/24 -j DROP
ip route add 172.16.99.99 dev lo
iptables -A INPUT -d 172.16.99.99 -j NFQUEUE --queue-num 0
TTL как инструмент контроля: зачем ограничивать зону действия пакета
TTL (Time To Live) и его аналог в IPv6 — Hop Limit — это не просто счётчик “до рутера и обратно”. В правильных руках это способ управлять маршрутом, делать L3-фильтрацию и ограничивать область видимости трафика.
TTL уменьшается на каждом маршрутизаторе. Когда TTL достигает 0, пакет отбрасывается. Это можно использовать:
⏺чтобы не дать пакету уйти за пределы локальной сети
⏺чтобы ограничить жизненный цикл служебного трафика (например, в overlay-сетях или тестах)
⏺чтобы ловить loop’ы маршрутизации
Пример 1: TTL = 1, чтобы оставить пакет внутри одного хоста или сети
ping -t 1 192.168.1.10 # Windows
ping -m 1 192.168.1.10 # Linux/macOS
iptables -t mangle -A POSTROUTING -o eth0 -j TTL --ttl-set 1
ip6tables -t mangle -A POSTROUTING -o eth0 -j HL --hl-set 1
iptables -A INPUT -i eth0 -m ttl ! --ttl-eq 64 -j DROP
ffmpeg -re -i video.mp4 -f mpegts "udp://239.0.0.1:1234?ttl=2"
Маршрутизация по fwmark: когда IP уже не хватает
Если ip rule from ... не справляется (например, для приложений с динамическими IP), можно использовать fwmark — метку, проставляемую через iptables или cgroup.
Перенаправим часть трафика в другую таблицу
Допустим, мы хотим весь трафик, идущий на порт 8080, отправлять через VPN-интерфейс.
Добавим таблицу:
echo "200 vpn" >> /etc/iproute2/rt_tables
ip route add default via 10.10.10.1 dev tun0 table vpn
ip rule add fwmark 0x66 table vpn
iptables -t mangle -A OUTPUT -p tcp --dport 8080 -j MARK --set-mark 0x66
⚙️ Инструменты для сисадминов и специалистов ИБ
Шпаргалки
— работа восьми популярных протоколов, как работает Linux, протоколы TCP/IP и др.
Рецепты чистого кода
— cборник практических приёмов для улучшения качества программного кода.
rakkess
— плагин для быстрой проверки прав в Kubernetes.
Миграция в облако
— 5 самых частых ошибок.
Всё об ИБ за час
— подборка статей, которые помогут вам еще лучше разобраться в теме персональных данных.
Ещё больше полезного в канале CORTEL
➡️ Подписаться
Реклама ООО "Кортэл"
ИНН: 7816246925
Внутрисетевой MITM через netfilter queue
Иногда нужно изучить или модифицировать сетевой трафик в реальном времени — например, при исследовании IoT, тестировании безопасности или создании proxy-инструмента.
Linux позволяет это сделать через NFQUEUE.
Пример: перехватим HTTP-запросы в 192.168.1.0/24.
Устанавливаем нужные пакеты:
apt install python3-scapy python3-netfilterqueue
iptables -I FORWARD -p tcp --dport 80 -j NFQUEUE --queue-num 0
from netfilterqueue import NetfilterQueue
from scapy.all import *
def callback(pkt):
payload = pkt.get_payload()
scapy_pkt = IP(payload)
if scapy_pkt.haslayer(Raw):
print(">>>", scapy_pkt[Raw].load)
pkt.accept()
nfqueue = NetfilterQueue()
nfqueue.bind(0, callback)
nfqueue.run()
Когда ip route не хватает: policy-based routing на практике
У сервера два интерфейса — один в интернет, другой во внутреннюю сеть. Нужно, чтобы трафик с одного IP всегда шёл через нужный шлюз.
Классическая таблица маршрутов тут не спасает — нужен PBR.
⏺Проверяем интерфейсы и IP
ip addr
203.0.113.10)192.168.100.10)192.168.100.10 шло через eth1 и шлюз 192.168.100.1.100 internal
ip route add default via 192.168.100.1 dev eth1 table internal
ip rule add from 192.168.100.10/32 table internal
ip rule
ip route show table internal
traceroute -s 192.168.100.10 8.8.8.8
#!/bin/sh
ip route add default via 192.168.100.1 dev eth1 table internal
ip rule add from 192.168.100.10/32 table internal
Саппорт, который всегда на связи и готов вам помочь.
Квалифицированная поддержка VPS-решений 24/7. Ваши данные в надежных руках
Виртуальные серверы на мощных процессорах. С нами ваши личные проекты будут в безопасности.
Надежный и защищенный интернет-канал для Вашего бизнеса.
Подпишитесь на канал, чтобы узнать больше о наших предложениях.
#реклама
О рекламодателе
7 популярных мифов о Service mesh, которые мешают вам его освоить 🚫
Service mesh окружен заблуждениями, из-за которых многие его боятся внедрять или считают бесполезным:
➖ «У него огромный оверхед из-за нагрузки на систему»
➖ «Для разработчика это лишнее, пусть DevOps разбираются»
➖ «Зачем он нужен, если есть API Gateway?
И многое другое.
Собрали противоречивые утверждения в одном файле и разобрались, где – правда, а где – миф.
📌 Забирайте полезный материал у бота-помощника в один клик.
erid: 2W5zFFxhUpY
Unicast flooding в Linux-сетях: почему хост получает весь трафик и как это фиксить
В некоторых сценариях Linux-машина, подключённая к коммутатору, неожиданно начинает получать не только свой трафик, но и чужой — например, трафик других контейнеров или виртуалок.
Это называется Unicast Flooding, и причина часто кроется в работе коммутатора и ARP-таблицы ядра.
Как это происходит
Unicast Flooding — это поведение L2-коммутатора, при котором он не знает, на каком порту находится MAC-адрес назначения.
ip neigh show
bridge fdb show
arping -c 1 -A -I eth0 192.168.1.100
while true; do arping -c 1 -A -I eth0 192.168.1.100; sleep 60; done
macvlan:
driver: macvlan
options:
parent: eth0
sysctl -w net.ipv4.conf.eth0.arp_notify=1
sysctl -w net.ipv4.conf.all.proxy_arp=1
eBPF-мониторинг: зеркалируем трафик с интерфейса без SPAN и veth
Когда tcpdump не хватает, а iptables мешают работе, на помощь приходит eBPF.
Он позволяет перехватывать трафик на лету и передавать его в пространство пользователя — с минимальным оверхедом и без модификации ядра.
sudo apt install clang llvm libbpf-dev iproute2 bpftool
// mirror.c
SEC("classifier")
int mirror_prog(struct __sk_buff *skb) {
bpf_clone_redirect(skb, 5 /* ifindex */, 0);
return TC_ACT_OK;
}
ip link show
clang -O2 -target bpf -c mirror.c -o mirror.o
tc qdisc add dev eth0 clsact
tc filter add dev eth0 ingress bpf da obj mirror.o sec classifier
Микросервисы и VIP: как реализовать HA с использованием ipvs
Когда вам нужно распределение трафика, отказоустойчивость и стабильный VIP (Virtual IP) — не обязательно тянуть полноценный балансировщик вроде HAProxy или Keepalived.
Можно использовать встроенный в ядро Linux IPVS (IP Virtual Server) — мощный L4-балансировщик.
Работает в ядре, настраивается через ipvsadm или ipvsctl, и подходит для lightweight-сценариев с микросервисами или edge-нодами.
modprobe ip_vs_rr
sysctl -w net.ipv4.ip_forward=1
ip addr add 10.10.10.100/32 dev lo
ipvsadm -A -t 10.10.10.100:80 -s rr
ipvsadm -a -t 10.10.10.100:80 -r 127.0.0.1:8001 -m
ipvsadm -a -t 10.10.10.100:80 -r 127.0.0.1:8002 -m
ipvsadm -a -t 10.10.10.100:80 -r 127.0.0.1:8003 -m
ipvsadm -L -n
curl http://10.10.10.100
Настроим RDNSS в radvd для автоматической раздачи DNS по IPv6
Продолжаем тему SLAAC и RDNSS. Теперь — конкретный пример настройки на Linux-роутере с помощью демона radvd.
1. Установка radvd:
sudo apt install radvd
interface eth0 {
AdvSendAdvert on;
prefix 2001:db8:1::/64 {
AdvOnLink on;
AdvAutonomous on;
};
RDNSS 2001:4860:4860::8888 {
AdvRDNSSLifetime 600;
};
};sudo sysctl -w net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding=1
sudo systemctl restart radvd
resolvectl status
Нужно выкатить новую фичу, но нет уверенности, что всё пойдет как надо?
А еще…
🔻 Слабый мониторинг или его нет совсем.
🔻 Непонятно, почему система тормозит.
🔻 Клиенты жалуются на ошибки и долгое время ответа.
Знакомо? Приглашаем на онлайн-интенсив по Service mesh от Слёрм, на котором вы:
👉 решите реальные бизнес-кейсы;
👉 поймёте принцип работы и в будущем сможете применить знания на любом решении;
👉 научитесь искать причины проблем.
Даты проведения: 27-29 июня.
Спикеры:
– Александр Лукьянченко, руководитель юнита PaaS в Авито
– Виталий Лихачев, SRE в крупном голландском тревелтехе
– Георг Гаал, CTO AEnix
Специальные условия группам от 3-х человек.
👉 Программа и запись на интенсив по ссылке.
Как повысить сетевую безопасность облака?
18 июня | 12:00
Приходите на вебинар от Selectel для системных администраторов, сетевых и DevOps- инженеров.
На вебинаре расскажут:
- про решения и сервисы для организации сетевой безопасности,
- как настроить сетевую безопасность для веб-приложения и сегментировать сетевой контур.
Посмотреть программу и зарегистрироваться: https://slc.tl/dty7u
Чтобы не пропустить вебинар и узнавать о других мероприятиях, воркшопах и бесплатных курсах Selectel, подписывайтесь на @selectel_events
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqvE9sjL
😒 ZeroDay — всё, что нужно хакеру
— Пентесты Wi-Fi, камер, сайтов
— OSINT и социальная инженерия
— Техники анонимности и обход слежки
— Сливы и разборы реальных утечек
— Инструменты: Metasploit, Nmap, Kali Linux
/channel/+HGYMHDvAef41YTAy
🔎 Ищете надёжное оборудование для мониторинга серверных комнат?
✔️ Обратите внимание на устройства NetPing
Компания с 2005 года разрабатывает и производит устройства для мониторинга и удаленного управления энергопитанием серверного оборудования.
🤝 Устройства NetPing будут полезны компаниям, которые используют IT-оборудование, инженерам и системным администраторам, сервисным компаниям и провайдерам, а также компаниям-интеграторам проектов IT-инфраструктуры.
Почему стоит обратить внимание на устройства NetPing?
✅ Собственная разработка и высокотехнологичное производство,
✅ Простота настройки и использования,
✅ Высокая надежность на протяжении многих лет,
✅ Непрерывный мониторинг ключевых параметров серверного оборудования и удаленное управление энергопитанием,
✅ Универсальные и легко интегрируются с существующей инфраструктурой.
⭐️ NetPing помогает IT-инфраструктуре работать стабильно и безопасно. 💪💻
#удаленноеуправление #серверныекомнаты #ITоборудование #системныеадминистраторы
🚀⭐️ Разберётесь, как работают стандартные потоки в Linux и научитесь управлять вводом, выводом и ошибками в терминале
👉 Приглашаем на вебинар: Управление потоками ввода и вывода в Linux
На вебинаре вы узнаете:
- Что такое стандартные потоки ввода, вывода и ошибок
- Как перенаправлять потоки с помощью >, >>, <, 2>, | и других операторов
- Как использовать пайпы (конвейеры) для обработки данных в командной строке
- Как комбинировать команды, управлять выводом и создавать эффективные цепочки
В результате вебинара вы:
- Научитесь различать и использовать stdin, stdout и stderr
- Сможете перенаправлять потоки и использовать их в сценариях автоматизации
- Попробуете строить пайплайны и обрабатывать данные без создания временных файлов
- Поймёте, как вывод ошибок и данных влияет на поведение скриптов и программ.
🎁 Урок пройдет в преддверие старта курса «Administrator Linux. Basic». Все участники вебинара получат скидку на обучение.
👉 Для участия зарегистрируйтесь: https://otus.pw/SCNt/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Dummy-интерфейсы: зачем они нужны и как использовать
Интерфейс dummy — это виртуальный интерфейс, не связанный с железом.
Он не передаёт пакеты, но может иметь IP, участвовать в маршрутизации и BGP-анонсе.
Создание dummy-интерфейса:
ip link add dummy0 type dummy
ip link set dummy0 up
ip addr add 192.0.2.1/32 dev dummy0
ip route add 198.51.100.0/24 via 192.0.2.1 dev dummy0
Тестируем нестабильный интернет через tc netem: эмулируем дропы и лаги
Ваше приложение должно работать при плохом интернете? Симулируем ситуацию прямо на staging-машине.
tc qdisc add dev eth0 root netem delay 300ms 100ms distribution normal loss 10%
tc qdisc show dev eth0
tc qdisc del dev eth0 root
ip rule + UID: ограничиваем выход в интернет только для одного пользователя
Иногда нужно, чтобы только один пользователь на хосте имел доступ в интернет — например, для ограниченного контейнера или скрипта.
Это можно сделать через policy-based routing и UID-based правила.
К примеру: пользователь vpnuser должен иметь доступ наружу, все остальные — нет.
Добавляем новую таблицу маршрутов:
echo "200 toinet" >> /etc/iproute2/rt_tables
ip route add default via 192.168.1.1 dev eth0 table toinet
id -u vpnuser
# допустим, UID = 1001
ip rule add uidrange 1001-1001 lookup toinet
ip rule
ip route show table toinet
Чтобы полностью изолировать других, можно ещё в main таблице оставить blackhole default.
Когда brute-force не даёт покоя: быстрая настройка fail2ban для SSH
SSH-сервер завален попытками входа от ботов? Пароли отключены, но логи полны мусора? Настроим fail2ban — он будет банить нарушителей автоматически.
1️⃣Устанавливаем fail2ban
sudo apt install fail2ban # для Debian/Ubuntu
sudo dnf install fail2ban # для RHEL/AlmaLinux/Fedora
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
/etc/fail2ban/jail.d/sshd.local — этого достаточно.[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log # для Debian/Ubuntu
# logpath = /var/log/secure # для RHEL/AlmaLinux
maxretry = 3
findtime = 600
bantime = 3600
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
sudo fail2ban-client unban <IP>
BGP в деталях: расширенные сообщества и автоматическая фильтрация маршрутов
⏺Extended Communities в BGP
Расширенные сообщества (extended communities) — это более гибкий тип BGP communities, который состоит из 8 байт вместо стандартных 4.
Они позволяют передавать больше информации и поддерживают разные типы меток: например, route target, route origin, VPN-информацию и др.
ip community-list expanded VPN_RT permit 65000:100
route-map SET_RT permit 10
set extcommunity rt 65000:100
router bgp 65000
neighbor 10.0.0.1 route-map SET_RT out
То есть, вместо того чтобы каждый роутер фильтровал входящие маршруты вручную, можно отправить соседу список фильтров, и он перестанет присылать ненужные маршруты.
XDP (eXpress Data Path) в Linux: ускорение сети и защита от атак
XDP — это механизм, который позволяет перехватывать и обрабатывать сетевые пакеты на самом низком уровне — прямо в драйвере сетевой карты, до того, как они попадут в сетевой стек Linux.
Это открывает большие возможности для ускорения обработки трафика и защиты от атак.
SEC("xdp_drop")
int xdp_drop_func(struct xdp_md *ctx) {
return XDP_DROP;
}clang -O2 -target bpf -c xdp_drop.c -o xdp_drop.o
ip link set dev eth0 xdp obj xdp_drop.o sec xdp_drop
ip -details link show dev eth0
Хотите освоить C++ с нуля и стать востребованным разработчиком?
Пройдите курс от OTUS и получите знания, которые откроют перед вами новые карьерные горизонты!
⚡️ Этот курс идеально подходит для начинающих и тех, кто хочет углубить свои знания. С нуля до уровня Middle Developer — вы освоите создание собственных типов данных, работу с многопоточностью и современными стандартами C++. Изучите лучшие практики проектирования, работу с памятью и сетью, а также освоите принцип работы с базами данных и CI/CD.
🔥 На обучении вы разработаете 2 реальных проекта для портфолио, а диплом OTUS поможет вам уверенно проходить собеседования в крупнейших компаниях. Станьте частью индустрии с актуальными знаниями!
👉 Оставьте заявку: https://otus.pw/NLjQI/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Silent Drop: как blackhole-маршруты помогают обезвредить вредный трафик
В сетях часто приходится блокировать нежелательный трафик — ботов, сканеров, подозрительные IP.
Самый распространённый способ — firewall (iptables, nftables).
sudo ip route add blackhole 203.0.113.0/24
sudo ip route add prohibit 203.0.113.0/24
ip route show table main | grep 203.0.113
sudo ip route del blackhole 203.0.113.0/24