Назад | Перейти на главную страницу

TP-LINK TL-MR6400 IPSEC L2TP VPN-туннель с сервером GCP

У меня есть роутер TP-LINK TL-MR6400, подключенный к Интернету с помощью сим-карты LTE.
Это очень грубая сетевая диаграмма моей текущей ситуации.1 Мои службы Интернета вещей находятся за TL-MR6400.
К сожалению, мой мобильный провайдер использует NAT для моего внешнего динамического IP-адреса с моего маршрутизатора, и поэтому я не могу открыть ни свой сервер MQTT, ни свои камеры, хотя, конечно, серфинг в Интернете с ПК не является проблемой.
Я где-то обнаружил, что эту ситуацию можно преодолеть, создав VPN-туннель с фиксированным IP-адресом сервера. Поэтому я создал микро-экземпляр с Google Cloud Platform (GCP) со статическим IP-адресом.
На мой взгляд, клиент VPN должен вызвать сервер GCP VPN и создать туннель. На этом этапе правила брандмауэра сервера должны пересылать адреса и порты MQTT и веб-камеры на мой статический IP-адрес на разных портах, чтобы управлять моими темами MQTT с помощью специального приложения или получать доступ к удаленному серверу через ssh.
Облачный сервис MQTT не является вариантом, поскольку он должен быть всегда включен, независимо от доступности Интернета. Бизнес-логика размещается на том же RPi, что и MQTT, и постоянно взаимодействует с датчиками и исполнительными механизмами в локальной сети.
Если Интернет не работает, я не могу управлять удаленно, но резервные процедуры все равно будут работать локально.
Может быть, вы можете порекомендовать:

Решение, которое вы пытаетесь достичь, подходит, просто имейте в виду, что этот обходной путь может увеличить пропускную способность и задержку.

В качестве примечания: я предвзято отношусь к OpenWRT, но эта прошивка требует определенного уровня знаний и опыта для настройки такой среды (или некоторого свободного времени с большим вниманием и исследованиями в Интернете).

1-й сценарий.

У вас может быть экземпляр GCE (с переадресацией IP) и локальная виртуальная машина или сервер для создания туннеля OpenVPN между друг другом, создания статической маршрутизации для вашего проекта GCP и локального TP-Link, а затем добавление следующей таблицы iptable правила для каждого порта, который вы хотите открыть миру, примерно так.

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.128.0.50:80
sudo iptables -t nat -A POSTROUTING -p tcp -d 10.128.0.50 --dport 80 -j SNAT --to-source 10.128.0.100

Вам нужно будет изменить это, если вы не хотите использовать здесь NAT.

2-й сценарий.

Практически первый сценарий, но с использованием OpenWRT на вашем TP-Link, а не на локальной виртуальной машине или сервере.

Вот видео это объясняет, как настроить сервер OpenVPN