Например, WAN IP-адрес пользователя A — 2.2.2.2. Когда пользователь настраивает этот конкретный DNS-сервер в своем маршрутизаторе или в настройках IPv4 своей операционной системы, его WAN IP-адрес изменится на что-то другое, например, на 3.3.3.3.
Как это возможно?
А по соображениям безопасности, я думаю, это сделает клиентов более защищенными, поскольку работает как VPN.
Единственная проблема, которую я вижу, заключается в том, что если два пользователя, использующие этот DNS, зайдут на один и тот же веб-сайт, они будут отображаться с одного и того же IP-адреса, поэтому администраторы этого веб-сайта могут подумать, что они ведут двойную учетную запись, и потенциально забанить их.
решение1
Как это возможно?
Это не так.
Хорошо, это в какой-то степени возможно, но это не такая хорошая идея, как кажется.
DNS-сервер только сообщает клиентам, где находится их реальный пункт назначения, — на самом деле он не переносит пакеты данных, поэтому у него нет возможности их изменить. (Клиент может даже использовать совершенно разные интернет-ссылки для DNS-запросов и реальных подключений к данным.)
Чтобы добиться желаемого, DNS-сервер должен будет предоставлять поддельные ответы, которые всегда указывают на сервер-ретранслятор как на пункт назначения (и надеяться, что клиенты не отклонят эти ответы как явно поддельные из-за сбоев проверки DNSSEC). Этот сервер-ретранслятор должен будет действовать как «прозрачный прокси», принимая все соединения, считывая рукопожатие, а затем создавая новые соединения с реальным пунктом назначения и ретранслируя данные. (Уже есть программное обеспечение для этого, хотя оно нацелено на проксирование соединений из одной локальной сети.)
У сервера-ретранслятора нет общего способа узнать, какое TCP-соединение или какая UDP-датаграмма соответствует какому исходному домену. Это можно сделать только с помощью нескольких специальных протоколов, таких как HTTP или TLS (HTTPS, SMTPS, IMAPS, FTPS), которые включают домен в качестве части начального рукопожатия.
А по соображениям безопасности, я думаю, это сделает клиентов более защищенными, поскольку работает как VPN.
Только для запросов, которые фактически включают DNS – он ничего не может сделать для "прямых" IP-соединений, например, когда игра получает IP-адреса сервера от сервера входа, или когда клиент BitTorrent получает IP-адреса пиров от трекера. Это полностью обойдет вашу систему.
Также, только для нескольких ранее упомянутых протоколов, которые отправляют имя хоста в начальном рукопожатии. Ваши клиенты не смогут использовать никакой другой протокол — почти никаких игр, никакого VoIP, никакого SSH, никакого BitTorrent и в основном никаких реальных VPN.
Кроме того, только если клиентызапрещатьфункцию безопасности, известную как «DNSSEC», и доверяют вам намеренное предоставление поддельной информации во всех своих DNS-запросах.
Также,он не может обеспечить шифрование пакетов(и даже не защита целостности), что является одним из главных преимуществ VPN! Для многих пользователей именно отсюда и исходит большая часть «безопасности».
(Кроме того, многие клиентские IPv4-адреса уже являются динамическими и/или общими; необходимость их скрытия довольно низкая в списке приоритетов.)
Так что нет, это не работает как VPN.
решение2
Вместо DNS-сервера вам следует рассмотреть возможность настройки Прокси сервер:
прокси-сервер — это сервер (компьютерная система или приложение), который выступает в качестве посредника для запросов от клиентов, ищущих ресурсы на других серверах.
Затем прокси-сервер позволяет вам выходить в Интернет под другим IP-адресом, который является IP-адресом самого прокси-сервера.
Каждый клиент, использующий прокси, представляет собой отдельное соединение, поэтому многие люди могут использовать прокси, имея при этом один и тот же IP-адрес, без каких-либо проблем.