LINUX.ORG.RU

VPN доступ для Веб сервера


0

1

Суть вопроса вот в чем, есть сервер *А*(ip 127.0.0.1) это VPN сервер и сервер *Б*(127.0.0.2) Веб-сервер, задумка такая чтобы при вводе доменного имени на ip 127.0.0.1 пробрасывало пакеты на 127.0.0.2. VPN выступал как мостом между серверами.


Не совсем понятно. Нужно браузером заходить на сервер А, но реально веб-сервер находится на Б? А сервер просто как прокси? Cоединение между серверами должно быть через VPN?

Тогда нужно настроить на сервере А веб-сервер в режиме обратного-прокси (например nginx, манов по настройке достаточно). Дальше предполагается что VPN между серверами уже настроен и внутри VPN сети сервера могут друг до друга достучаться (tap-интерфейс в случае с openvpn). На сервере А для прокси в качестве цели назначения указываем IP сервера Б внутри виртуальной сети.

Если нужно только шифрование, то проще заменить VPN на SSH-туннель.

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

А нельзя на VPN открыть порт 80 для пользователя на сервере Б? Я имею ввиду чобы На сервере Б был веб сервер, а на сервере А только VPN, чтобы например домен test.ru (ip 127,0,0,1) при вызове домена test.ru ip был сервера А а не сервера Б, чтобы Б сервер выступал как веб сервер а сервер А как VPN с открытими портами для сервера Б. Нарисовал схемку чтобы было понятнее)) http://3.firepic.org/3/images/2013-06/30/trdyzl80irjm.jpg

GHBB
() автор топика
Ответ на: комментарий от GHBB

Сразу как-то не подумал. На сервере А можно сделать проброс 80 порта через iptables на сервер Б. Только использовать нужно не 127.0.0.1 и 127.0.0.2, а IP-адреса внутри сети VPN (например 10.0.0.1 (А) и 10.0.0.2 (Б)). На сервере Б нужно закрыть доступ к 80 порту для всех IP кроме 10.0.0.1 или для всех интерфейсов кроме tun (тоже через iptables).

Что прописать для проброса портов я вряд ли подскажу, придется гуглить. Если CentOS или что-то подобное, то можно воспользоваться system-config-firewall-tui (программа с псевдогуем для настройки файрвола).

А обязательно нужен VPN? SSH гораздо проще настраивается и меньше кушает.

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

VPN защищает ip и делает защищенный канал если я не ошибаюсь, а причем SSH тут? если можно подробнее.

GHBB
() автор топика
Ответ на: комментарий от GHBB

SSH может выполнять и роль VPN. Еще по SSH можно передавать файлы, пробрасывать порты, управлять терминалом. Все это шифруется.

В SSH возможность проброса портов уже встроена. Все что нужно это на сервере А прописать в /etc/ssh/sshd_config параметр

GatewayPorts yes
и запустить sshd. Не знаю какая у тебя ОС, но допустим нужно выполнить
service sshd restart
а на сервере Б выполнить:
ssh user@127.0.0.1 -R *:80:localhost:80
где вместо user - имя пользователя на сервере А, к которому есть доступ. Чтобы этот туннель не падал нужен keepalive и autossh на всякий случай. Конечный вариант команды для сервера Б:
autossh -M 0 -q -f -N -o "ServerAliveInterval 180" -o "ServerAliveCountMax 3" -R *:80:localhost:80 user@127.0.0.1

-R *:80:localhost:80 это основная часть, которая говорит пробросить 80 порт сервера Б на 80 порт сервера А.

Получится примерно тоже самое, что и через VPN только проще, т.к. не нужно возится с iptables и конфигом VPN. Уровень защищенности абсолютно тот же. Также рекомендую для SSH сгенерировать ключи и не ходить по паролю. Про генерирование ключей можно найти в гугле.

Black_Roland ★★★★
()
Последнее исправление: Black_Roland (всего исправлений: 1)
Ответ на: комментарий от GHBB

Тоже самое, только нужно их отдельно указать:

autossh -M 0 -q -f -N -o "ServerAliveInterval 180" -o "ServerAliveCountMax 3" -R *:80:localhost:80 -R *:21:localhost:21 -R *:3306:localhost:3306 user@127.0.0.1

Black_Roland ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.