Назад | Перейти на главную страницу

Трансляция IP для проксирования IP-адреса без записи DNS

Мы используем систему прокси на основе DNS, которая проксирует определенные адреса на основе записи DNS, поэтому, например, для website1.com DNS возвращает IP-адрес, если прокси, и запрос отправляется через него, но для website2.com возвращается DNS обычный адрес и запрос отправляется напрямую. Это не проблема

Однако это работает только для вызовов по имени. Нам нужно иметь возможность делать то же самое для определенных IP-адресов, но есть ли способ сделать это?

Например, пользователь переходит на веб-сайт с IP 1.2.3.4, но БЕЗ записи DNS, ни A, ни PTR. Тогда нам потребуется, чтобы вызов перешел не на IP 1.2.3.4, а на наш сервер 10.0.0.4. Есть ли вообще способ сделать это? Мы понимаем, что это необходимо установить на клиентском компьютере, но все же - есть ли способ сделать это?

Клиентами могут быть все, что угодно, Windows, Mac, Linux, Android, что угодно ... вероятно, это возможно не на всех, но возможно ли это на любом из них?

Поскольку вы указали сеть, есть опция на уровне сети, я предоставил сетевое решение ниже, помеченное как NETWORK. Обычно проксируются только несколько протоколов, но большинство хорошо работают с NAT (сетевым решением). HTTP и HTTPS обычно проксируются, так что это мой первый ответ.

Меня смущает ваше описание проксирования на основе DNS. В DNS принято указывать разные IP-адреса для разных адресов или для связанных сайтов иметь один и тот же IP-адрес. Поскольку вы указываете веб-сайты в качестве имен хостов, я полагаю, мы можем предположить, что вы хотите использовать прокси-сайты. Я считаю, что вы ищете термин «виртуальный хостинг на основе имени» или «прокси на основе имени»

Для HTTP или HTTPS многие серверы могут проксировать трафик на основе IP-адреса и / или имени, указанного в заголовке HOST. Веб-сервер Apache использует VirtualHosts для разделения сайтов. Другое программное обеспечение, которое может проксировать трафик, имеет такие же или аналогичные функции. В Apache, чтобы выполнять прокси на основе IP и IP для одного и того же сайта, вы должны создать VirtualHost для IP-адреса и добавить требуемые имена к этому виртуальному хосту. Затем вы должны настроить этот VirtualHost для прокси-сервера всего сайта или его части.

СЕТЬ: Если вы хотите перенаправить IP-адрес на другой адрес, это может сделать маршрутизатор. Используемый механизм - это NAT вызовов (преобразование сетевых адресов). В этом случае вам понадобится DNAT (преобразование сетевых адресов назначения). Некоторые маршрутизаторы могут выполнять NAT для каждого порта (служебного) адреса. В этом случае вы хотите, чтобы соответствующие записи DNS возвращали транслируемый IP-адрес.

РЕДАКТИРОВАТЬ: дополнительные комментарии предоставляют дополнительную информацию. Насколько я понимаю требования: - Проксирование будет только для пользователей с определенных адресов / диапазонов адресов, не весь трафик на имя / IP будет проксироваться.
- Запросы с прокси должны исходить от прокси, а не от исходного хоста. - Текущее решение предоставляет разные записи адресов в зависимости от происхождения запроса. (Я считаю, что существующее решение здесь не работает. DNS-запрос исходит от DNS-сервера, который использует клиент, который может не быть клиентским устройством. DNS-ответы кэшируются, поэтому вы не можете полагаться на DNS-запрос, предшествующий запросу.)

Я считаю, что решение, которое, скорее всего, сработает, - это обработать это с помощью правил NAT на устройстве перед сервером и прокси. Это будет NAT для всего трафика, который вы хотите передать прокси-серверу на ваше прокси-устройство, на основе исходного IP-адреса, и передавать другой трафик непосредственно на сервер.