Відповіді:
ssh
Двійковий файл , який використовується при підключенні до сервера з SSH підтримує роботу з SOCKS проксі з коробки з -D
прапором. Приклад:
ssh -D 1337 -f -C -q -N user@remote -p 22
-D 1337
повідомляє ssh
запустити локально сервер SOCKS на порт 1337.-f
виводить процес на другий план.-C
Включається стиснення.-q
вмикає "Тихий режим", оскільки мета тут полягає лише в тунелі, ми насправді не піклуємося про вихід помилок і подібне.-N
повідомляє, ssh
що команди не надсилатимуться ( -f
скаржиться, якщо ми цього не вкажемо).-p
вказує, який порт використовувати; очевидно, що це значення за замовчуванням до 22, тому твердження вище безглуздо, але включене для ясності.Коли ваш сервер SOCKS запущений, вам просто потрібно переконатися, що ваша програма (як правило, веб-браузер) намагається підключитися до локального проксі-сервера SOCKS, а не до звичайного Інтернету.
У Firefox 29 (пояснено тут як приклад), це досягається, перейшовши до меню (три ковбаски у верхньому правому куті), далі Параметри> Додатково> Мережа> (З'єднання)> Налаштування ... - переконайтеся, що ви тільки заповніть поле SOCKS! Оскільки ваш проксі-сервер знаходиться в одній і тій же системі, ви можете використовувати localhost
або 127.0.0.1
вказувати назад на будь-який порт, який ви встановили в тій самій системі.
Якщо вам потрібні також тунельні запити DNS (якщо їх немає, ваші пошукові запити DNS розкриють, які веб-сайти ви намагаєтесь відвідати), ви можете просто перевірити "Віддалений DNS" або також виконати всю цю конфігурацію about:config
. В останньому випадку відкрийте його та встановіть ці значення:
network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1
Вам також може знадобитися цей параметр, щоб виключити певні домени чи сайти з тунелювання:
network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com
Ця відповідь була написана з Франції, але тунель через Швецію :)
-D
і -p
розлучитися.
ssh -D 1337 user@host