Я использую ssh -D 8080 my server
для создания SOCKS прокси. Затем я настраиваю OS X для использования localhost:8080
в качестве SOCKS-прокси. Я использую это, чтобы получить доступ к Интернету без мониторинга.
Я использую DNS-серверы Google (8.8.8.8), но как мне убедиться, что DNS-запросы проходят через туннель SSH?
ssh
ssh-tunnel
socks
Джейсон Марзст
источник
источник
Ответы:
Я знаю, что ответ немного опоздал, но для справки и для тех, кто все еще ищет ответ,
Задайте для
network.proxy.socks_remote_dns
свойства в конфигурации Firefox (введите about: config в адресной строке) значение TRUE (просто дважды щелкните свойство, чтобы переключить значение), чтобы разрешить поиск DNS через локальный / удаленный прокси-сервер socks5.PS: я не уверен насчет других браузеров :(
источник
Если это прокси SOCKS 5 , и клиентская программа поддерживает его, DNS будет проходить через прокси. Большинство браузеров поддерживают DNS через прокси-сервер Socks 5, но для этого может потребоваться специальная конфигурация.
Если вашей целью является конфиденциальность в сети, вам действительно следует использовать что-то вроде privoxy . Privoxy очистит заголовки ваших веб-запросов и гарантирует, что весь трафик, включая DNS, проходит через прокси Socks 5. Запустите
privoxy
локально, и вы можете использоватьssh
для туннелирования трафика Socks 5.источник
Вы не можете сделать это «из коробки», поскольку туннель SSH предназначен только для соединений TCP / IP - трафик UDP не сможет пройти через этот туннель без специальной настройки. По сути, вам нужно создать fifo, чтобы поработать с netcat, как описано здесь . Тогда вы можете использовать DNS Google из дальнего конца.
источник
Как уже упоминалось там , ваши общесистемные поиски не туннелированы .
Если вам нужно решение на основе SSH, вы можете получить вдохновение здесь или использовать SSHuttle (например, упомянутый здесь ). Существует патч для простой пересылки DNS-запросов.
YMMV, но у меня был успех со следующим:
источник
Как говорит pfo, SSH-туннели предназначены только для трафика TCP, и приложение должно знать о прокси-серверах SOCKS.
Если вы хотите, чтобы все было туннелировано, вам нужен надлежащий VPN. Посмотрите на что-то вроде OpenVPN .
источник
Это зависит от вашего приложения. Например, Firefox отправляет имя хоста прокси-серверу SOCKS без его разрешения. В этом случае вам не нужно ничего делать для конфиденциальности. Вы можете подтвердить это Wireshark.
PS. Предположим, вы используете прокси-сервер SOCKS5. SOCKS4 не поддерживает имя хоста.
источник