Вопрос: Если я использую SSH для прокси-сервера SOCKS, подключаются ли DNS-соединения?


я использую ssh -D 8080 my server для создания прокси-сервера SOCKS. Затем я настраиваю OS X на использование localhost:8080 как прокси-сервер SOCKS. Я использую это для доступа в Интернет без контроля.

Я использую DNS-серверы Google (8.8.8.8), но как я могу убедиться, что DNS-запросы проходят через SSH-туннель?


11
2017-12-05 16:22


Источник


«без контроля» - это иллюзия - machineaddict


Ответы:


Я знаю, что ответ немного поздний, но для справки и для тех, кто все еще ищет ответ,

Установить network.proxy.socks_remote_dns свойство в firefox config (тип about: config в адресной строке) в TRUE (просто дважды щелкните свойство, чтобы переключить значение), чтобы включить поиск DNS по вашему локальному / удаленному прокси-серверу socks5.

PS: Я не уверен в других браузерах :(


18
2017-12-06 06:53



Для тех, кто предпочитает пользовательский интерфейс, это находится в настройках → Дополнительно → вкладка «Сеть» → «Настройка» (для «Подключения») → «Прокси-сервер DNS при использовании SOCKS v5». - jwd


Если это SOCKS 5 прокси, и клиентская программа поддерживает его, DNS будет проходить через прокси. Большинство браузеров поддерживают DNS через прокси-сервер Socks 5, но для этого может потребоваться специальная настройка.

Если ваша цель - конфиденциальность в Интернете, вы действительно должны использовать что-то вроде Privoxy, Privoxy очищает заголовки ваших веб-запросов и гарантирует, что весь трафик, включая DNS, проходит через прокси-сервер Socks 5. Бег privoxy локально, и вы можете использовать ssh для туннелирования движения Socks 5.


8
2017-12-05 19:00





Вы не можете сделать это из коробки, поскольку туннель SSH предназначен только для соединений TCP / IP. Трафик UDP не сможет пересечь этот туннель без специальной настройки. В основном вам нужно создать fifo, чтобы сделать некоторые обманки с netcat, как описано Вот, Затем вы можете использовать DNS Google из дальнего конца.


2
2017-12-05 16:30





Как уже упоминалось там, ваш широкомасштабные поисковые запросы не туннелируются,

Если вы хотите использовать SSH-решение, вы можете получить вдохновение от Вот или использовать SSHuttle (например, упомянутые Вот). Существует исправление для пересылки запросов 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

1
2017-10-20 03:22





Как говорит pfo, туннели SSH предназначены только для трафика TCP, и приложение должно быть осведомлено о прокси SOCKS.

Если вы хотите, чтобы все было туннелировано, вам нужна правильная VPN. Посмотрите на что-то вроде OpenVPN,


0
2017-12-05 17:48