Я не использую Windows 7, но маловероятно, что выпуски Windows 7 Home поддерживают этот уровень контроля. Windows Server Edition может.
Вот несколько возможных решений, если 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 либо маршрутизируется, либо соединяется по мосту, а не через NAT7, иначе маршрутизатор увидит 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/is-there-something-like-dnsmasq-for-windows для получения некоторых предложений по программному обеспечению Windows-сервера Windows, или вы можете запустить крошечную виртуальную машину Linux и запустить в ней dnsmasq.
Лично я запускаю Tomato на своем маршрутизаторе и пересылаю DNS-запросы на разные DNS-серверы на основе запрошенного доменного имени. Несколько полезных ссылок:
Список модов Tomato: http://www.linksysinfo.org/index.php?threads/tomato-modifications.26037/
поддерживаемое оборудование: http://tomatousb.org/doc:build-types
Open WRT: http://openwrt.org
Gargoyle firmware: http://www.gargoyle-router.com/
EDIT:
In response to your comment that you want to "use your Win7 box without having it pushing all the DNS traffic", I think there are a few questions need to be cleared up:
I could be wrong but I think you can't assign a different DNS server to VPN clients with Windows 7 built-in VPN server. Unless there's a registry setting to do this. I tried googling it but couldn't find anything. Maybe someone else can be of more help to you.
If you want VPN clients to receive an off-site DNS server, they won't be able to resolve local hostnames on your network and they can only address LAN resources by IPs. How do you intend them to address LAN resources? What is your actual use case?
DNS traffic from VPN clients should be minimal and it should not be the first traffic volume issue you likely to run into. Are you sure it's only DNS traffic that's your concern, not general traffic? Are your VPN clients using the VPN connection as the default gateway so that all traffic is routing through the VPN, thus causing your problem? (I believe you want "Use remote network as default gateway" to be off in your VPN clients.)
It seems like you don't just want to control what DNS server the VPN clients receive as your original question suggest, but control how the VPN clients route their traffic (whether through the VPN or their internet connection). The VPN clients will always have the option to use your local network as a default route for all internet traffic, use your DNS for default resolution, broadcast traffic will always come in, etc. You can block any of them using a firewall but the packets will have already come thru the pipe at that point. So I'm afraid you'll have to manually configure the VPN clients properly as well no matter what you do on the LAN side.
You might also want to make sure the connection order on the VPN clients
is properly set to use internet connection first. See
https://serverfault.com/questions/163401/change-the-order-of-dns-lookup-when-connected-in-the-vpn
Hope you'll find the solution that works for you.