У меня есть несколько клиентов Windows 7/8, подключающихся к серверу Linux OpenVPN (коснитесь). Я хочу настроить клиентские DNS и WINS серверы при подключении. OpenVPN не действует как DHCP-сервер; в сети есть независимый DHCP-сервер.
Наиболее разумный способ добиться этого - использовать DHCP. Однако DHCP-сервер довольно прост, и я не могу настроить эти параметры на самом DHCP-сервере. (И я бы предпочел не заменять DHCP-сервер, это было бы слишком сложно)
я пробовал push "dhcp-option DNS 10.0.0.101"
и push "dhcp-option WINS 10.0.0.101"
, но это не помогло. Клиенты просто проигнорировали это. Я предполагаю, что эти параметры обрабатываются только тогда, когда сервер OpenVPN также является сервером DHCP. (я прав?)
Настройка DNS и WINS вручную с помощью графического интерфейса Windows «Сетевые подключения» работает, но мне нужно что-то автоматическое (насколько это возможно).
Следующей моей попыткой было запустить сценарий на клиентской машине. Обычно я пишу сценарии Linux; однако что-то такое простое должно быть осуществимо даже с Windows, не так ли?
Первый подход, PowerShell (запускается от имени администратора)
$wmi = Get-WmiObject win32_networkadapterconfiguration -filter "ServiceName = 'tap0901'"
echo $wmi
$wmi.SetWinsServer("10.0.0.101","")
Как ни странно, мне не удалось найти эквивалентную команду для настройки DNS-сервера.
И это без упоминания усложнения PowerShell со значением по умолчанию ExecutionPolicy
из Restricted
, что делает его довольно неудобным для пользователя как автоматическое решение для конечного пользователя.
Другой подход, который я проверил, был netsh
. Однако во всех примерах, которые я видел с Google (например, http://community.spiceworks.com/scripts/show/2195-set-ip-address-subnet-gateway-dns-and-wins-server-all-windows-os-also-works-with-runas) они ссылались не на имя адаптера (я не уверен, что это правильный термин) - «тап *», а на какое-то произвольное «подключение по локальной сети *», которое, вероятно, будет отличаться на каждой машине.
Итак, как продолжить? Какой рекомендуемый способ решить эту проблему?
Вот мой файл client.ovpn:
client
pull
# from http://serverfault.com/questions/110281/openvpn-client-on-windows-7-cannot-add-route-from-config-script
script-security 2 system
dev tap
proto tcp-client
remote A.B.C.D 443
resolv-retry infinite
nobind
ca ..
cert ..
key ..
comp-lzo
verb 5