Введение
Бывают случаи, когда вы хотите просматривать Интернет в частном порядке, получать доступ к контенту с географическим ограничением или обходить любые промежуточные брандмауэры, которые могут применяться в вашей сети.
Один из вариантов — использовать VPN, но для этого требуется установить клиентское программное обеспечение на машину и настроить собственный VPN-сервер или подписаться на услугу VPN.
Более простой альтернативой является маршрутизация трафика локальной сети с помощью зашифрованного прокси-туннеля SOCKS. Таким образом, все приложения, использующие прокси-сервер, будут подключаться к SSH-серверу, и сервер будет перенаправлять весь трафик в его фактическое место назначения. Ваш интернет-провайдер (интернет-провайдер) и другие третьи лица не смогут проверять ваш трафик и блокировать доступ к веб-сайтам.
Это руководство проведет вас через процесс создания зашифрованного туннеля SSH и настройки веб-браузеров Firefox и Google Chrome для использования прокси-сервера SOCKS.
Предпосылки
- Сервер под управлением любого типа Linux с доступом по SSH для маршрутизации вашего трафика через него.
- Веб-браузер.
- SSH-клиент.
Установите SSH-туннель
Мы создадим туннель SSH, который будет безопасно перенаправлять трафик с вашего локального компьютера через порт 9090
на сервер SSH через порт 22
. Можно использовать любой номер порта больше 1024
, только пользователь root может открывать привилегированные порты.
Линукс и макОС
Если вы используете Linux, macOS или любую другую операционную систему на базе Unix на локальном компьютере, вы можете легко запустить туннель SSH с помощью следующей команды:
ssh -N -D 9090 [USER]@[SERVER_IP]
Используемые варианты следующие:
-N
— говорит SSH не запускать удаленную команду.-D 9090
— открывает туннель SOCKS на указанном номере порта.[USER]@[SERVER_IP]
— удаленный IP-пользователь SSH и IP-адрес сервера.- Чтобы запустить команду в фоновом режиме, используйте параметр
-f
. - Если сервер SSH прослушивает порт, отличный от 22 (по умолчанию), используйте параметр
-p [PORT_NUMBER]
.
После выполнения команды вам будет предложено ввести пароль пользователя. После его ввода вы войдете на сервер и будет установлен SSH-туннель.
Вы можете настроить аутентификацию на основе ключей SSH и подключаться к серверу без ввода пароля.
Окна
Пользователи Windows могут создать туннель SSH с помощью клиента PuTTY SSH. Скачать PuTTY можно здесь.
Запустите Putty и введите IP-адрес сервера в поле Host name (or IP address)
.
В меню Connection
разверните SSH
и выберите Tunnels
. Введите порт 9090
в поле « Source Port
и нажмите кнопку « Dynamic
».
Нажмите кнопку « Add
».
Вернитесь на страницу Session
, чтобы сохранить настройки и не вводить их каждый раз. Введите имя сеанса в поле « Saved Session
» и нажмите кнопку « Save
».
Выберите сохраненный сеанс и войдите на удаленный сервер, нажав кнопку « Open
».
Появится новое окно с запросом вашего имени пользователя и пароля. После ввода имени пользователя и пароля вы войдете на сервер и запустите SSH-туннель.
Настройка аутентификации с открытым ключом позволит вам подключаться к вашему серверу без ввода пароля.
Настройка браузера для использования прокси
Теперь, когда вы открыли туннель SSH SOCKS, последний шаг — настроить ваш любимый браузер для его использования.
Fire Fox
Следующие шаги одинаковы для Windows, macOS и Linux.
- В правом верхнем углу щелкните значок гамбургера
☰
, чтобы открыть меню Firefox. - Щелкните ссылку
⚙ Preferences
. - Прокрутите вниз до раздела «
Network Settings
» и нажмите кнопку «Settings...
».
Откроется новое окно.
- Нажмите кнопку
Manual proxy configuration
. - Введите
127.0.0.1
в полеSOCKS Host
и9090
в полеPort
. - Установите флажок для
Proxy DNS when using SOCKS v5
. - Нажмите кнопку
OK
, чтобы сохранить настройки.
На этом этапе Firefox настроен, и вы можете выходить в Интернет через туннель SSH. Чтобы проверить это, вы можете зайти на google.com
, ввести в поиске «какой у меня ip», и вы должны увидеть IP-адрес своего сервера.
Чтобы восстановить настройки по умолчанию, перейдите в « Network Settings
, нажмите кнопку « Use system proxy settings
и сохраните настройки.
Есть также несколько плагинов, которые могут помочь вам настроить параметры прокси-сервера Firefox, такие как FoxyProxy.
Гугл Хром
Google Chrome использует системные настройки прокси-сервера по умолчанию. Вместо изменения настроек прокси-сервера операционной системы вы можете использовать надстройку, например SwitchyOmega, или запустить веб-браузер Chrome из командной строки.
Чтобы запустить Chrome с использованием нового профиля и туннеля SSH, используйте следующую команду:
Линукс:
/usr/bin/google-chrome \
--user-data-dir="$HOME/proxy-profile" \
--proxy-server="socks5://localhost:9090"
MacOS:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--user-data-dir="$HOME/proxy-profile" \
--proxy-server="socks5://localhost:9090"
Окна:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
--user-data-dir="%USERPROFILE%\proxy-profile" ^
--proxy-server="socks5://localhost:9090"
Профиль будет создан автоматически, если он не существует. Таким образом, вы можете запускать несколько экземпляров Chrome одновременно.
Чтобы убедиться, что туннель SSH работает правильно, откройте google.com
и введите «what is my ip». IP-адрес, отображаемый в вашем браузере, должен быть IP-адресом вашего сервера.
Вывод
Вы узнали, как настроить туннель SOCKS 5 SSH и настроить браузер для частного и анонимного доступа в Интернет. Для простоты использования вы можете определить туннель SSH в файле конфигурации SSH или создать псевдоним Bash, который настроит туннель SSH и запустит браузер.