Использование 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%)