Сервис поддержки служб разрешения имен типа DNS, NetBIOS (53 и 137 порт)
В связи с тем, что система в различных ситуациях использует виртуальные или реальные адреса чрезвычайно важным становится обеспечить поддержку стандартных служб имен, которые используются различными приложениями. Драйвер при получении таких пакетов должен осуществлять в них необходимые подмены IP-адресов, с тем, чтобы приложение обращалось к соответствующему ресурсу по адресу виртуальному или реальному в соответствии с тем, какой адрес в данный момент выделен драйвером для данного ресурса. Кроме того, в настоящее время в связи с массовым использованием доступа в Интернет через соединения с непостоянным IP-адресом, в том числе и для координаторов, возникает задача предоставления возможности узлам сети получения этого адреса с использованием службы DNS. Актуальность этой задачи становится также весьма высокой в связи с появлением специальных сервисов, предоставляемых все большим числом провайдеров, обеспечивающих возможность динамической регистрации изменяющихся IP-адресов в службе DNS. Это свидетельствует о популярности этой услуги и спросе на нее. В ряде случаев современные корпоративные сети строятся таким образом, что на серверах DNS регистрируется не собственно адрес компьютера, а внешний адрес некоторого Firewall, за которым стоит этот компьютер. В этом случае драйвер также должен разобраться в этой ситуации и подменить в пакете от сервера DNS этот внешний адрес на один из адресов видимости (виртуальный или реальный), который в данный момент используется драйвером для данного ресурса. Одновременно требуется обеспечить бесконфликтную работу сети, когда в сети используются как открытые DNS – сервера, так и DNS – сервера с модулем ViPNet или туннелируемые координатором ViPNet (то есть находящиеся в «облаке» ViPNet). Таким образом, служба поддержки сервисов разрешения имен решает следующие основные задачи: - обеспечивает доступ по DNS-имени различных приложений, работающих на компьютерах с модулем ViPNet, к соответствующим службам на удаленных узлах с модулем ViPNet (то есть подстановку актуального на данный момент IP-адреса видимости узла), - обеспечивает определение IP-адреса координатора, работающего за устройством NAT или без него, если внешний адрес устройства NAT или непосредственно координатора изменился, но с использованием служб динамической регистрации (DYNDNS) этот адрес регистрируется на публичном или находящемся в «облаке» ViPNet DNS-сервере, - обеспечивает возможность работы различных приложений по DNS именам без использования портов с несколькими компьютерами, установленными за координатором, и зарегистрированных на DNS-сервере под одним внешним адресом этого координатора. - обеспечивает надежность определения нужного адреса доступа к узлам, если таких адресов несколько. Рассмотрим коротко, как происходит обработка пакетов разрешения имен типа DNS, NetBIOS (53 и 137 порт). Если на сервере имен WNS или DNS установлен модуль ViPNet, то на сервере для соответствующих имен защищенных узлов должен регистрироваться виртуальный или реальный адрес – в соответствии с видимостью этого узла с данного сервера с точки зрения модуля ViPNet на нем. Если регистрация адреса происходит автоматически, то драйвер сам делает нужную подмену адреса в IP-пакете запроса на виртуальный или реальный адрес. В результате на сервере имен регистрируется нужный адрес. При ответах на запросы от защищенных узлов о защищенных узлах, в том числе о самом себе, драйвер в тело ViPNet пакета с инкапсулированным в него ответом на запрос для каждого адреса дополнительно помещает идентификатор соответствующего узла. При ответе узлам без модуля ViPNet в ответном открытом IP-пакете всегда передается только реальный адрес защищенного узла, независимо от зарегистрированного в драйвере. При приеме ответа на запрос от защищенного или публичного DNS-сервера в соответствующих разделах IP-пакета отыскиваются DNS – или NETBIOS-имена и соответствующие им IP, а для закрытых пакетов также и идентификаторы, добавленные драйвером отправителя. Драйвер имеет ХЭШ DNS и NetBIOS имен, которые попадают в него путем загрузки из Монитора или путем автоматической регистрации от защищенного сервера имен по идентификаторам, вставленным драйвером отправителя, в ответах на запрос. Если нет, то данное имя туда заносится. В поступивших ответах от сервера имен вместо каждого адреса, если соответствующее этому адресу имя содержится в ХЭШ DNS или для него есть ID в пакете, производится подстановка адреса видимости (реального или виртуального самого узла или туннелируемого им ресурса). Таким образом, независимо от адреса, присутствующего в полученном ответе на запрос приложение всегда получит адрес, известный драйверу.
|