Обучающий канал по сетевому и системному администрированию. Сотрудничество: @dad_admin Биржа: https://telega.in/c/networkadm РКН: https://bit.ly/4ioc61C
Как stateful firewall ломает VoIP NAT: conntrack, sip-helper и ALG под капотом
VoIP через NAT — это боль. Даже если вы пробросили нужные порты и открыли RTP, звонки могут не работать.
Причина — stateful firewall и особенности его работы с динамическими протоколами.
conntrack -L | grep sip
modprobe -r nf_conntrack_sip
Huawei VRP. Часть 2: передача файлов, удаление и установка ПО
Продолжаем работу с CLI на оборудовании Huawei. В этой части — как загрузить или скачать файлы по TFTP/FTP, удалить ненужное и установить новую прошивку.
Передача файлов через TFTP
Простейший способ передать файлы — через TFTP-сервер. На ПК можно использовать tftpd32 или встроенный сервер в Linux.
На Huawei VRP:
tftp 192.168.0.10 get vrpcfg.zip
tftp 192.168.0.10 put vrpcfg.zip
ftp 192.168.0.10
get vrpcfg.zip
put backup/vrpcfgbak.zip
delete vrpcfg.zip
rmdir backup
dir
vrp-basic.cc
startup system-software vrp-basic.cc
startup saved-configuration vrpcfg.zip
display startup
rebootЧитать полностью…
Huawei VRP. Часть 1: Telnet и файловая система вживую
В этом посте разбираемся, как удалённо зайти на оборудование Huawei по Telnet, проверить состояние устройства и поработать с его файловой системой. Всё — через CLI.
Подключение через Telnet
По умолчанию Telnet работает на порту 23. На Huawei VRP устройство может быть и сервером, и клиентом Telnet. В простом сценарии с ПК на Windows можно подключиться так:
telnet 10.137.217.177
<Huawei>
dir
mkdir backup
copy vrpcfg.zip backup/vrpcfgbak.zip
cd backup
dir
✅ Имба: в сети обнаружили мегашпаргалку с самыми полезными нейросетями на все случаи жизни.
Сохраняем самое крутое:
🤩Claude 3.7 Sonnet — мастхев для программистов
🤩Same New — быстрая копия интерфейса сайта
🤩Openrouter — доступ ко всем ИИ
🤩Suno AI — своя музыка с нейросетью
Подпишись и находи для себя крутые нейросети бесплатно: /channel/+pn8vPUiMNWw4MWJi
💰Вопрос безопасности в разработке становится всё более актуальным. Но как обосновать инвестиции в безопасность для бизнеса? Как оценить её финансовую сторону?
🗓Открытый вебинар 23 апреля в 20:00 мск даст ответы на самые важные вопросы. Мы расскажем, как сэкономить на долгосрочных потерях, внедряя эффективные меры безопасности с самого начала разработки.
🧑💻Спикер Максим Чащин — директор по информационной безопасности в ГК «Девелоника».
Вы узнаете, сколько стоит устранение уязвимостей, как принцип «shift left» влияет на итоговую производительность и как измерять эффективность мер безопасности. Это поможет вам убедить руководство инвестировать в безопасность на всех уровнях разработки.
👉Присоединяйтесь к открытому уроку и получите скидку на большое обучение «Внедрение и работа в DevSecOps»: https://otus.pw/L8gYc/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔍 Больше, чем Kafka — для тех, кто не хочет терять контроль
Чем сложнее инфраструктура, тем выше риски. Kafka запускается быстро, но требует постоянного внимания и ресурсов: кластеры, ZooKeeper, ручное масштабирование — всё это вы и так знаете.
YDB Topics — альтернатива, созданная для тех, кто привык держать всё под контролем. Это брокер сообщений, встроенный в базу данных, с транзакциями между топиками и таблицами, отказоустойчивостью по умолчанию и без лишнего зоопарка сервисов.
🕛 23 апреля в 12:00 - вебинар не просто про продукт, а про философию: надёжность — не "фича", а норма.
23 апреля встречаемся на хардкорном митапе «Метрокластер на отечественном»
Что в программе?
▪️Разбор архитектуры и нюансов технологии метрокластера, особенностей проектирования и реализации
▪️Live-demo работы решения на отечественном оборудовании и ПО
Вы увидите, как ведет себя прикладное ПО при выходе из строя отдельных компонентов кластера и продуктивной площадки целиком.
В составе стенда два набора оборудования:
▪️СХД Аэродиск
▪️Сервер виртуализации Aquarius под управлением zVirt
▪️Коммутатор Qtech
и один набор ПО:
▪️СУБД Postgres Pro под синтетической нагрузкой
▪️Платформа анализа данных Visiology с рабочим местом администратора и руководителя ИТ-инфраструктуры и панелью по анализу данных
Между двумя площадками эмулируется расстояние 60 км. Отслеживать состояние комплекса будет система мониторинга «Пульт».
🗓 Когда?
23 апреля, 16:00
✅ Регистрация
🔌 Нужно железо без лишних вопросов?
Когда хочется развернуть проект быстро и без лишней зависимости от соседей по хостингу — можно взять BareMetal от Yandex Cloud. Это физический сервер под вашу задачу: ставите нужную ОС, свою виртуализацию, подключаетесь через SSH, KVM или API.
Плюс готовая интеграция с облаком: можно распределять нагрузку между выделенными серверами и облачной инфраструктурой. Всё изолировано, размещено в дата-центрах в РФ, безопасность по стандартам. Поддержка — 24/7, если что, помогут.
Попробовать BareMetal и подобрать нужную конфигурацию можно тут. Всё быстро, понятно и без лишних движений.
Прокачай свои навыки Kubernetes
Kubernetes — это мощь. Но по-настоящему он раскрывается в руках тех, кто знает, как с ним обращаться.
Хотите уверенно управлять кластерами, настраивать сеть, разруливать инциденты и держать инфраструктуру под контролем? ➡️Тогда вам на курс «Kubernetes Мега» от Слёрма.
На обучении вы:
👉 Освоите перенос продукта на Kubernetes
👉 Научитесь разворачивать отказоустойчивые кластеры
👉 Ускорите траблшутинг и будете решать инциденты как профи
👉 Повысите стабильность и безопасность инфраструктуры
👉 Настроите автоматическую ротацию сертификатов, автодеплой и защищённое хранение секретов
Это не просто курс. Это путь к профессиональному уровню в K8s.
Старт — 21 апреля, вы как раз успеваете!
Посмотрите программу и забронируйте место ➡️ по ссылке
#реклама
О рекламодателе
erid: 2W5zFJJ5t3J
Как утечка MTU ломает SSH, туннели и мониторинг
Если вы замечали, что SSH с VPN «висит» после логина, HTTPS дёргается, а Zabbix теряет метрики без причины — проблема может быть не в приложении, а в MTU.
tracepath 8.8.8.8
ping -M do -s 1472 1.1.1.1
tcpdump -ni wg0 icmp or tcp port 443
ip link set wg0 mtu 1380
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu
ip link show dev wg0
Как нейтральные узлы ломают QoS: когда DSCP обнуляется, а VoIP задыхается
На бумаге приоритизация VoIP выглядит идеально: помечаем трафик DSCP EF, настраиваем очереди, наслаждаемся стабильной связью.
На практике — где-то по пути эти метки теряются, и звонки начинают лагать. Почему?
Иногда даже корпоративный DPI-фильтр может сбросить DSCP “на всякий случай”, если видит неизвестное приложение.
Сквозной QoS для VoIP: приоритезация трафика через VLAN и DSCP
Голосовой трафик чувствителен к задержкам и потере пакетов. Чтобы звонки не превращались в кашу, QoS (качество обслуживания) должен быть реализован сквозным — от телефона до сервера.
Это делается с помощью сочетания VLAN и DSCP на L2 и L3 уровнях.
Схема:
1️⃣Телефон/софтфон маркирует VoIP-пакеты (DSCP 46 — Expedited Forwarding).
2️⃣Коммутатор помечает трафик в VLAN с нужным CoS.
3️⃣Маркировка сохраняется и передаётся на маршрутизаторы.
4️⃣На выходе в интернет или VPN трафик попадает в приоритетные очереди.
DSCP (L3):
Это поле в IP-заголовке, которое указывает приоритет пакета. Для VoIP используется DSCP 46 (EF). Пример iptables-маркировки:
iptables -t mangle -A OUTPUT -p udp --dport 5060 -j DSCP --set-dscp-class EF
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 5mbit ceil 10mbit prio 0
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dscp 46 0xfc flowid 1:10
mls qos
interface FastEthernet0/1
switchport voice vlan 100
mls qos trust dscp
Схема построения overlay-сети с WireGuard и BGP
Наша цель: объединить три удалённых площадки (A, B, C) в одну защищённую L3-сеть с маршрутизацией между всеми участниками без головной боли от десятков туннелей.
Архитектура
• Каждая площадка — это нода с Linux-сервером.
• На каждой ноде:
• работает WireGuard — создает защищённый туннель;
• крутится FRRouting (или Bird) — обменивается маршрутами с соседями по BGP;
• Получается mesh-топология, где каждый может видеть всех, и BGP сам решает, куда как идти.
Схематично:
[ Site A ]
192.168.10.0/24
|
[ wg0: 10.10.0.1 ]
|
BGP (AS65001)
/ \
/ \
/ \
[ Site B ]------[ Site C ]
192.168.20.0 192.168.30.0
wg0: 10.10.0.2 wg0: 10.10.0.3
BGP: AS65002 BGP: AS65003
[Interface]
Address = 10.10.0.1/32
PrivateKey = <keyA>
ListenPort = 51820
[Peer]
PublicKey = <keyB>
AllowedIPs = 10.10.0.2/32
Endpoint = B:51820
PersistentKeepalive = 25
[Peer]
PublicKey = <keyC>
AllowedIPs = 10.10.0.3/32
Endpoint = C:51820
PersistentKeepalive = 25
router bgp 65001
bgp router-id 10.10.0.1
neighbor 10.10.0.2 remote-as 65002
neighbor 10.10.0.3 remote-as 65003
network 192.168.10.0/24
Сквозной QoS через VLAN и DSCP: как дать VoIP трафику приоритет во всей сети
Если звонки через SIP или WebRTC в вашей сети начинают «задыхаться», причина почти всегда — отсутствие приоритизации.
QoS помогает отделить важный трафик от остального и гарантировать, что голос не будет конкурировать с YouTube и бэкапами.
L2: приоритет через 802.1p (CoS)
Работает в пределах VLAN. Используется приоритизация пакетов по значению CoS в VLAN-теге (0–7).
На Cisco:
mls qos
interface FastEthernet0/1
switchport access vlan 10
mls qos trust cos.
ip access-list extended VOIP
permit udp any any range 16384 32767
class-map match-any VOIP
match access-group name VOIP
policy-map VOIP-POLICY
class VOIP
set dscp ef
priority percent 20
interface GigabitEthernet0/0
service-policy output VOIP-POLICY
iptables -t mangle -A OUTPUT -p udp --dport 5060 -j DSCP --set-dscp-class EF
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 64kbps ceil 128kbps
Запускаем цикл вебинаров и открытых демонстраций – «Basisный интенсив с Merlion»!
В течение года мы разберем функциональные особенности экосистемы продуктов ведущего российского разработчика решений для оказания облачных услуг, платформы динамической инфраструктуры и виртуализации – Basis:
∙ Basis Dynamix Standard – гибкая платформа управления виртуализацией для контроля гипервизоров и виртуальных ЦОД на базе виртуальных машин.
∙ Basis Dynamix Enterprise – высокопроизводительная платформа на базе динамической инфраструктуры для управления виртуальными серверами и контейнерами.
∙ Basis Workplace – ПО для создания инфраструктуры виртуальных рабочих столов с возможностью выбора сценария использования.
Вы узнаете, как решения помогают управлять виртуальными серверами, обеспечивать контроль гипервизоров и создавать инфраструктуры виртуальных рабочих столов.
Регистрация (https://tglink.io/c202fd30dd4f?erid=2W5zFJEfNCp) осуществляется 1 раз – и вы получаете доступ ко всей серии вебинаров.
#реклама
О рекламодателе
Многие отечественные компании по-прежнему используют зарубежные opensource-решения TACACS+ для управления доступом к сетевому оборудованию. При этом есть большой риск столкнуться с внезапным прекращением развития продуктов, отсутствием оперативной поддержки и исправлений уязвимостей.
Eltex предлагает современное ПО для контроля доступа к сети и сетевому оборудованию – систему NAICE с гарантированной технической поддержкой, мультивендорностью, развитием функциональности под требования заказчиков. В версии 0.8 была добавлена поддержка TACACS+, теперь NAICE может выступать как сервер управления доступом к сетевому оборудованию.
Присоединяйтесь к нашему техническому вебинару 29 апреля в 10:00 (МСК) и узнайте всё о новом функционале в системе.
Что будет:
• Демонстрация установки NAICE и настройки TACACS+
• Возможности TACACS+ в NAICE: политики доступа, авторизации команд, интеграции с AD и др.
• Примеры на реальном оборудовании
• Ответы на вопросы от экспертов Eltex
• Лицензирование NAICE и функционала TACACS+
Вебинар будет полезен техническим специалистам, отвечающим за сетевую инфраструктуру и безопасность.
Зарегистрируйтесь, чтобы не пропустить.
Реклама. ООО "ПРЕДПРИЯТИЕ "ЭЛТЕКС". ИНН 5410108110. erid: 2W5zFJYtkeC
Deckhouse — разработчик лидирующей платформы контейнеризации — проводит свой первый инженерный митап: Deckhouse User Community.
Когда: 20 мая, сбор гостей с 18:15, начало в 19:00 (мск)
Где: в Москве и онлайн.
Для кого: DevOps-инженеры, SRE, сисадмины и платформенные разработчики.
О чём: работа Cilium и распределённый инференс LLM с K8s в домашних условиях.
Сколько стоит: бесплатно, но регистрация обязательна — на такое событие рекомендуем поторопиться с бронью места.
Зарегистрироваться на DUC
SFTP как точка отказа: когда libssh зависает при логине из-за отсутствия энтропии
На слабых VPS, embedded-хостах и в dev-контейнерах можно столкнуться с неожиданной проблемой: sftp (через libssh) виснет при подключении.
Никаких логов, таймаутов, ошибок. Просто «залипло».
cat /proc/sys/kernel/random/entropy_avail
apt install haveged
systemctl enable --now haveged
LD_PRELOAD=./fake-random.so sftp user@host
Когда ICMP нужен: как его отсутствие ломает MSS и PMTU discovery
Во многих инфраструктурах ICMP считают «ненужным» и отрубaют его на периметре — мол, безопасность, чтобы никто не пинговал.
В результате получаем баги, которые тяжело отлаживать: от медленного SSH до обрыва TLS.
ip link | grep mtu
ip route get <dst>
ping -M do -s 1472 <dst> # для MTU 1500 с учетом IP+ICMP
tcpdump -i eth0 icmp or tcp port 443
iptables -A INPUT -p icmp --icmp-type fragmentation-needed -j ACCEPT
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu
sysctl net.ipv4.ip_no_pmtu_disc
Когда conntrack не спасает: потерянные state’ы при NAT failover
Вы строите отказоустойчивую NAT-схему с двумя Linux-хостами. На обоих — iptables с маскарадингом, conntrack и failover через VRRP (например, с keepalived).
Всё выглядит нормально — пока один узел не уходит в оффлайн. После этого все существующие подключения падают, хотя fallback сработал, IP переехал, и сервис вроде доступен.
conntrack -L | grep 192.168.0.100
conntrack -E | grep [ip-источника]
tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0'
Sync {
Mode FTFW {
...
}
}
conntrack -L > /var/lib/conntrack.backup
conntrack -I < /var/lib/conntrack.backup
ARP flux и виртуализация: когда Linux отвечает не с того интерфейса
Что это вообще за баг?
Виртуалки, бонды, VRRP, несколько интерфейсов на одном хосте — классическая среда для ловли ARP flux.
Это ситуация, когда ядро Linux отвечает на ARP-запрос не с того интерфейса, на который он пришёл.
Вроде мелочь, но внезапно: неправильный MAC, рушится failover, свитчи запоминают неправильные порты, и начинается магия.
# Запретить ядру отвечать на ARP-запросы с не того интерфейса
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_filter
tcpdump -i any arp and ether src host <mac вашего сервера>
MTU + TSO/GSO/UDP: когда пакеты разваливаются на границе VxLAN
VxLAN, jumbo frames и offload-механизмы вроде TSO/GSO — отличная штука, пока всё работает.
ip link show dev eth0
ethtool -k eth0 | grep -i 'tcp-segmentation-offload'
ethtool -k vxlan100
ethtool -K vxlan100 gso off
sysctl net.core.netdev_max_backlog
sysctl net.ipv4.udp_rmem_min
Как TCP slow start ломает API-gateway после простоя
Когда API-шлюз долго простаивает, первый клиент после “засыпания” получает неприятный бонус — повышенную задержку.
Особенно это видно на малых payload: TCP начинает с минимального окна, передаёт несколько MSS, ждёт ACK… и только потом разгоняется.
sysctl -w net.ipv4.tcp_notsent_lowat=4096
Трюки с ip rule и policy routing: поднимаем multi-WAN на голом Linux без дорогих железок
Наш сценарий: два провайдера, failover, и исходящая маршрутизация — с минимумом магии
# /etc/iproute2/rt_tables
100 isp1
200 isp2
ip route add 192.0.2.0/24 dev eth0 src 192.0.2.10 table isp1
ip route add default via 192.0.2.1 dev eth0 table isp1
ip route add 198.51.100.0/24 dev eth1 src 198.51.100.10 table isp2
ip route add default via 198.51.100.1 dev eth1 table isp2
ip rule add from 192.0.2.10 table isp1
ip rule add from 198.51.100.10 table isp2
ip route add default via 192.0.2.1 dev eth0 metric 100
ip route add default via 198.51.100.1 dev eth1 metric 200
iptables -t mangle -A PREROUTING -i eth1 -j MARK --set-mark 2
ip rule add fwmark 2 table isp2
🔍 Учитесь находить атаки в трафике до того, как они нанесут ущерб
28 апреля стартует практикум «Анализ сетевого трафика» от Positive Education — с разбором реальных атак и облачным стендом для отработки навыков.
Практикум готовили эксперты Positive Technologies:
— Алексей Леднев, PT Expert Security Center
— Кирилл Шипулин, PT NAD
— другие практики с опытом расследования сложных инцидентов.
Что в программе:
— материалы для самостоятельного изучения
— облачный стенд: воспроизводите атаки, анализируйте трафик, тренируйтесь выявлять угрозы
— живой чат для общения и поддержки
Вы узнаете:
— какие следы оставляют хакеры в трафике
— как отличать шум от реальных угроз
— что важно при расследовании инцидентов на основе сетевых данных
Подробнее — на сайте программы
Анализ отказов TCP-соединений: читаем state machine через ss и tcpdump
Когда curl висит, telnet не коннектится, а система молчит — пора лезть в TCP state machine.
Разберём, как руками понять, где застряло соединение, и почему SYN_SENT и SYN_RECV не двигаются дальше.
Быстрый вход
ss -tan state syn-sent — соединения, где отправлен SYN, но нет SYN+ACK
ss -tan state syn-recv — пришёл SYN, ждем ACK
На сервере:
ss -tan state syn-recv
ss -tan state syn-sent
tcpdump -i eth0 tcp and port 443 -n
Client -> Server: SYN
Server -> Client: SYN+ACK
Client -> Server: ACK
ip link show
ping -M do -s 1472 1.1.1.1
iptables -L -n -v | grep syn
ss -n state syn-recv | wc -l
sysctl net.core.somaxconn
# увеличить очередь на слушающем сокете
sysctl -w net.core.somaxconn=1024
# таймауты для half-open соединений
sysctl -w net.ipv4.tcp_synack_retries=2
sysctl -w net.ipv4.tcp_retries2=5
Что делать, если проект идёт через ж@пу? А команда не выполняет задачи, срывает сроки и все ходят с недовольной мордой?
Можно всех уволить, а можно начать читать канал Александра Наливайко, и научиться правильно создавать и управлять командами.
Александр уже 20 лет строит масштабные проекты, управляет командами 100+ человек и обладает универсальным методом, который можно применить практически в любой сфере.
А еще на канале можно почитать статьи на тему:
😡 Что делать, если начальник чудит?
🥸 Нужны ли внешние консультанты?
📝 Как правильно выстроить коммуникацию с коллегами
Подписывайся, и получи в подарок шаблоны писем для коммуникации на всех этапах проекта: @pmnavru
Netfilter hooks в ядре Linux
Когда вы пишете iptables -A INPUT -j DROP или настраиваете правила через nftables, всё это обрабатывается внутри ядра Linux через систему Netfilter hooks.
Это не просто “магия iptables” — это набор точек (hooks) в сетевом стеке, куда можно «вставиться» и обработать трафик.
Вот как устроена цепочка прохождения пакета:
Основные Netfilter-хуки:
1️⃣PREROUTING
Точка входа — пакет только попал в систему. Здесь работают raw, mangle и nat.
2️⃣ INPUT
Пакет адресован локальному хосту. Обрабатывается после PREROUTING. Здесь обычно фильтруется входящий трафик.
3️⃣ FORWARD
Пакет проходит транзитом (маршрутизируется). Используется в маршрутизаторах или bridge’ах.
4️⃣ OUTPUT
Пакет генерируется локально. Здесь работают mangle, nat, filter.
5️⃣ POSTROUTING
Самая последняя точка. Пакет уже выходит из системы, но можно изменить адреса или теги.
Цепочки и таблицы:
• raw — самая ранняя точка. Не используется для NAT. Можно исключить пакет из connection tracking (через NOTRACK).
• mangle — модификация полей IP-пакета: TTL, DSCP, приоритет и т.д. Также работает с маркировками (MARK).
• nat — переназначение IP и портов (SNAT, DNAT, REDIRECT).
• filter — фильтрация трафика (ACCEPT, DROP). Это то, что делает firewall.
• security — SELinux и прочие LSM-хуки.
Порядок прохождения (пример для входящего пакета снаружи):
PREROUTING → (routing decision) → INPUT
OUTPUT → POSTROUTING
PREROUTING → FORWARD → POSTROUTING
iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 1
iptables -t raw -A PREROUTING -p udp --dport 123 -j NOTRACK
iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.5:8080
IPv6: защита от MITM внутри подсети
Как RA-guard, DHCPv6 snooping и NDP-фильтрация помогают отсечь атаки на первом хопе
ipv6 nd raguard policy SAFE_RA
device-role host
interface FastEthernet0/1
ipv6 nd raguard attach-policy SAFE_RA
ipv6 dhcp snooping
ipv6 dhcp snooping trust
interface FastEthernet0/1
ipv6 dhcp snooping limit rate 10
ebtables -A INPUT -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type 134 -j DROP
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 \; }
nft add rule inet filter input icmpv6 type {136} drop
Глубокая изоляция сервисов через VRF в Linux: полный контроль сетевого трафика
Часть 2
В первой части мы рассмотрели базовую настройку VRF и его интеграцию с Docker и Kubernetes.
Теперь разберём более сложные сценарии, включая полное ограничение выхода в интернет, взаимодействие VRF с IPSec и WireGuard, а также расширенный мониторинг сетевого трафика.
5️⃣ Полное ограничение внешнего трафика для VRF
По умолчанию VRF позволяет маршрутизировать трафик, но если требуется запретить выход изолированных сервисов в интернет, можно использовать nftables для точного контроля.
Пример блокировки всего исходящего трафика из VRF:
nft add table inet vrf_secure
nft add chain inet vrf_secure output { type filter hook output priority 0 \; }
nft add rule inet vrf_secure output meta oifname "eth1" drop
192.168.50.10
):nft add rule inet vrf_secure output ip daddr 192.168.50.10 accept
ip xfrm policy add src 10.10.10.0/24 dst 192.168.50.0/24 dir out tmpl src 10.10.10.1 dst 192.168.50.1 proto esp mode tunnel table 100
ip link set ipsec0 master vrf_secure
ip link add wg0 type wireguard
ip link set wg0 master vrf_secure
[Interface]
Address = 10.100.100.1/24
PrivateKey = <PRIVATE_KEY>
[Peer]
PublicKey = <PEER_PUBLIC_KEY>
AllowedIPs = 192.168.50.0/24
Endpoint = 203.0.113.1:51820
ip link set up dev wg0