Proxychains DNS: чому імена хостів отримують синтетичні IP-адреси
Поясніть синтетичне зіставлення DNS-адрес у proxychains-ng і відрізняйте внутрішню заглушку від реального призначення або адреси виходу.
Програма під proxychains розв'язує звичайне ім'я хоста в незнайомий діапазон адрес. Ця адреса може бути внутрішнім обліковим значенням обгортки, а не відповіддю DNS з інтернету.
У режимі proxy-DNS proxychains-ng може запам'ятати ім'я хоста, повернути програмі синтетичну адресу й згодом перетворити це значення назад на ім'я хоста, коли перехоплене з'єднання відкривається через проксі.
Заглушка не є вихідною IP-адресою
Приклад конфігурації документує proxy_dns і remote_dns_subnet. Зарезервований діапазон зіставлення можна налаштувати. Це не адреса, яку слід очікувати для ping або публікувати як публічне джерело проксі.
Це залежить від того, чи перехоплюються відповідні виклики пошуку імені та з'єднання в межах передбаченого процесу. Програма, яка виконує власний DNS іншим механізмом, зберігає заглушку для подальшого не пов'язаного використання або обходить шлях під'єднаного сокета, може поводитися інакше.
Це обмеження пояснює, чому синтетична адреса в журналі сама по собі не є доказом того, що вся програма правильно використовує віддалений DNS. Так само окрема утиліта DNS поза обгорнутим процесом не перевіряє зіставлене з'єднання програми.
Розрізняйте заглушку програми, реальну адресу призначення, вибрану на боці проксі, і публічний вихід, який бачить сайт. Вони виконують різні завдання й не обов'язково мають збігатися.
Під час налагодження тримайте ім'я хоста в нотатках і визначте точний обгорнутий процес і конфігурацію. Ручна заміна підозрілої заглушки може втратити зіставлення, потрібне обгортці для відновлення цього імені хоста, перетворивши зрозуміле непряме посилання на з'єднання з неправильним призначенням.