В этом уроке мы настроили L2TP VPN-сервер , все работает как очаровательный.
Единственная проблема
Мы не хотим, чтобы клиент маршрутизировал весь трафик, используя эту VPN, только определенную подсеть, например, 10.0.0.0/20.
На Mac нам нужно установить маршрут вручную с помощью команды, но для мобильных устройств, кажется, нет способа сделать это?
Итак, можно ли для клиента автоматически настроить подсеть "10.0.0.0/20"?
Ответы:
Хорошо, этот вопрос задают снова и снова через Интернет, и в большинстве случаев есть (полу) неправильный ответ, что вы не можете сделать то, что было описано в оригинальном посте. Позвольте мне уточнить это раз и навсегда :)
Краткий ответ - L2TP (и, в этом отношении, PPTP) не имеют средств для выполнения маршрутизации в протоколе, но это может быть достигнуто вне протокола.
Поскольку L2TP - это изобретение Microsoft, лучшим источником информации является их техническая документация (кстати, они довольно хороши). Техническое описание того, что я собираюсь объяснить ниже, можно найти по адресу VPN Addressing and Routing . Ключевые слова для правильной настройки (если вы собираетесь провести собственное исследование): DHCPINFORM и «бесклассовые статические маршруты».
Прежде всего, как это работает:
Ну, есть предостережение
Я собираюсь описать типичную конфигурацию с использованием Linux-бокса в качестве VPN-сервера (вы можете настроить MS-серверы, используя ссылку на документацию Microsoft).
Для настройки маршрутов на клиентах нам понадобятся следующие ингредиенты:
Ниже приведен дамп рабочей конфигурации accel-ppp. Я предоставляю это полностью, иначе было бы трудно объяснить, что и куда идет. Если у вас уже работает VPN, вы можете пропустить этот файл конфигурации и сконцентрироваться на конфигурации DHCP, описанной ниже.
На этом этапе наши клиенты могут подключаться через L2TP (или PPTP) и взаимодействовать с сервером VPN. Таким образом, единственная недостающая часть - это DHCP-сервер, который прослушивает созданные туннели и отвечает необходимой информацией. Ниже приведена выдержка из файла конфигурации dnsmasq (я предоставляю только опции, связанные с DHCP):
В приведенном выше отрывке мы проталкиваем маршруты 192.168.70.0/24, 192.168.75.0/24 и 10.0.0.0/24 через 192.168.99.254 (сервер VPN).
Наконец, если вы прослушиваете сетевой трафик (например, на сервере VPN), вы увидите что-то вроде следующего для ответа на сообщение DHCPINFORM:
PS Я почти забыл важную часть, необходимую для успешного использования вышеуказанной конфигурации. Ну, это было описано в документах Microsoft, на которые я ссылался, но кто читал документацию? :) ОК, клиенты должны быть настроены без «Использовать шлюз по умолчанию» в VPN-соединении (в Windows это в свойствах соединения -> Сеть -> Протокол Интернета версии 4 (TCP / IPv4) -> Свойства -> Дополнительно -> Настройки IP ). На некоторых клиентах также есть опция «Отключить добавление маршрутов на основе классов» - она должна быть отключена, поскольку она явно отключает функциональность, которую мы пытаемся реализовать.
источник
Я не думаю, что вы можете протолкнуть маршрут к клиенту в L2TP / IPSEC VPN. Вам придется выполнить настройку непосредственно на клиенте.
С каким мобильным клиентом у вас проблемы? Проще предоставить некоторую информацию, если мы знаем операционную систему и используемое вами программное обеспечение.
источник