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

DNS - перенаправлено для

Есть ли у DNS какой-либо механизм для пересылки запросов от имени другого лица? Как XFF или «X-Forwarded-For» для HTTP.

В деталях:

У меня сетевая структура, как показано ниже:

(Клиенты) ------> (Маршрутизатор) -----> (модем) ----> ISP

Теперь я хочу router для перенаправления DNS-запросов клиента на удаленный сервер за пределами локальной сети, что довольно просто. Но также я хочу, чтобы этот удаленный сервер знал, какой клиент отправил этот DNS-запрос. Можно ли использовать только iptables?

Там есть RFC 7871 который из-за недостатков в работе и конфиденциальности еще не имеет статуса стандартов. Он использует опцию EDNS, которая работает очень похоже на X-Forwarded-For с возможностью включать только столько бит адреса, сколько вы сочтете подходящим для вашего случая использования.

Сопоставление этого поля с помощью брандмауэра будет сложной задачей, поскольку оно находится в конце запроса, что означает, что смещение меняется, и пакет может быть фрагментирован так, что его нельзя будет идентифицировать без предварительной повторной сборки пакета. Судя по странице руководства на моей машине, в iptables нет специальных фильтров DNS.

Добавление поля из правила искажения в брандмауэр будет еще более сложной задачей. Таким образом, вам, скорее всего, следует искать решение прикладного уровня, а не брандмауэр, или избегать отправки пакетов через NAT.