Пожалуйста, помогите мне определить, какой путь реализации выбрать для следующей задачи:
У меня есть устройство черного ящика, которое действует как веб-сервер (я могу подключиться к нему локально, введя его IP-адрес в поле адреса браузера). Коробка не реализует никаких мер безопасности, кроме простого имени пользователя и пароля. Это, конечно, хорошо, когда этот сервер находится в изолированной сети, но я хочу иметь доступ к нему из Интернета - то есть из любой точки мира. При этом я хочу использовать безопасность TLS для шифрования данных.
Имея Rasbperry PI (и программное обеспечение openVPN), я подумал, что он подойдет для этого приложения. Существует множество различных учебных пособий по реализации VPN, моста, маршрутизатора и брандмауэра с использованием Raspberry PI, но я не могу понять, какая из четырех функций подходит для моего приложения. Концептуальная схема показана ниже:
Raspberry Pi будет иметь два сетевых интерфейса для доступа в интернет: один через наземный Ethernet (eth0), другой - через сотовый интернет (eth1) - который всегда доступен для наземного интернет-соединения. IP-адреса для обоих интерфейсов будут известны. Третий интерфейс Ethernet (eth2) будет подключен к локальной сети через коммутатор. Сервер также будет подключен к коммутатору. У меня нет контроля над сервером (это черный ящик) - я знаю только его IP-адрес.
Идея состоит в том, чтобы Raspberry PI выполнял роль посредника между мной и сервером, чтобы я мог безопасно подключиться к его веб-приложению с помощью своего веб-браузера. Но какие функции Raspberry Pi должен реализовать: VPN, маршрутизатор, мост или брандмауэр?
РЕДАКТИРОВАТЬ:
Задача, о которой я говорил выше, была слишком крутой для меня (недостаток компетенции), и я решил упростить настройку для начала. Я не хотел удалять верхнюю часть вопроса на тот случай, если кто-то сочтет его полезным и соответствующие ответы. Вместо этого моя новая (упрощенная) установка будет выглядеть следующим образом:
RP будет подключен к сотовому Интернету через интерфейс ppp0 и направит весь трафик на интерфейс eth0, который будет напрямую подключен к серверу:
1. dynamic ppp0 IP address (given by cell service provider)
2. static eth0 IP address (assigned by me)
3. non-secure internet connection
4. RP is connected to the server directly (no switch needed)
Я нашел несколько решений, подобных этому и этому, но они не дают четкого объяснения, почему все так делается. Они также предоставляют директивы командной строки, которые я не буду знать, как отменить. Вместо этого я хотел бы, чтобы кто-то ссылался на фактические файлы системы / конфигурации, которые я мог бы редактировать и возвращать при необходимости.
В настоящее время, когда я подключаю RPi к веб-серверу, я могу просматривать его из веб-браузера. Цель состоит в том, чтобы получить доступ к веб-серверу из Интернета через RPi. Может ли кто-нибудь предоставить учебное пособие о том, как правильно настроить маршрутизацию, учитывая, что интерфейс ppp0 будет подниматься и опускаться в зависимости от сотовой связи, а также его IP-адрес будет отличаться и каждый раз неизвестен.