Лучше использовать не подмену DNS, а dnssec
Вот клиент под винду с открытым кодом: https://github.com/b.../SimpleDnsCrypt
Суть в том, что он шлет запросы и получает ответы от DNS по шифрованному каналу, в который не может залезть провайдер своими грязными руками (DPI). А значит IP вы всегда получите.
Емм.. сейчас расскажу: когда DNS резолвится через проксю, то клиент резолвит через ДНС, через который резолвит прокся. На том конце, после того, как запрос пройдет по зашифрованной сессии. Никто не в курсе, куда вы там лазаете и что качаете, так как от вас до виртуалки поднята ssh сессия.
DNSSEC не спасет от провайдеров в Роисси, так как они просто перепишут ответ, в итоге ответ придет с кривой подписью, и нормальная машина его должна будет отвергнуть, но в результате блокировка-то сработает (так как нет данных о айпи и домене)
На том образе докера не стоит принудительной проверки на dnssec потому, что:
Так же на том образе в hosts принудительно прописаны несколько айпи для нескольких CDN (которые эта виртуалка получила пинганув), сие сделано для того, чтобы не было различий между айпи, к которым учетка evegate имеет доступ и теми, что 8.8.8.8 ей отдаст при запросе юзера.
Хотя на всех моих серверах вот такое: https://gist.github....2fb12277e06e03b
То бишь система резолвит через внутренний сервис, который дергает из с гугла и принудительно использует dnssec. Это удобно (кеш ДНС!) и избавляет от некоторых потенциальных багов для тонны разного софта в плане засирания их ДНС кеша.
upd: на тему шифрования ДНС - сейчас cloudflare предлагает неплохой сервис, в том числе и по веб API.