Я пытаюсь получить доступ к веб-серверу, работающему на ПК, который находится за брандмауэром, которым я не управляю, с помощью VPN-соединения (openvpn ). В основном, Я хочу использовать общедоступный IP-адрес своего VPN-сервера для доступа к веб-серверу на удаленном ПК за брандмауэром.
Согласно изображению, http://193.105.1.1:8085 представит сеть сайт размещен по адресу 192.168.1.1:8080
Извините, если этот вопрос уже был рассмотрен. Я пытался найти что-то подобное, но на самом деле не знаю, что искать.
Достаточно просто!
Для простоты рассмотрим машину A - 193.105.1.1 и машину B - 192.168.1.1
Установите сервер OpenVPN на машине A
Я предпочитаю Ubuntu 18.04 и скрипт установщика OpenVPN Nyr
Просто запустите это в терминале
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
Предполагая, что у вас уже есть apache или nginx на компьютере B, убедитесь, что он прослушивает все интерфейсы.
На компьютере B установите клиент OpenVPN для подключения к вашему серверу!
Запустите этот код в терминале, чтобы установить клиент OpenVPN
sudo apt-get install openvpn
Теперь нам нужно настроить компьютер A для маршрутизации трафика с общедоступный IP-адрес на внутренний IP-адрес OpenVPN, машине B будет назначен адрес 10.8.0.2, если вы использовали сценарий Nyr.
Давайте настроим маршрутизацию!
sudo ufw enable ssh && sudo ufw enable
sudo nano / etc / default / ufw
sudo nano /etc/ufw/sysctl.conf[1236 visibleUncomment n "et / ipv4 / ip_forward = 1". Сохраните и закройте файл.
sudo nano /etc/ufw/before.rules
В конце строки после строки «COMMIT» добавьте следующее
* nat
-F
: PREROUTING ACCEPT [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 MASQUERADE
COMMIT
Измените eth0 на имя вашего сетевого интерфейса.
Сохраните и перезагрузите оба сервера! Подключите машину B к машине A с помощью клиента OpenVPN.