Маршрутизация всего трафика через прокси-сервер socks с использованием ssh -D

9

Есть ли простой способ направить весь трафик через прокси-сервер SSH с -D?

Я могу настроить отдельные приложения для этого, но мне нужна конфигурация, которая маршрутизирует весь трафик на машине. Спасибо за вашу помощь!

грм
источник
Забыл сказать, что я был на Linux так идеально, что я могу маршрутизировать с помощью iptables.
GRM

Ответы:

10

В Linux:

  1. iptables -t nat -A ВЫХОД! -d 127.0.0.0/8 -j НАПРАВИТЬ - на 1081
  2. Запустите программу, которая прослушивает 1081, получает фактический, не перенаправленный адрес назначения, выполняет согласование с сервером SOCKS и ретрансляторами.

Я написал такую ​​программу для частного использования на Perl (качество прототипа) и написал лучшую версию на C. Она еще не опубликована.

Обновление: теперь опубликовано: http://github.com/vi/socksredirect/ Используйте prototype.pl. Пришлите мне уведомление, если вы заинтересованы в разработке лучшей версии.

Обновление 2 Создана немного лучшая версия: http://github.com/vi/tcpsocks и патч для Socat 2: http://github.com/vi/socksredirect/blob/master/socat-2.0.0- b3-REDIRECT.patch

PS Большая часть моего (а иногда и соседского) трафика сейчас проходит через tcpsocks-> ssh.

Vi.
источник
Очень интересный проект Vi. Спасибо! Я посмотрю на это.
Grm
Возможно, вам следует использовать больше правил iptables, чтобы выбрать трафик, который вы хотите использовать для соксификации. Я использую «iptables -t nat -A OUTPUT -j QQQ», затем набор «iptables -t nat -A QQQ <check> -j RETURN» и, наконец, «iptables -t nat -A QQQ -p tcp -j REDIRECT - до 1234 ".
Ви.
Спасибо! Мне было интересно, если это выполнимо, это было в моем списке идей проекта, чтобы попробовать когда-нибудь.
Тобу
@Tobu, я реализовал это больше: теперь для этого есть патч Socat ( github.com/vi/socksredirect/blob/master/… ), а также облегченная программа tcpsocks ( github.com/vi/tcpsocks )
Vi ,
1
@Tanmay, с устройством tun вы увидите только пакеты TCP, и было бы сложно декодировать их в поток байтов (вам нужно что-то подобное slirp). с REDIRECT или TPROXY просто используйте обычное, recvчто дает вам декодированные данные без заголовков TCP.
Ви.
8

Avery Pennarun в sshuttle работает аналогично Vi «s ответ , но требует меньше настроек и работает на BSD и OS X, а также Linux.

ephemient
источник
2

Возможно, вам стоит подумать о настройке VPN.

Espennilsen
источник
Разве это не потребует большего доступа на стороне шлюза?
GRM
Я получил настройку VPN-сервера (poptop) дома на Ubuntu. А на работе я просто использую встроенный VPN-клиент в Windows для подключения к нему. Не беспокойте моего сетевого администратора или что-то еще.
Espennilsen
1

Я не думаю, что есть какой-либо способ сделать это, но, возможно, вы можете попробовать программы, такие как FreeCap (windows), SocksCap (windows) или proxychains (linux). Эти программы могут вам немного помочь.

Рыба, приготовленная на пару
источник
0

Зависит от того, какую ОС вы используете. Если вы работаете в MacOS, существуют глобальные настройки прокси, которые должны использоваться каждым приложением, даже если есть такие, которые их не соблюдают (например, Firefox).

Sideshowcoder
источник
В частности, для MacOS необходимо проверить доверие к глобальным настройкам прокси.
Чиггси
-1

Вы также можете использовать что-то вроде Proxifier ( http://www.proxifier.com/ ) для Mac или Windows.

Хотя это на самом деле не отвечает на ваш вопрос.

мятный
источник
ответить не сразу
Alex H