Доступ к веб-серверу на VPN-клиенте через публичный IP-адрес VPN-сервера

Доступ к веб-серверу на VPN-клиенте через публичный IP-адрес VPN-сервера

Я пытаюсь получить доступ к веб-серверу, работающему на ПК, который находится за брандмауэром, которым я не управляю, используя VPN-подключение (openvpn). По сути, я хочу использовать публичный IP моего VPN-сервера для доступа к веб-серверу на удаленном ПК за брандмауэром.

Согласно изображению,http://193.105.1.1:8085будет представлен веб-сайт, размещенный по адресу 192.168.1.1:8080

Сеть

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

решение1

Это достаточно просто!

Для простоты рассмотрим Машину A - 193.105.1.1 и Машину B - 192.168.1.1.

  1. Установите сервер OpenVPN на машину A

    Я предпочитаю Ubuntu 18.04 и скрипт установщика Nyr OpenVPN

    Просто запустите это в терминале

    wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

  2. Предполагая, что на машине B уже настроен Apache или nginx, убедитесь, что он прослушивает все интерфейсы.

  3. На машине B установите клиент OpenVPN для подключения к вашему серверу!

    Запустите этот код в терминале, чтобы установить OpenVPN Client

    sudo apt-get install openvpn

  4. Теперь нам нужно настроить машину A для маршрутизации трафика с публичного IP-адреса на внутренний IP-адрес OpenVPN. Машине B будет назначен адрес 10.8.0.2, если вы использовали скрипт Nyr.

Давайте настроим маршрутизацию!

  1. Включить брандмауэр UFW
  2. sudo ufw enable ssh && sudo ufw enable
  3. sudo nano /etc/default/ufw
  4. Измените "DEFAULT_INPUT_POLICY" и "DEFAULT_FORWARD_POLICY" на ACCEPT. Сохраните и закройте файл.
  5. sudo nano /etc/ufw/sysctl.conf
  6. Раскомментируйте n"et/ipv4/ip_forward=1". Сохраните и закройте файл.
  7. sudo nano /etc/ufw/before.rules
  8. В конце строки после строки ""COMMIT" добавьте следующее

    *нат

    :ПРЕДВАРИТЕЛЬНЫЙ ПЕРЕХОД ПРИНЯТЬ [0:0]

    -A PREROUTING -i eth0 -d 193.105.1.1 -p tcp -m multiport --dports 23:65535 -j DNAT --to-destination 10.8.0.2

    -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j МАСКАРАД

    СОВЕРШИТЬ

Измените eth0 на имя вашего сетевого интерфейса.

Сохраните и перезагрузите оба сервера! Подключите машину B к машине A с помощью клиента OpenVPN.

Связанный контент