Если это прокси SOCKS 5 и клиентская программа его поддерживает, DNS будет проходить через прокси. Большинство браузеров поддерживают DNS через прокси Socks 5, но для этого может потребоваться специальная конфигурация.
Если ваша цель - конфиденциальность в сети, вам действительно следует использовать что-то вроде privoxy . Privoxy очистит заголовки ваших веб-запросов и обеспечит прохождение всего трафика, включая DNS, через прокси Socks 5. Запустите privoxy
локально, и вы можете использовать ssh
для туннелирования трафика Socks 5.
Вы не можете сделать это из коробки, поскольку туннель SSH предназначен только для соединений TCP / IP - трафик UDP не сможет пройти через этот туннель без специальной настройки. В основном вам нужно создать FIFO, чтобы проделать некоторые трюки с netcat, как описано здесь . Тогда вы можете использовать DNS Google из удаленного окна.
Я знаю, что ответ немного запаздывает, но для справки и для тех, кто все еще ищет ответ,
Установите свойство network.proxy.socks_remote_dns
в конфигурации firefox (введите about: config в адресной строке) в значение ИСТИНА (просто дважды щелкните свойство, чтобы переключить значение), чтобы включить поиск DNS через локальный / удаленный прокси-сервер socks5.
PS: Я не уверен насчет других браузеров : (
Как уже упоминалось там, ваш поиск по всей системе не настроен.
Если вы хотите решение на основе SSH, вы можете получить вдохновение от здесь или используйте SSHuttle (например, упомянуто here). Есть патч для переадресации DNS запросов легко.
YMMV, но я успешно выполнил следующее:
#!/bin/bash
# Taken from http://stackoverflow.com/questions/4594319/shell-replace-cr-lf-by-comma
DNSSERVERS=$(nmcli d show | grep DNS | awk '{print $2}' | sed -e 'H;${x;s/\n/,/g;s/^,//;p;};d' )
sshuttle \
-vvv \
--dns-hosts ${DNSSERVERS} \
-r server \
254.254.254.254/32
Это зависит от вашего приложения. Firefox, например, отправляет имя хоста на прокси-сервер SOCKS, не разрешая его. В этом случае вам не нужно ничего делать для конфиденциальности. Вы можете подтвердить это с помощью wirehark.
PS. Предположим, вы используете прокси-сервер SOCKS5. SOCKS4 не поддерживает имя хоста.