Всякий раз, когда я использую Интернет из небезопасного места (например, общедоступного Wi-Fi), мне нравится использовать туннель ssh ( ssh -D port host
), чтобы гарантировать, что мой трафик не может быть прослушан. К сожалению, кажется, что есть много приложений, которые не предоставляют способ указать прокси (Flash является одним из основных примеров).
Такое ощущение, что должен быть какой-то способ использовать туннель для всего сетевого трафика с моего компьютера, но я совершенно не знаю, как это сделать. Любая помощь будет принята с благодарностью.
Ответы:
Чтобы делать то, что вы хотите, я рекомендую sshuttle .
Вы используете это так:
Он автоматически туннелирует весь ваш TCP-трафик. Вы можете добавить
--dns
аргумент для туннелирования вашего DNS-трафика. На удаленном сервере должен быть установлен только Python.Если вы хотите туннелировать только определенные программы, я бы порекомендовал прокси-цепочки .
После установки запустите прокси-сервер ssh socks следующим образом:
Это запустит прослушивание прокси-сервера «SOCKS» на <локальный порт>.
Затем отредактируйте файл /etc/proxychains.conf так, чтобы он указывал на тот же порт, что и <локальный порт>.
Наконец запустите вашу программу, которую вы хотите прокси-редактор, примерно так:
Это должно просто работать. Тем не менее, некоторые программы будут иметь проблемы с работой с цепочками прокси. Также имейте в виду, что в Firefox вы должны изменить дополнительные пункты в about: config, чтобы заставить его выполнять поиск DNS через прокси, а не обходить его.
Как дополнительное примечание, о веб-браузерах. Если они поддерживают прокси-серверы socks, вам не нужно ничего делать, чтобы заставить их использовать вышеупомянутый туннель ssh, просто введите 127.0.0.1 для прокси-сервера SOCKS и <local port> для порта прокси.
РЕДАКТИРОВАТЬ 3/29/16
Так как в этом посте все еще видны некоторые отклики, я решил обновить его. Proxychains по-прежнему присутствует в большинстве репозиториев Linux и все еще работает в Linux. Однако проект фактически заброшен и не работает на OSX. Для Linux или OSX я настоятельно рекомендую перейти на все еще поддерживаемый форк: proxychains-ng: https://github.com/rofl0r/proxychains-ng
Помимо работы как в Linux, так и в OSX, его легко компилировать, а также значительно улучшена поддержка туннелирования DNS.
Я должен также упомянуть еще один вариант, который является redsocks. Он работает аналогично прокси-цепям (-ng) и, скорее всего, в вашем дистрибутивном репозитории: https://github.com/darkk/redsocks
источник
sshuttle -r root@host -x host 0/0
man ssh
дает пример именно этого. ВПН на основе SSH:~~ snip ~~
Как только у вас появится этот новый интерфейс, вам просто нужно будет сделать его маршрутом по умолчанию, а это другой вопрос.
источник
Ищите опцию «Туннель» в ssh. Это создаст туннельное устройство, которому вы можете назначить IP-адрес, а затем вы измените маршрут по умолчанию для использования этого туннеля.
источник
Я разработал программное обеспечение, которое позволяет вам пересылать все TCP и, опционально, UDP через прокси-сервер SOCKS5 для всей системы.
http://code.google.com/p/badvpn/wiki/tun2socks
Он даже может быть установлен на маршрутизаторе для пересылки всех соединений с компьютеров в локальной сети.
источник
ВИРТУАЛЬНЫЕ ЧАСТНЫЕ СЕТИ НА ОСНОВЕ SSH ssh содержит поддержку туннелирования виртуальной частной сети (VPN) с использованием псевдоустройства tun (4), что позволяет безопасно соединять две сети. Параметр конфигурации sshd_config (5) PermitTunnel контролирует, поддерживает ли сервер это и на каком уровне (трафик уровня 2 или 3).
источник
Я просто хотел прояснить, что (хост порта ssh -D) не является 100% безопасным способом для отслеживания трафика. Добавление (ssh -D -c хозяина порта blowfish) было бы лучшим выбором, потому что вы как минимум добавляете шифрование к своему сеансу. Вы можете добавить больше опций, но достаточно просто набрать "man ssh" в своем терминале или в Google, чтобы получить полный список.
Я думаю, что вам нужен вариант настройки VPN (виртуальная частная сеть)
Перед тем, как приступить к настройке собственной VPN, ознакомьтесь с этой статьей, чтобы понять разницу между этими двумя понятиями ( SSH и VPN ) или хорошую обобщенную версию . Если вы решите пойти по VPN-маршруту, я рекомендую OpenVPN , его бесплатное и множество документации и поддержки.
источник
ssh -2 -C -D [...]
(форсировать SSH2, использовать сжатие) и отбросить-c
. согласно моей системеman ssh
список шифров в SSH2 по умолчанию равенaes128-cbc,3des-cbc,blowfish-cbc,[etc]
. Я хочу-c blowfish
сказать, что если вы захотите, вы можете получить SSH1, который гораздо менее безопасен, чем SSH2.Используйте эти примеры:
Перенаправить порт 80 с удаленного хоста на 8888 на вашем локальном хосте
Используйте это для доступа к службам на удаленном хосте, которые доступны только там
Перенаправьте порт 80 с вашего локального хоста на 8888 на удаленном хосте
Используйте это, чтобы предоставить пользователям доступ к вашим услугам: веб-серверу или как угодно.
Ура! :)
источник