Proxy сервер настройка linux

Установка и настройка Squid на Ubuntu

Обновлено

Обновлено: 11.11.2021 Опубликовано: 30.07.2020

Используемые термины: Squid, Ubuntu. Данную инструкцию можно также применять для установки SQUID на Debian. В качестве клиентов могут использоваться Windows, Linux, Mac OS и любые браузеры.

Установка и базовая настройка

Если сеть клиентских компьютеров отличается от стандартной (192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8), необходимо ее добавить в acl, например:

* кавычки обязательны
** после необходимо создать файл /etc/squid/acl_localnet и с каждой строчки перечислить разрешенные IP-адреса.
С точки зрения безопасности, лучше закомментировать все подсети, которые не используются в нашей локальной сети, например:

# TAG: acl
.
#acl localnet src 0.0.0.1-0.255.255.255
#acl localnet src 10.0.0.0/8
#acl localnet src 100.64.0.0/10
#acl localnet src 169.254.0.0/16
#acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
#acl localnet src fc00::/7
#acl localnet src fe80::/10

* в данном примере мы оставили только подсеть 192.168.0.0/16. Разрешаем доступ для локальных сетей, которые заданы опцией acl localnet:

* данную опцию нужно либо раскомментировать, либо вставить выше опции http_access deny all. Настраиваем директорию для кэша:

* где ufs — файловая система (ufs для SQUID является самой подходящей); /var/spool/squid — директория хранения кэша; 4096 — объем пространства в мегабайтах, которое будет выделено под кэш; 32 — количество каталогов первого уровня, которое будет создано для размещение кэша; 256 — количество каталогов второго уровня, которое будет создано для размещение кэша. Останавливаем squid:

Проверка

Настройка Firefox для использования прокси-сервера

Заходим в настройки браузера и настраиваем использование прокси-сервера. Например, в Mozilla Firefox настройки нужно выставить такими: * где 192.168.163.166 — IP-адрес моего прокси-сервера. Теперь открываем сайт 2ip.ru. После его загрузки мы увидим внешний IP-адрес — он должен соответствовать той сети, от которой работает настроенный SQUID.

Читайте также:  Linux удалить snap пакет

Прозрачный прокси

Прозрачный прокси позволяет автоматически использовать прокси-сервер, не настраивая при этом браузер компьютера. Пользователи могут даже не знать, что трафик идет через squid. Открываем конфигурационный файл:

* порт 3128 будет для прозрачного проксирования. Порт 3129 должен быть указан в качестве прокси. И перезапускаем конфигурацию squid:

Для работы прозрачного проксирования. необходимо, чтобы шлюз перекидывал запросы по нужным портам на наш прокси. Это выполняется разными способами в зависмости от реализации шлюза. Для примера, если нашим шлюзом будет наш сервер со squid, то нужно выполнить команды:

Авторизация по логину и паролю

# TAG: auth_param
.
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/auth_users
auth_param basic children 25
auth_param basic realm SQUID PROXY
auth_param basic credentialsttl 3 hours

* где /usr/lib/squid/basic_ncsa_auth — расположение ncsa_auth (в зависимости от системы может находиться в другом каталоге); /etc/squid/auth_users — файл с логинами и паролями; children 25 разрешает 25 одновременных подключений; SQUID PROXY — произвольная фраза для приветствия; credentialsttl 3 hours будет держать сессию 3 часа, после потребуется повторный ввод логина и пароля. Создаем acl для пользователей, которые прошли регистрацию. Сделаем регистрацию обязательной:

Слушаем на определенном интерфейсе

По умолчанию, squid будет слушать запросы на всех сетевых интерфейсах, которые доступны серверу. Чтобы указать конкретный, добавляем его IP к http_port:

* в данном примере squid будет слушать на адресе 192.168.1.15. И перечитываем конфигурацию squid:

Исходящий сетевой интерфейс

На нашем сервере может быть несколько внешний IP-адресов. По умолчанию, все исходящие запросы будут работать через интерфейс со шлюзом по умолчанию. Чтобы иметь возможность работы со squid через разные интерфейсы в настройку вносим:

acl 217_66_157_33 localip 217.66.157.33
tcp_outgoing_address 217.66.157.33 217_66_157_33

acl 217_66_157_34 localip 217.66.157.34
tcp_outgoing_address 217.66.157.34 217_66_157_34

* в данном примере, при подключении к прокси через IP 217.66.157.33, исходящие пакеты будут от IP 217.66.157.33; аналогично для IP 217.66.157.34. Перечитываем конфигурацию squid:

Настройка цепочки прокси-серверов

  • hostname — другой сервер, на который мы будем передавать запрос.
  • type — тип «родства» другого сервера. Могут быть варианты:
    • parent
    • sibling
    • multicast

    * более подробное описание можно найти в самом конфигурационном файле SQUID.

    Если на прокси, к которому мы подключаемся, необходима авторизация, добавляем опцию login:

    cache_peer 10.11.12.13 parent 3128 3128 proxy-only login=loginname:password

    Запрещаем использование нашего прокси-сервера напрямую (не через cache_peer):

    # TAG: never_direct
    .
    never_direct allow all

    Перечитываем конфигурацию squid:

    Источник

    Как настроить прокси в Ubuntu

    С помощью прокси сервера вы можете скрыть свой реальный ip адрес и заставить веб-сайт думать, что вы совсем из другой страны или используете другого провайдера, чем это есть на самом деле. Прокси может использоваться не только для просмотра сайтов интернета, но и для обновления системы, загрузки пакетов через apt и многого другого.

    В этой статье мы поговорим о том как выполняется настройка прокси Ubuntu с помощью графического интерфейса или через терминал.

    Настройка прокси на Ubuntu через GUI

    В Ubuntu можно настроить прокси Ubuntu через стандартное приложение Параметры. Откройте программу, затем перейдите в раздел Сеть и кликните по шестеренке Сетевой прокси:

    Здесь надо прописать IP адрес вашего прокси и порт в подходящем поле. Это зависит от типа вашего прокси, например, HTTP/HTTPS или SOCKS:

    Если для прокси необходима авторизация, вы можете прописать данные авторизации в поле IP адреса:

    логин : пароль @ ip_адрес

    Теперь вы можете проверить работает ли новый прокси по всей системе. Например, через терминал:

    Настройка прокси в Ubuntu через терминал

    Все настройки среды рабочего стола в Ubuntu хранятся в базе данных DConf, в том числе и настройки прокси сервера. Настройки записываются в виде пар ключ значение. Если изменить какой либо параметр из меню настроек системы все изменения сразу же запишутся в DConf. Из командной строки настройками DConf можно управлять с помощью команд gsettings и dconf. Дальше я покажу как настроить прокси в Ubuntu из терминала с помощью gsettings.

    Базовое использование gsettings для работы с базой данных Dconf выглядит следующим образом. Для чтения данных используем:

    Рассмотрим подробнее как выполняется настройка прокси через консоль Ubuntu. Выполните следующие команды чтобы установить в качестве прокси сервера my.proxy.com:8000

    gsettings set org.gnome.system.proxy.http host ‘my.proxy.com’
    gsettings set org.gnome.system.proxy.http port 8000
    gsettings set org.gnome.system.proxy mode ‘manual’

    Если вы хотите использовать HTTPS/FTP прокси то вам нужно выполнить:

    gsettings set org.gnome.system.proxy.https host ‘my.proxy.com’
    gsettings set org.gnome.system.proxy.https port 8000
    gsettings set org.gnome.system.proxy.ftp host ‘my.proxy.com’
    gsettings set org.gnome.system.proxy.ftp port 8000

    Для использования SOCKS прокси наберите:

    gsettings set org.gnome.system.proxy.socks host ‘my.proxy.com’
    gsettings set org.gnome.system.proxy.socks port 8000

    Все изменения действуют только для текущего пользователя. Если вы хотите установить прокси для всех пользователей запускайте gsettings от суперпользователя добавив перед командой sudo, например:

    sudo gsettings set org.gnome.system.proxy.http host ‘my.proxy.com’
    sudo gsettings set org.gnome.system.proxy.http port 8000
    sudo gsettings set org.gnome.system.proxy mode ‘manual’

    Если вы используете автоматическую настройку прокси можете выполнить следующие команды:

    gsettings set org.gnome.system.proxy mode ‘auto’
    gsettings set org.gnome.system.proxy autoconfig-url http://my.proxy.com/autoproxy.pac

    Для того чтобы удалить прежние настройки прокси и работать напрямую выполните:

    gsettings set org.gnome.system.proxy mode ‘none’

    Чтобы прописать прокси в Ubuntu с авторизацией, записывайте в поле host логин и пароль в том же формате, который предложен для настройки в графическом интерфейсе.

    Утилита apt тоже умеет работать с глобальным прокси, настроенным как описано выше, однако вы можете настроить для неё прокси отдельно через конфигурационный файл /etc/apt/apt.conf. Для этого добавьте в этот одну из строк для активации нужного типа прокси:

    Acquire::http::proxy «логин:пароль@ip_адрес:порт/»;
    Acquire::https::proxy «логин:пароль@ip_адрес:порт/»;

    И непосредственно для активации прокси:

    После этого пакетный менеджер apt будет использовать свой отдельный прокси для обновления Ubuntu.

    Выводы

    В этой небольшой статье мы поговорили о том, как выполняется настройка прокси Ubuntu. Как видите, это совсем не сложно. Если вы хотите зайти с другой стороны и вам нужно настроить прокси сервер, смотрите статью о том как установить squid в Ubuntu.

    Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

    Источник

Оцените статью
Adblock
detector