VPN с маршрутизацией или мостом: выбирайте по тому, что должен достичь клиент
Маршрутизируемый доступ доставляет выбранные службы; мостовой доступ присоединяет сегмент. Решайте по тому, что должен достичь клиент, а затем проверьте построенную границу.
В один день приходят две заявки: одному пользователю нужно внутреннее веб-приложение, а одному инженеру нужно, чтобы настольный прибор вёл себя так, будто стоит в том же сегменте Ethernet. На обе отвечают посадите их на VPN, и именно здесь начинаются проблемы. Маршрутизируемый туннель и мостовой туннель устанавливают разные отношения, и каждому запросу соответствует только одно из них. Выбор топологии — это решение о доступе, а не настройка криптографии.
Две заявки, которые на стойке выглядят одинаково
Требование сотрудника — это служба, доступная по IP с устройства, которым вы не управляете. Требование инженера — на уровне канала: прибор ожидает увидеть кадры Ethernet и обнаружение широковещанием, а возможно, и DHCP из того сегмента, в котором он себя считает.
Это разные вопросы, и ответ на оба мостом без причины расширяет доступ сотрудника на всю офисную LAN.
Запишите требование предложением до выбора: какие назначения, какие протоколы и какие партнёры должны выглядеть локальными. Если ответ — хост и порт, маршрутизация это покрывает. Если ответ — отношение на уровне кадра с устройствами, которые говорят только широковещанием, мост может быть единственным вариантом. Всё промежуточное заслуживает тестового сегмента, а не производственной LAN.
Маршрут уже, чем членство в LAN
Маршрутизируемый клиент получает адрес в подсети туннеля и маршруты к выбранным префиксам. Он может достичь сервера приложения и ничего больше, если так говорит политика. Шлюз становится точкой применения, при условии что каждый значимый путь проходит через него.
Не путайте маршрут с разрешением. Если сказать клиенту, как достичь подсети, это не помешает ему попробовать другое назначение.
Применяйте контроль доступа там, где он действительно может обеспечить поток, и сохраняйте собственные разрешения приложения. Широкое правило пересылки или забытый второй интерфейс могут дать больше, чем показывает схема. Читайте действующие правила, а не задуманные. Затем проверьте назначение, которое должно не сработать, потому что политика, которую никто не пытался нарушить, — это гипотеза.
Мост меняет вопрос о допуске
Мост объединяет физический интерфейс и устройство TAP в программный коммутатор, поэтому удалённые устройства присоединяются к тому же широковещательному домену. Это реальная возможность и реальный риск: удалённое устройство больше не маршрутизируемый гость, оно участник.
Решите, какие устройства могут присоединяться, какие типы кадров должны проходить и где блокируется нежелательное взаимодействие. Адресация и полномочия DHCP становятся частью общей сети, и два сервера DHCP в одном сегменте создают именно тот беспорядок, которого вы ожидаете.
Для прибора обычно лучше подходит выделенный тестовый сегмент, чем офисная LAN. Держите доступ управления вне эксперимента и определите, как временный участник удаляется по окончании работы.
Фильтрация есть в обеих топологиях
Мост не является по своей природе нефильтруемым, а маршрут не является по своей природе безопасным. Фильтрация мостов в Linux имеет свои перехватчики и свой синтаксис правил, и правило, написанное для маршрутизируемой пересылки IP, не применяется автоматически к кадрам моста.
Проверьте, что платформа действительно поддерживает, прежде чем обещать границу:
bridge link show
nft list ruleset
TUN и TAP описывают трафик интерфейса, а не шифр. Смена интерфейсов ничего из этого не исправляет: аутентификация партнёров, украденный ключ и устаревшая криптографическая политика все переживают изменение. Обе стороны по-прежнему нуждаются в настройках, которые совпадают и всё ещё поддерживаются.
Докажите границу тремя попытками
Приёмка — это три наблюдения, а не обзор схемы. Требуемая операция должна работать, несвязанное назначение должно не сработать, а собственные службы управления шлюза должны остаться недосягаемыми.
Запустите разрешённый и запрещённый путь с одного и того же клиента и запишите оба:
curl -sS -o /dev/null -w "%{http_code}" http://10.20.0.10/health
ip route get 10.20.0.10
ip route get 10.30.0.5
Для моста добавьте проверки уровня канала: проходит ли разрешённый трафик обнаружения, приходит ли адресация от предполагаемого органа и исчез ли временный участник после удаления. Когда обычный маршрутизируемый IP уже удовлетворяет требованию, подключение к офисному сегменту Ethernet требует отдельного обоснования, и его следует записать до изменения.