lazy_den
@lazy_den
Студент, Yii разработчик

Организация доступа к локальной сети из вне по доменам?

Здравствуйте, есть локальная сетка.
Есть два сервера, роутер, один ip, и два домена.
router -----> Server 1
|---> Server 2

Есть два домена, как прикрепить каждый домен к серверу при 1 ip?
Сейчас сделано костылями, на 1 сервере крутится nginx и настроено reverse_proxy ко второму серверу.
И на роутере port forwarding на 1 сервер. Получается так Router <---> Server 1 <---> Server 2
Как сделать по человечески?
  • Вопрос задан
  • 519 просмотров
Пригласить эксперта
Ответы на вопрос 6
fzfx
@fzfx
18,5 дм
имхо, вполне по-человечески.
ну можете купить второй IP...
Ответ написан
PavelK
@PavelK
Доброго дня.
Имхо, поднимать ssh, поднимать свой dns.
Ответ написан
Комментировать
Daemon23RUS
@Daemon23RUS
У домена есть несколько типов записей, в частности A-запись содержит в себе IP-адрес сервера. Т.е для обоих доменных имен она будет одинакова. Вы не указали что за доступ (кроме ssh) Вам нужен, предположим HTTP, это будет 80 порт для обоих доменов (+ одинаковый IP). Как следствие на Ваш IP адрес на 80 порт будут приходить запросы, которые роутер должен будет направлять к нужному серверу. Протокол будет HTTP, а в нем есть заголовок Host который как раз и будет отражать к какому серверу запрос. Т.е по человечески, решение куда отправить пакет должен принимать роутер путем парсинга HTTP заголовка (посредством nginx, lighthttp, firewall итд) отсюда вопрос: какой у Вас роутер, и что туда можно "воткнуть" для решения поставленной задачи. Для HTTPS (443 порт) браузер посетителя должен поддерживать SNI расширение TLS чтобы достучатся до обоих серверов, а роутер нативно не сможет парсить заголовки.
Для SSH просто разнесите по разным портам сервера
ест еще SRV записи DNS но это зависит от клиента SSH, если для XMPP, SIP и поч это работает, то SSH клинта который сначала проверяет SRV дапись в DNS а потом подклчается надо поискать ...
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Надо скинуть внешний порт туда, где находится nginx.
Разумеется, лучше - если он будет на роутере.
А уже на нём можно будет один порт в зависимости от запрошенного доменного имени разрулить через правила nginx или haproxy на нужный внутренний IP-шник (нужного сервера).

Для администрирования: SSH-туннель через Putty - тоже вариант (в зависимости от порта при подключении на 127.0.0.1 отправляемся на заданный сервер и заданный порт):
PuTTY_2.png
Т.е. после подключения поднимаются сразу все нужные тунели и биндятся на 127.0.0.1.
Далее - можем весь софт настроить на работу через 127.0.0.1 и просто стартовать putty, когда необходимо подключиться сразу к нескольким серверам и их службам в удалённой сети.
Ответ написан
Комментировать
profesor08
@profesor08
Ну можешь настроить перенаправление портов, по одному порту - один сервер, по другому - другой. Вбил настройки в роутер, и все ок. Минус в том, что надо указывать порт при подключении. Но если охота миновать проксирование с одного сервака на другой, то только так. В противном случае не обойтись без некоего сервера, который будет выступать как "типа днс" и перенаправлять трафик.
Ответ написан
Комментировать
karabanov
@karabanov
Системный администратор
Nginx в качестве прокси это и есть по человечески.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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