
Я настроил VPN на своем компьютере с Windows 7.
В настоящее время W7 настроен на использование маршрутизатора в качестве DNS-сервера, что нормально, однако я хотел бы сказать следующее:
Любой пользователь, подключающийся через VPN, использует эти DNS-серверы.
Возможно ли это или это придется настраивать на каждом клиенте?
решение1
Я не использую Windows 7, но маловероятно, что редакции Windows 7 Home поддерживают такой уровень контроля. Редакции Windows Server поддерживают.
Вот несколько возможных решений, если Windows не может этого сделать:
Вместо этого сделайте свой маршрутизатор VPN-сервером и используйте его для предоставления DNS. Большинство маршрутизаторов используют Dnsmasq в качестве DHCP + DNS-сервера, и он поддерживает то, что вы хотите сделать. Он может выдавать разные DNS-серверы во время фазы DHCP или может пересылать DNS-запросы на разные DNS-серверы на основе диапазона IP-адресов локальной сети или запрошенных доменов. Если ваш маршрутизатор не позволяет вам настраивать параметры DHCP/DNS Dnsmasq на таком уровне, вы можете установить пользовательскую прошивку (например, DD-WRT, Tomato) на многих маршрутизаторах, которая позволит вам добавлять необработанные параметры Dnsmasq. Это предпочтительный вариант с точки зрения сети, так как VPN-сервер действительно должен находиться на краю, а dnsmasq — это круто.
Используйте Dnsmasq на маршрутизаторе для пересылки DNS-запросов на основе исходного IP-адреса, но оставьте рабочий стол Windows 7 в качестве VPN-сервера. Это то же самое, что и #1 с точки зрения разрешения DNS: ваш VPN-клиент и ваш рабочий стол будут использовать один и тот же DNS-сервер (маршрутизатор), но маршрутизатор будет пересылать DNS-запросы на разные серверы на основе исходных IP-адресов. Но это будет работать только в том случае, если VPN->LAN маршрутизируется или соединяется мостом, а не NAT-ом Win7, в противном случае маршрутизатор будет видеть VPN-клиентов с тем же исходным IP-адресом, что и рабочий стол Windows 7, и не сможет пересылать DNS отдельно.
Если ваш маршрутизатор не позволяет редактировать конфигурацию dnsmasq и не поддерживает пользовательскую прошивку: Установите программное обеспечение DNS-сервера с поддержкой множественной пересылки на вашем компьютере с Windows 7, измените настройки TCP/IP компьютера с Windows 7 так, чтобы они указывали ТОЛЬКО на этот DNS-сервер (т. е. localhost 127.0.0.1 или IP-адрес виртуальной машины, если dnsmasq запущен на виртуальной машине). Затем заставьте это программное обеспечение DNS-сервера пересылать DNS-запросы на разные DNS-серверы на основе исходного IP-адреса.
Видетьhttps://stackoverflow.com/questions/7709744/есть-что-то-подобное-dnsmasq-для-windowsдля получения некоторых рекомендаций по программному обеспечению DNS-сервера Windows, или вы можете запустить небольшую виртуальную машину Linux и запустить dnsmasq в ней.
Лично я запускаю Tomato на своем маршрутизаторе и пересылаю DNS-запросы на разные DNS-серверы в зависимости от запрашиваемого доменного имени. Несколько полезных ссылок:
Список модов Tomato:http://www.linksysinfo.org/index.php?threads/tomato-modifications.26037/
поддерживаемое оборудование:http://tomatousb.org/doc:build-types
Открытое WRT:http://openwrt.org
Прошивка Гаргульи:http://www.gargoyle-router.com/
РЕДАКТИРОВАТЬ:
В ответ на ваш комментарий о том, что вы хотите «использовать свой компьютер Win7, не передавая ему весь трафик DNS», я думаю, что необходимо прояснить несколько вопросов:
Я могу ошибаться, но мне кажется, что нельзя назначить другой DNS-сервер VPN-клиентам со встроенным VPN-сервером Windows 7. Если только нет параметра реестра, который это делает. Я пробовал гуглить, но ничего не нашел. Может быть, кто-то другой сможет вам помочь.
Если вы хотите, чтобы клиенты VPN получали внешний DNS-сервер, они не смогут разрешать локальные имена хостов в вашей сети и смогут обращаться к ресурсам локальной сети только по IP-адресам. Как вы предполагаете, что они будут обращаться к ресурсам локальной сети? Каков ваш фактический вариант использования?
DNS-трафик от VPN-клиентов должен быть минимальным, и это не должно быть первой проблемой объема трафика, с которой вы, вероятно, столкнетесь. Вы уверены, что вас беспокоит только DNS-трафик, а не общий трафик? Используют ли ваши VPN-клиенты VPN-подключение в качестве шлюза по умолчанию, так что весь трафик направляется через VPN, что и вызывает вашу проблему? (Я полагаю, вы хотите, чтобы «Использовать удаленную сеть как шлюз по умолчанию» было отключено в ваших VPN-клиентах.)
Похоже, вы не просто хотите контролировать, какой DNS-сервер получают VPN-клиенты, как предполагает ваш изначальный вопрос, но и контролировать, как VPN-клиенты маршрутизируют свой трафик (через VPN или через свое интернет-соединение). VPN-клиенты всегда будут иметь возможность использовать вашу локальную сеть в качестве маршрута по умолчанию для всего интернет-трафика, использовать ваш DNS для разрешения по умолчанию, широковещательный трафик всегда будет поступать и т. д. Вы можете заблокировать любой из них с помощью брандмауэра, но пакеты уже пройдут через канал в этот момент. Поэтому, боюсь, вам придется вручную правильно настраивать VPN-клиенты, независимо от того, что вы делаете на стороне локальной сети.
Вы также можете убедиться, что порядок подключений на VPN-клиентах настроен правильно, чтобы сначала использовать подключение к Интернету. См. https://serverfault.com/questions/163401/изменение-порядка-dns-поиска-при-подключении-в-vpn
Надеюсь, вы найдете решение, которое подойдет именно вам.