Быстро, доступно, безопасно!
Магазин готовых сайтов

Использование AlmaLinux 8.10 в качестве прокси-сервера

Использование AlmaLinux 8.10 в качестве прокси-сервера

Настройка сервера на AlmaLinux 8.10 -> Proxy

Когда вы используете ограничение доступа по IP-адресу для защиты от атак, контроля географии, управления доступом к корпоративным или внутренним ресурсам, фильтрации трафика на уровне сетевых или прикладных систем и другим подобным задачам вам необходим свой прокси-сервер.

SSH SOCKS5

Для проксирования только браузера через свой сервер — самый простой и надёжный способ - это использовать SSH SOCKS5-прокси.

Windows 10

В Windows 10 есть встроенный OpenSSH-клиент, стандартная реализация SSH, такая же, как в Linux. Следовательно можно использовать SSH из командной строки (запускаем cmd.exe от имени Администратора) без стороннего софта.

Создаем защищённый SSH-туннель, через который будем проксировать трафик браузера (через 127.0.0.1:1080) как через VPN: ssh -D 1080 -N -C -p 12345 -o ServerAliveInterval=60 -i C:\ssh\id_ed25519 user1@198.51.100.10

Значения ключей в команде:

  • ssh — запускает SSH-клиент
  • -D 1080 — создаёт локальный SOCKS5-прокси-сервер на порту 1080
  • -N — не запускает удалённую команду, только соединение (без shell)
  • -C — включает сжатие трафика
  • -p 12345 — явно указывает нестандартный порт
  • -o ServerAliveInterval=60 — предотвращает разрыв соединения из-за бездействия
  • -i C:\ssh\id_ed25519 — указывает приватный ключ для аутентификации
  • user1@198.51.100.10 — имя пользователя и IP-адрес сервера

С помощью этой "волшебной" команды получаем туннель для проксирования трафика браузера, подключаясь к серверу без необходимости ввода пароля. Это и проще, и безопаснее. Можно создать выполняемый файл *.bat и не набирать вручную эту команду каждый раз.

Создаем текстовой файл со следующим содержанием: @echo off
ssh -D 1080 -N -C -p 12345 -o ServerAliveInterval=60 -i C:\ssh\id_ed25519 user1@198.51.100.10
pause
и меняем его расширение на "bat", чтобы получился, например, proxy.bat и размещаем его на Рабочем столе. Запускаем файл - запускаем защищенный туннель, без необходимости запоминать команды и ключи. Если отсоединился и перестал работать - запускаем снова.

Windows 7

В Windows 7 нет встроенного SSH-клиента, поэтому будем использовать Putty.

  • Открываем PuTTY
  • Вводим IP-адрес сервера в поле Host Name (or IP address)
  • В меню слева переходим в: Connection → SSH → Tunnels
  • Вводим:
    • Source port: 1080
    • Destination: оставляем пустым
    • Отмечаем Dynamic
  • Нажимаем Add
  • В меню слева в Connection в Seconds between keepalives (0 to turn off) ставим 120
  • Возвращаемся в Session, сохраняем профиль, подключаемся

Чтобы не вводить пароль при каждом подключении желательно настроить доступ по ключу.

macOS Big Sur

На macOS команда такая, же, отличаются только пути: ssh -D 1080 -N -C -p 12345 -o ServerAliveInterval=60 -i ~/ssh/id_ed25519 user1@198.51.100.10

Чтобы запускать туннель двойным щелчком мыши создаем скрипт .command. Открываем TextEdit → Format → Make Plain Text.

Вставляем: #!/bin/bash
ssh -D 1080 -N -C -p 12345 -o ServerAliveInterval=60 -i ~/ssh/id_ed25519 user1@198.51.100.10
и сохраняем файл как vpn.command (например, на рабочем столе).

Настройка браузера

Не все браузеры поддерживают SOCKS5 напрямую.

Firefox

Настройки → Сеть → Настроить прокси вручную:

  • SOCKS хост: 127.0.0.1, порт 1080
  • Тип: SOCKS5
  • Отмечаем: Проксировать DNS через SOCKS5

Если на английском, то так:

Settings → Network Settings → Settings...

Выбираем Manual proxy configuration

  • SOCKS Host: 127.0.0.1, Port 1080
  • SOCKS v5
  • Отмечаем флажок: Proxy DNS when using SOCKS v5

Метки: proxy; прокси; сервер

Опрос

В каком году был сделан ваш сайт? (голосов: 24)

  • до 2015 года - 23 (96%)
  • в 2015 - 0 (0%)
  • в 2016 - 0 (0%)
  • в 2017 - 0 (0%)
  • в 2018 - 1 (4%)
  • в 2019 - 0 (0%)