Как получить доступ к хосту за сервером через VPN (IP Forwarding)

У меня есть сервер Ubuntu (172.10.200.11) и много удаленных терминальных устройств с сим-картами и каждый отдельный оператор сим-карты, использующий разные пулы IP, такие как 10.57.0.0/16 для OP-A, 10.112.0.0/16 для OP-B и т. Д.

На самом деле на сервере я использую таблицу маршрутизации, чтобы иметь возможность доступа к удаленным терминалам в разных пулах IP. Без этой таблицы маршрутизации у меня нет доступа к пулам IP. Например: 10.57.0.0/16 с использованием gw 172.10.238.1 10.112.0.0/16 с использованием gw 172.10.238.2 10.155.0.0/16 с использованием gw 172.10.238.3

А также...

На самом деле я использую "Cisco VPN Client" для доступа к IP-адресу моего сервера за пределами центра обработки данных. Для этого я подключаюсь к VPN-шлюзу с помощью приложения "Cisco VPN CLient", а затем пытаюсь пропинговать IP-адрес моего сервера. 172.10.200.11

После того как VPN-соединение установлено с VPN-шлюзом, я могу успешно выполнять следующие действия на своем ноутбуке:

  • Установить подключение к удаленному рабочему столу IP-адрес сервера:172.10.238.3
  • Установите SSH-соединение с моего ноутбука на IP-адрес сервера:172.10.238.3
  • ICMP пинг до IP сервера:172.10.238.3
  • Трассировка на IP-адрес сервера:172.10.238.3

Для проверки состояния подключения (вверх или вниз) удаленных терминальных устройств я подключаюсь к серверу через SSH или удаленный рабочий стол, а затем пытаюсь пропинговать IP-адрес удаленного терминального устройства.

Пока все в порядке, но этот способ потребляет слишком большую пропускную способность, особенно в случае подключения через подключение к удаленному рабочему столу.

  1. Подключитесь к VPN-шлюзу с помощью "Cisco VPN Client" с ноутбука
  2. Установите подключение удаленного рабочего стола к IP-адресу сервера
  3. Откройте браузер на сервере при подключении к удаленному рабочему столу.
  4. Введите IP-адрес удаленного терминала (RTU) (10.155.1.22) в браузере и делайте что хотите!
  5. Успешно установите пинг ICMP на IP-адрес RTU (10.155.1.22) на экране терминала на удаленном рабочем столе или в сеансе подключения SSH.

Но я хочу сделать следующее:

  • Подключитесь к VPN-шлюзу с помощью Cisco VPN Client с ноутбука
  • Откройте браузер в ноутбуке
  • Введите IP-адрес удаленного терминала (10.155.1.22) в браузере и делайте что хотите!
  • Успешно установить пинг ICMP на IP-адрес RTU (10.155.1.22) на экране оболочки / терминала на моем ноутбуке (НЕ в удаленном рабочем столе)

Ограничения:

  • На самом деле я не имею права изменять настройки VPN-шлюза. Но я могу только изменить настройки сервера, чтобы добиться этого.

Есть какой-либо способ сделать это? Я знаю, что это существует, но мой разум сбит с толку. Сначала я установил Hamachi, но таким образом я получил доступ к серверу без необходимости подключения к VPN. Но все же я не могу напрямую пинговать IP-адреса RTU с моего ноутбука. Это не решило мою проблему.

Технически я хочу использовать свой сервер в качестве "маршрутизатора" для маршрутизации / пересылки входящих запросов от моего ноутбука (пакеты ICMP и IP) к IP-адресу RTU.

Я исследовал, как включить IP MASQUERADE или IP FORWARDING в Ubuntu 16.04. Если я прав - технически - ему нужны 2 NIC или 2 разных IP на машине. Но у меня есть только один IP (Bonded) на моем сервере.

Мне нужно напрямую подключаться к IP-адресам RTU с моего ноутбука, и мой сервер должен выступать в качестве маршрутизатора / шлюза и т. Д. Для достижения этой цели.

Кто-нибудь может объяснить мне шаг за шагом, как это сделать на Ubuntu?

Нажмите, чтобы увидеть изображение моей системной диаграммы

2 ответа

Вам нужно добавить маршруты для 10.57.0.0/16 и т.д. сети к вашему VPN-клиенту, так что они маршрутизируются через IP-адрес сервера. Вы должны иметь возможность добавлять маршруты в настройках вашего VPN-сервера. Я не знаю подробностей о том, как они будут добавлены в сервер Cisco VPN.

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

Когда ваш ноутбук устанавливает VPN-соединение, необходимо добавить следующий маршрут:

      - route add 10.57.0.0 mask 255.255.0.0 gw <YOUR_VPN>
- route add 10.112.0.0 mask 255.255.0.0 gw <YOUR_VPN>

И то же самое для любых других шлюзов посередине.

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

Кроме того, если вы хотите только отслеживать время безотказной работы узлов, я предлагаю вам использовать Icinga2, чтобы вы могли иметь сервер, отправляющий проверки работоспособности каждому узлу и получающий уведомление в случае, если кто-то проявит безответственность.

Другие вопросы по тегам