Итак, вот настройка сети:

                                                    +
    +--------+     +--------+     +--------+        |      +--------+     +--------+     +--------+
    | Client |     | Client |     | Client |        |      | Client |     | Client |     | Client |
    +--------+     +--------+     +--------+        |      +--------+     +--------+     +--------+
    |              |              |                 |      |              |              |
    |              |              |                 |      |              |              |
    |              v              |                 |      |              v              |
    +----------->+------------+<--+                 |      +----------->+------------+<--+
                 |VPS Instance|                     |                   |VPS Instance|
    +------------+------------+                     |                   +------------+
    |                         ^                     |                                ^
    |                         |                     |                                |
    |                         |              +---------->                            |
    |                         |              +---------->                            |
    |                         |              +---------->         Now a persistant two way connection
    |                     Initial Conn.             |                                |
    |                         |                     |               for tunneling client connections back
    |                         |                     |                                |
    |         For setting up a|tunnel/reverse proxy.|               to the home server.
    |                         |                     |                                |
    |                         |                     |                                |
HS Inaccessibible             |                     |                                |
    |                         |                     |                                |
    |                         |                     |                                |
    v      ISP Firewall/NAT   |                     |             ISP Firewall/NAT   |
 +----------------------------|------+              |   +----------------------------|------+
 |                            |      |              |   |                            |      |
 |          +-------------+---+      |              |   |          +-------------+<--+      |
 |          | Home Server |          |              |   |          | Home Server |          |
 |          +-------------+          |              |   |          +-------------+          |
 +-----------------------------------+              +   +-----------------------------------+

Это также, в основном, объясняет, чего я хочу достичь. У меня есть недоступный сервер, который я хочу сделать доступным путем туннелирования трафика на доступный сервер. Поскольку один из серверов недоступен, туннель не может быть пассивным; это должно быть активное соединение, инициированное недоступным.

Как это может быть сделано? Есть ли способ сделать это с помощью iptables и некоторой комбинации туннельных интерфейсов?

Некоторый основной поиск приводит меня к обратным SSH-туннелям, туннельным интерфейсам (по общему признанию, я не мог найти доступную документацию по более высокоуровневому обзору, который был слишком высокого уровня) и программному обеспечению VPN.

  • Обратный SSH-туннель кажется ненужным, поскольку его не нужно защищать, и процесс, выполняющийся на сервере, уже будет достаточно ресурсоемким, и я не хочу обременять его шифрованием и сжатием.

  • Туннельные интерфейсы: я действительно не мог найти достаточно доступную и низкоуровневую документацию, которая имела бы ту форму, которую я хотел, находясь в точке, я бы это понял.

  • Программное обеспечение VPN раскрывает всю сеть (верно?), В то время как я действительно хочу только перенаправить выбранные порты. И, честно говоря, это кажется сложным большую часть времени.

Теперь я нашел программу для этого (PortFusion), но у меня просто не было возможности проверить ее производительность. Кроме того, я чувствую, что должен быть собственный способ сделать это в Linux, я просто не могу найти результаты для этого.

1 ответ1

0

Я сделал это Установите сервер openvpn на VPS. Настройте домашний ящик в качестве клиента. OpenVPN позволит подключаться к клиенту.

Вы можете либо изменить статическую маршрутизацию на другой стороне VPS, чтобы она могла отправлять трафик на ваш домашний компьютер, либо установить VPN-клиент на другие три машины. Первый пример сложнее в настройке, но проще в обслуживании.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .