Локальные устройства исчезают в VPN: три отдельные поломки
Устройство может по-прежнему отвечать по своему адресу после того, как исчезло из списка. Обнаружение, разрешение имён и доступность ломаются по отдельности, поэтому проверяйте их по очереди.
Принтер, который исчезает из списка устройств при включении VPN, может по-прежнему отвечать по своему адресу. Список заполняется обнаружением, имя может приходить от резолвера, а до самой службы добираются через сокет, и эти три могут отказать независимо. Сравнение того, что работает на каждом уровне, показывает, какую функцию менять. Если сначала включить все исключения для локального доступа, доказательства исчезнут.
В этом разница между устройством, которого нет, и устройством, которое просто не объявляет о себе.
Обнаружение, имена и доступность — это три уровня
Протоколы обнаружения опираются на multicast или broadcast, а они по умолчанию не проходят через маршрутизируемый туннель, поэтому устройство может исчезнуть из списка, оставаясь полностью доступным. Разрешение имён — второй уровень: VPN может сменить резолвер, и имя, на которое раньше отвечала локальная сеть, теперь может разрешаться в другом месте или вообще не разрешаться. Доступность — третий: маршрут, правило межсетевого экрана и слушающая служба. Каждый уровень может сломаться, пока два других в порядке.
Проверяйте их снизу вверх. Одна проверка доступности делает разделение очевидным: nc -vz 192.168.1.20 443 либо успешен, что означает, что путь и служба в порядке и подозреваемый — имя, либо не успешен, что переносит вопрос на маршрутизацию и политику. Затем спросите имя. Первая поломка, на которую вы наткнётесь, — это уровень, над которым нужно работать, и уровни выше не могут её компенсировать.
Сначала спросите адрес, затем имя хоста
Если адрес отвечает, а имя нет, проблема в разрешении, а не в маршрутизации. Клиент VPN, устанавливающий собственный резолвер, может изменить, какой сервер отвечает на локальные имена, а тот, что не передаёт локальный домен, оставляет имя без ответа. Если и адрес не работает, проблема в пути: маршрут по умолчанию через туннель, блокировка локального трафика на стороне клиента или правило межсетевого экрана, разрешающее только физический интерфейс.
Если и то и другое работает, а автоматическое обнаружение нет, устройство просто не объявляет себя через туннель. Это ожидаемое поведение для обнаружения на основе multicast, а не ошибка конфигурации. Добавить устройство по адресу обычно и есть честное решение.
Что на самом деле меняет переключатель локального доступа
Настройка локального сетевого доступа обычно позволяет трафику к непосредственно подключённой подсети обходить туннель, и в разных клиентах она делает разное. Она не настраивает перенаправление в удалённый офис и не меняет межсетевой экран хоста или собственные разрешения приложения. Она также не делает перекрывающуюся подсеть однозначной. Прочитайте документацию клиента о том, что охватывает настройка, прежде чем широко её включать.
Узкое исключение для одного доверенного устройства лучше общего разрешения, особенно в гостевой сети, где блокировка может быть намеренной. Частный адрес — не проверка личности, поэтому выбор зависит от сети, в которой вы находитесь.
Когда сети перекрываются
Если домашняя и удалённая сети используют один диапазон, маршрутизация становится неоднозначной, и ни переключатель локального доступа, ни исключение этого не решают. К двум службам на одном адресе нельзя обратиться обеими, и то, какая победит, зависит от конкретности маршрута и порядка, а не от намерения. Решение — планирование адресов, а не настройка клиента. Проверьте диапазоны, прежде чем провести вечер с принтером.
Для устройства за удалённым шлюзом перенаправление, политика хоста и обратный маршрут принадлежат оператору. Локальный флажок в клиенте не может дать ничего из этого, и просить об этом продуктивнее, чем экспериментировать с переключателями.
Запишите, какой уровень сломался и что вы изменили. Следующее устройство сломается в одном из тех же трёх мест.