Доступ к веб-серверу позади маршрутизатора, когда перенаправление портов не является опцией. Как localtunnel, но для нескольких сайтов

У меня была подобная проблема (Win7, x64, gui1.0.3, openvpn2.1.4, lenovo t500 - intel 82567LM) - ужасная задержка (ping обычно не ниже 500 мс, скорее> 1000 + (иногда близко к 2 с) и очень колеблющиеся значения (600,1800,550,1400 и т.д.). Я отключил IPv6 для платы LAN, и адаптер TAP также (только одно устройство прочь не решило проблему), и все, кажется, в порядке на данный момент.

0
задан 28 September 2013 в 02:26
3 ответа

There are already good ideas, but here is the solution to make your VMWare accessible as if it was on your vps:

  1. Install openvpn server on your vps. There are many tutorials. I suggest choosing the bridged mode ( with the tap interface ). Choose an ip range like 10.1.2.1-254 ( 10.1.2.0/24 ). Once you have generated your ca etc, generate a client key called "vmware", without a passphrase, and in the /etcopenvpn/cdd directory put a file called "vmware" with this content:

    --ifconfig-push 10.1.2.3 255.255.255.0

the important lines in your server.conf (ie: which you have to change from the default config)

dev tap0
server-bridge 10.1.2.1 255.255.255.0 10.1.2.100 10.1.2.110
client-config-dir /etc/openvpn/ccd

Make sure udp port 1194 is open for public access ( or at least from the public ip of your vmware machine ).

  • On your vmware install also openvpn, but in /etc/openvpn/ directory you put:
  • your private key + certificate + ca certificate
  • a file named "vps.conf" with the client configuration

important lines:

remote <public ip address your vps> 1194
ca, cert, key

If you enable the openvpn service ( checkconfig openvpn on ) the client will start automatically at boot, establishing a tunnel between your vpn and your vps.

  1. Now in the apache configuration of your vps create a vhost ( not the default one preferably ) with something like:

ServerName MyVmware.vm.ware.com

RewriteEngine On RewriteRule (. *) http://10.1.2.3/$1 [P, L]

Вот ...

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

0
ответ дан 5 December 2019 в 14:54

если вы находитесь во внутренней сети и у вас нет администратора на устройствах периметра, вы не можете получать входящие соединения из Интернета на хост в вашей частной локальной сети. однако есть несколько вариантов

1) ваш ящик внутри частной сети может подключаться к вашему облачному серверу / vps (но не наоборот), поэтому используйте cron, который заполняет корень документа для apache / nginx. например, вы можете использовать pki и rsync каждый час.

2) настроить openvpn на внутреннем сервере и инициировать туннель оттуда к сайтам ваших клиентов (не рекомендуется ... это бэкдор в вашу компанию)

3) подружитесь с администраторами брандмауэра и попросите их перенаправить порт для вас (хотя вам, скорее всего, придется загружать файлы на веб-сервер в демилитаризованной зоне, так что вы также можете сделать №1 и загрузить в облако)

0
ответ дан 5 December 2019 в 14:54

Вы можете сделать что-то вроде этого на своем компьютере разработчика:

ssh vps-hostname -R 8080:localhost:80

Это создаст зашифрованный туннель от порта 8080 на vps к порту 80 на локальном компьютере.

Я думаю, что вы ' d также необходимо настроить ssh для использования пакетов keep-alive (например, с параметром ClientAliveInterval в sshd_config на VPS), поскольку слишком долгое простаивающее соединение будет прервано вашим маршрутизатором .

0
ответ дан 5 December 2019 в 14:54

Теги

Похожие вопросы