По какой-то причине Windows использует только один интерфейс для вещания в локальной сети (тот, у которого самые низкие показатели). Когда клиент подключается к сети VPN, я хочу, чтобы он сделал новую сеть предпочтительной для вещания, изменив значение метрики для маршрута 255.255.255.255 на интерфейсе. У Microsoft есть опция DHCP, которая помогает настроить метрику интерфейса: База метрик маршрутизатора по умолчанию (http://msdn.microsoft.com/en-us/library/cc227277.aspx). Тем не менее, я не могу заставить его работать.
Клиент работает под управлением Windows 8, но аналогичная проблема существует в Windows 7 (нельзя сказать о более ранних версиях, хотя она должна присутствовать, поскольку Windows идентифицирует себя как «MSFT 5.0» начиная с Windows 2000). Сервер - ISC DHCP-сервер 4.2 (isc-dhcp42-server-4.2.4_2). Клиент подключается к серверу через туннель OpenVPN и получает информацию DHCP. В соответствии с Wireshark захвата вендор конкретные параметры также отправляются. Но это не имеет никакого значения, таблица идентична той, в которой не отправляется опция поставщика.
Вот конфиг DHCP:
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
option space ms-specific;
option ms-specific.metric-fix code 3 = unsigned integer 32;
subnet 172.16.130.0 netmask 255.255.255.0
{
range 172.16.130.80 172.16.130.130;
option routers 172.16.130.8;
option broadcast-address 172.16.130.255;
default-lease-time 600;
max-lease-time 7200;
vendor-option-space ms-specific;
option ms-specific.metric-fix 1;
}
Вот таблица маршрутизации клиента после подключения
Address Mask Gateway Interface Metric
0.0.0.0 0.0.0.0 172.16.13.8 172.16.13.80 20
0.0.0.0 0.0.0.0 172.16.130.8 172.16.130.80 30
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
172.16.13.0 255.255.255.0 On-link 172.16.13.80 276
172.16.13.80 255.255.255.255 On-link 172.16.13.80 276
172.16.13.255 255.255.255.255 On-link 172.16.13.80 276
172.16.130.0 255.255.255.0 On-link 172.16.130.80 286
172.16.130.80 255.255.255.255 On-link 172.16.130.80 286
172.16.130.255 255.255.255.255 On-link 172.16.130.80 286
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 172.16.13.80 276
224.0.0.0 240.0.0.0 On-link 172.16.130.80 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 172.16.13.80 276
255.255.255.255 255.255.255.255 On-link 172.16.130.80 286
172.16.13.0/24 - это физическая локальная сеть. 172.16.130.0/24 - это VPN. Как видите, маршруты из физической локальной сети имеют более низкую метрику. Я считаю, что должна быть возможность расставить приоритеты VPN, потому что, например, Hamachi также создает виртуальный интерфейс с включенной «Автоматической метрикой», но после подключения он всегда имеет более низкую метрику, чем физическая сеть и туннель OpenVPN. Я попытался изменить порядок адаптера в «Дополнительные настройки» в «ncpa.cpl», но это также не имело никакого эффекта.
Итак, есть ли способ сделать мой туннель OpenVPN предпочтительным для вещания 255.255.255.255? Было бы замечательно, если бы я мог сделать это на стороне сервера, поэтому клиентам не нужно ничего настраивать.