Скрытие реального ip сервера с помощью своего DNS. Как?

Стоит задача скрыть реальный айпи сервера своими силами (т.е. без cloudflare и прочих аналогов). Как это сделать пошагово (можно крупными мазками, но и подробности лишними не будут)?

Если я ничего не путаю, то есть два возможных варианта решения этой задачи:

1.
Сервер1 – содержит apache/nginx, БД и исходники сайта. На нём же хостится dns-сервер.
Сервер2 – отдельный сервер с VPS, через который идет проброс dns-запросов к сайту по его доменному имени.
Т.е. сервер1 входящий и исходящий трафик проводит только через сервер2, ip которого открыты для внешнего мира, но который физически не содержит никакие данные сайта, а только получает их с сервера1 и передает пользователю.

2.
Сервер1 – содержит apache/nginx, БД и исходники сайта.
Сервер2 хостит dns.
При запросе сайта по доменному имени обращение идет к серверу2, который направляет запрос на сервер1, получает запрошенное содержимое, предъявляя его пользователю.

Я ничего не напутал, оба варианта возможны?
Какой оптимальнее с точки зрения производительности и безопасности?
Как это всё настроить? В частности интересуют настройки dns (bind) и в том, и в другом случае на обоих серверах.

Сторонние сервисы (cloudflare и т.п.) и dns-хостинги не предлагать. Нужно именно решение своими силами.
  • Вопрос задан
  • 2620 просмотров
Решения вопроса 1
@Ext7 Автор вопроса
Всем ещё раз спасибо за рекомендации. Я остановился на таком решении:

На прокси-сервер (2) ставим утилиту 3proxy. В её конфиге помимо прочего прописываем такую строчку:
tcppm -iserver2 port2 server1 port1

Таким образом можно сделать и цепочку прокси. Дополнительный плюс решения в том, что на прокси-сервер не нужно ставить ssl-сертификат, в отличие от варианта с nginx.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Jump
@Jump Куратор тега Системное администрирование
Системный администратор со стажем.
Скрытие реального ip сервера с помощью своего DNS. Как?
Никак, это невозможно.
Стоит задача скрыть реальный айпи сервера своими силами. Как это сделать пошагово
Прокси поставить. Обычный nginx например.
Так же для этих целей можно использовать NAT.

Я ничего не напутал, оба варианта возможны?
Напутали что-то сильно. При чем тут DNS не понятно.
Судя по всему вы неправильно представляете себе для чего нужен DNS и как он работает.

через который идет проброс dns-запросов к сайту по его доменному имени
никаких DNS запросов к сайту не бывает.
Ответ написан
Комментировать
@brar
3 вариант, без ДНС-сервера.
сервер1 <---vpn--->сервер2 <--->дикий интернет.
На сервере 1 в качестве шлюза для dest 443 и 80 портов (и других по желанию) ставится сервер2.
На сервере2 SNAT-им сервер1 в мир, и DNAT-им входящий из мира трафик на 443 и 80 порт на сервер1. В настройках днс-зоны делаем запись А на айпи-адрес сервера2.

4. Вариант. Тоже без днс.
nginx или haproxy на сервере2 в качестве reverse proxy. 443 и 80 валим на сервер1.
Ответ написан
mrsexy
@mrsexy
Senior Pomidor
Делал что-то подобное давно, точно не скажу как, но это возможно.
Ставите мордой nginx за ним apache, и через nginx есть вроде возможность по запросу отдавать локальный ip apache вместо внешнего.
Ответ написан
Ваш ответ на вопрос

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

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