Есть Keenetic Giga (локальная сеть 192.168.1.0/24) c доступом в Интернет через "белый" публичный IP-адрес, на котором включен VPN-сервер PPTP. В территориально другом месте установлен Keenetic Omni (локальная сеть 192.168.2.0/24) и подключен к Интернету через другого провайдера с "серым" внутренним IP-адресом. Между Keenetic Giga и Keenetic Omni установлен VPN-туннель по протоколу PPTP.
Как из Интернета, обращаясь по "белому" публичному IP-адресу Keenetic Giga, можно попасть на веб-интерфейс удаленного Keenetic Omni или другого хоста локальной сети, находящейся за VPN-туннелем? Как настроить проброс портов с WAN-интерфейса Keenetic Giga в локальную сеть за Keenetic Omni?
1. Интернет-центр Keenetic Giga выходит в Интернет через интерфейс ISP c "белым" публичным IP-адресом.
2. В Keenetic Giga нужно в настройках VPN-сервера (в меню Приложения - VPN-сервер PPTP) включить механизм "NAT для клиентов", выключить опцию "Множественный вход", чтобы использовать одно подключение на пользователя, и прописать статический IP-адрес для клиента, под которым будет подключаться Keenetiс Omni.
3. Также нужно добавить статический маршрут в меню "Маршрутизация" на подсеть 192.168.2.0/24 через IP-адрес, который мы зарезервировали в предыдущем пункте (в нашем примере это IP-адрес 172.16.1.33).
4. На Keenetic Omni необходимо в меню "Другие подключения" настроить соединение PPTP к VPN-серверу на Keenetic Giga и обязательно установить галочку в поле "Использовать для выхода в Интернет".
NOTE: Важно! Так как на ротере будет установлена галочка в поле "Использовать для выхода в Интернет" и приоритет интерфейса PPTP больше, чем у интерфейса локального провайдера, по умолчанию весь трафик будет идти в VPN-туннель.
Если же на Keenetic Omni нужно оставить выход в Интернет через локального провайдера, нужно будет прописать статические маршруты через интерфейс PPTP для всех клиентов, которые будут пользоваться пробросом портов (доступом к удаленным хостам). Для этого нужно знать их IP-адреса. Например, мы будем обращаться по открытым портам с удаленного хоста, который имеет IP-адрес выхода в Интернет 95.211.169.65. В этом случае для работы проброса портов на Keenetic Omni, который является PPTP-клиентом, нужно прописать маршрут до этого хоста (с IP 91.211.169.65) в меню "Маршрутизация" и добавить маршрут через интерфейс PPTP.
5. Также для интерфейса PPTP необходимо разрешить прохождение трафика в меню "Межсетевой экран".
6. После этого в Keenetic Giga нужно настроить правило проброса порта на удаленную подсеть в меню "Переадресация".
В нашем примере выполним проброс внешнего порта 888 на локальный IP-адрес интернет-центра Keenetic Omni и порт 80 для доступа к его веб-интерфейсу.
После данной настройки можно будет из Интернета обращаться по "белому" публичному IP-адресу интернет-центра Keenetic Giga по порту 888 (http://193.0.x.x:888), чтобы попасть на веб-интерфейс удаленного Keenetic Omni, находящегося за VPN. Подобным образом можно пробросить порт на любой хост в удаленной локальной сети, находящейся за VPN-туннелем.
TIP: Примечание
Опция "Использовать для доступа в Интернет" включают маршрут по умолчанию на устройстве через PPTP-туннель. На устройствах серии Keenetic возможен лишь один (безусловный) маршрут по умолчанию. Если данную настройку не выполнить, ответы на проброшенные с сервера сквозь туннель запросы будут отправлены клиентом через WAN-интерфейс. Это приведет к проблеме "треугольного маршрута".
Чтобы этого избежать, не выполняя назначение маршрута по умолчанию через туннель к серверу, можно настроить статическую маршрутизацию, если известны IP-адреса хостов, с которых происходят обращения в сеть клиента, для них нужно создать маршруты через интерфейс туннеля PPTP. Такую схему можно реализовать, если подключать к серверу устройство сегмента профессионального оборудования.