Можно создать систему, зарегистрированную в проект Bkrpr с открытым исходным кодом. Это является трудоемким, но произведет DRM бесплатные оцифрованные копии Ваших книг.
Если Вы хотите сделать это процессом с 1 шагом, Вы могли бы создать пакетный файл, который выполняет rasdial для автоматизации соединения VPN и затем делает МАРШРУТ ADD:
rasdial "connection name" username password ('*' to prompt for password)
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0
Это предполагает, что Вы соединяетесь с Microsoft VPN, но Вы могли написать сценарий клиента OpenVPN таким же образом:
openvpn c:\path\to\config-file.ovpn
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0
Вы могли сделать маршрут персистентным (я думаю с route -p
) таким образом, Вы не должны вводить его каждый раз. При использовании openVPN сервер может отправить маршрут клиенту: push "route 192.168.1.0 255.255.255.0"
например. С другими серверами VPNs я' не знаю, но я предполагаю, что у них может быть подобная опция также.
netsh interface ipv4 add route [destination/prefixlength] "[interface/connection name]"
Я использую это для работы с соединениями, которые имеют перекрытие подсетей, добавляя статические маршруты для хостов в удаленной подсети - серверов и т.п.
Если у вас несколько VPN, вы можете столкнуться с проблемой, что когда они соединяются в случайном порядке, их идентификаторы интерфейса меняются. В этом случае обычный ROUTE -P ADD 10.0.0.0 MASK 255.255.0.0 10.0.0.1 IF 42
не работает. Когда VPN подключается в следующий раз, у него может быть другой номер интерфейса.
Powershell имеет команду, которая добавляет маршруты в VPN соединение и удаляет их снова, когда VPN отключена: Add-VpnConnectionRoute. Она работает без указания идентификатора интерфейса.
Основной синтаксис:
Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16
После ввода этой команды маршруты будут созданы/удалены автоматически при подключении/отключении VPN.
.