Проброс портов через интернет-канал VPN-сервера в удаленную локальную сеть за VPN-клиентом
Есть роутер Keenetic Giga (локальная сеть 192.168.1.0/24) c доступом в Интернет через публичный WAN IP-адрес, на котором включен VPN-сервер PPTP. В территориально другом месте установлен Keenetic Extra (локальная сеть 192.168.2.0/24) и подключен к Интернету через другого провайдера с частным IP-адресом. Между Keenetic Giga и Extra установлен VPN-туннель по протоколу PPTP.

Как из Интернета, обращаясь по публичному WAN IP-адресу Giga, можно попасть на веб-интерфейс удаленного Extra или другого хоста локальной сети, находящейся за VPN-туннелем? Как настроить проброс портов с WAN-интерфейса Giga в локальную сеть за Extra?
1. Роутер Giga выходит в Интернет через интерфейс ISP c публичным WAN IP-адресом.
2. В Giga нужно в настройках VPN-сервера (в меню Приложения > VPN-сервер PPTP) включить механизм NAT для клиентов, выключить опцию Множественный вход, чтобы использовать одно подключение на пользователя, и прописать статический IP-адрес для клиента, под которым будет подключаться Extra.

3. Также нужно добавить статический маршрут в меню Маршрутизация на подсеть 192.168.2.0/24 через IP-адрес, который мы зарезервировали в предыдущем пункте (в нашем примере это IP-адрес 172.16.1.33).

4. На роутере Extra необходимо в меню Другие подключения настроить соединение PPTP к VPN-серверу на Giga и обязательно установить галочку в поле Использовать для выхода в интернет.

Важно
Так как на роутере будет установлена галочка в поле Использовать для выхода в интернет и приоритет интерфейса PPTP больше, чем у интерфейса локального провайдера, по умолчанию весь трафик будет идти в VPN-туннель.
Если же на Extra нужно оставить выход в Интернет через локального провайдера, нужно будет прописать статические маршруты через интерфейс PPTP для всех клиентов, которые будут пользоваться пробросом портов (доступом к удаленным хостам). Для этого нужно знать их IP-адреса. Например, мы будем обращаться по открытым портам с удаленного хоста, который имеет IP-адрес выхода в Интернет 95.211.169.65. В этом случае для работы проброса портов на Extra, который является PPTP-клиентом, нужно прописать маршрут до этого хоста (с IP 91.211.169.65) в меню Маршрутизация и добавить маршрут через интерфейс PPTP.

5. Также для интерфейса PPTP необходимо разрешить прохождение трафика в меню Межсетевой экран.

6. После этого в Giga нужно настроить правило проброса порта на удаленную подсеть в меню Переадресация. В нашем примере выполним проброс внешнего порта 888 на локальный IP-адрес роутера Extra и порт 80 для доступа к его веб-интерфейсу.

После данной настройки можно будет из Интернета обращаться по публичному WAN IP-адресу роутера Giga по порту 888 (http://193.0.x.x:888), чтобы попасть на веб-интерфейс удаленного Extra, находящегося за VPN. Подобным образом можно пробросить порт на любой хост в удаленной локальной сети, находящейся за VPN-туннелем.
Примечание
Опция Использовать для доступа в интернет включают маршрут по умолчанию на устройстве через PPTP-туннель. На роутерах возможен лишь один (безусловный) маршрут по умолчанию. Если данную настройку не выполнить, ответы на проброшенные с сервера сквозь туннель запросы будут отправлены клиентом через WAN-интерфейс. Это приведет к проблеме "треугольного маршрута". Чтобы этого избежать, не выполняя назначение маршрута по умолчанию через туннель к серверу, можно настроить статическую маршрутизацию, если известны IP-адреса хостов, с которых происходят обращения в сеть клиента, для них нужно создать маршруты через интерфейс туннеля PPTP. Такую схему можно реализовать, если подключать к серверу устройство сегмента профессионального оборудования.