Установка и настройка SQUID3 прокси сервера, на базе Ubuntu Server 14.04.1 | Разработка игровых платформ
  1. Доброго времени суток. В связи с появлением спамеров, активация функций новых пользователей (Создавать темы, писать сообщения), теперь будет только после проверки администратором! Для регистрации отписываемся в лс, в вк. vk.com/tehnik777 (Пишем только с реальных страниц)
    Скрыть объявление

Установка и настройка SQUID3 прокси сервера, на базе Ubuntu Server 14.04.1

Тема в разделе "Linux", создана пользователем Zloo, 20 ноя 2016.

Обсуждение темы Установка и настройка SQUID3 прокси сервера, на базе Ubuntu Server 14.04.1 в разделе Linux на форуме zetta-forum.ru.

Метки:
  1. Zloo

    Zloo Администратор Команда форума

    Регистрация:
    31 окт 2016
    Сообщения:
    265
    Симпатии:
    158
    Баллы:
    43
    Пол:
    Мужской
    Сайт:
    https://zetta-forum.ru
    VK:
    https://vk.com/tehnik777
    Продолжаем цикл статей с настройкой сервера ubuntu 14.04.1, сегодня на очереди установка и настройка squid3 – прокси сервера для ubuntu server. Если вы еще не знаете что такое прокси сервер, попробую описать одним предложением. Прокси сервер – это компьютер который обрабатывает запросы клиентских компьютеров при обращении к сети интернет.

    С помощью прокси сервера, можно не только предоставить централизованный доступ к интернету, но и лимитировать его, закрывать доступ к определенным сайтам, открывать доступ только к разрешенным сайтам, кэшировать статичные данные (css, картинки, баннеры…) и многое другое.

    Для установки прокси сервера я буду использовать уже готовый сервер с ubuntu 14.04.1 и настроенными службами DHCP и DNS. И так, приступим.

    Открываем доступ к интернету для компьютеров в локальной сети
    Для начала нам нужно открыть полный доступ к интернету для всех компьютеров в нашей локальной сети. Для этого воспользуемся NATом. NAT – технология позволяющая пускать весь сетевой трафик через один адрес. То есть все запросы к интернету в локальной сети, будут обрабатываться именно сервером.

    Создадим файл с настройками
    Код:
    sudo touch /etc/nat
    Внесем в этот фал следующее:
    Код:
    #!/bin/sh
     
    #Включаем форвардинг пакетов
    echo 1 > /proc/sys/net/ipv4/ip_forward
     
    #Разрешаем траффик на lo
    iptables -A INPUT -i lo -j ACCEPT
     
    #Разрешаем доступ из внутренней сети наружу
    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
     
    #Включаем NAT
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
     
    #Разрешаем ответы из внешней сети
    iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    #Запрещаем доступ снаружи во внутреннюю сеть
    iptables -A FORWARD -i eth0 -o eth1 -j REJECT
    Сохраним файл и присвоим ему права на выполнение:
    Код:
    sudo chmod +x /etc/nat
    Добавим запуск NATа (строку post-up /etc/nat) в файл с сетевыми настройками:
    Код:
    sudo nano /etc/network/interfaces
    ваш файл должен выглядеть так:
    Код:
    auto lo
    iface lo inet loopback
     
    auto eth0
    iface eth0 inet static
    address 192.168.1.104
    netmask 255.255.255.0
    gateway 192.168.1.1
     
    auto eth1
    iface eth1 inet static
    address 192.168.0.1
    netmask 255.255.255.0
     
    post-up /etc/nat
    Сохраняем, закрываем и перезагружаем сервер:
    Код:
    sudo reboot
    В таком виде, все готово для раздачи интернета компьютерам в сети. Если сейчас включить клиентский компьютер, он получит IP адрес от DHCP сервера, а также получит настройки шлюза (192.168.0.1), соответственно должен появится интернет. Если интернет появился, двигаемся дальше, если нет, проверяем что сделали не так.

    Установка и настройка Squid3

    Теперь нам нужно установить Squid3 – сам прокси сервер. В статье описаны базовые настройки, для более углубленной настройки, советую почитать документацию по squid.

    Устанавливаем пакет squid3
    Код:
    sudo aptitude install squid3
    После установки откроем файл /etc/squid3/squid.conf
    Код:
    sudo nano /etc/squid3/squid.conf
    В первую очередь найдем строку http_port 3128 и добавим к ней значение intercept и IP адрес сервера, чтобы получилось вот так:
    Код:
      
    http_port 192.168.0.1:3128 intercept
    Это делается для того, чтобы в последующем нам не приходилось настраивать прокси сервер на всех клиентских машинах (прокси будет прозрачным).

    Теперь, нужно указать сеть в которой будет работать наш прокси сервер, для этого раскомментируем строку acl localnet src 192.168.0.0/16 # RFC1918 possible internal network и укажем префикс маски сети 24 вместо 16 (так как у нас маска 255.255.255.0). В итоге срока должна выглядеть так:
    Код:
    acl localnet src 192.168.0.0/24 # RFC1918 possible internal network
    разрешаем доступ к прокси из внутренней сети, расскомментировав строку
    Код:
    http_access allow localnet
    Теперь настроим кэширование. Нужно найти строку cache_dir ufs /var/spool/squid3 100 16 256, раскомментировать её и поменять значения на такие:
    Код:
    cache_dir ufs /var/spool/squid3 2048 16 256
    Далее расскомментируем строку maximum_object_size 4 MB, тем самым укажем максимальный размер кэшируемого объекта.

    Раскомментируем строку maximum_object_size_in_memory 512 KB, тем самым указываем максимальный объем кэшированного объекта в памяти.

    Раскомментируем строку cache_mem 256 MB и заменим занчение с 256 на 1024, тем самым указываем допустимый объем памяти.

    Вот мы и настроили кэширование, кэширование должно снизить нагрузку на канал и увеличить скорость открытия страниц. Кэш очищается при перезагрузке сервера.

    Теперь включим ведение логов, для этого раскомментируем строку access_log daemon:/var/log/squid3/access.log squid и добавим ниже logfile_rotate 31(файлы логов будут храниться 31 день, после будут перезаписываться самые старые).

    На этом базовую настройку squid3 можно завершить. Перезапустим squid3
    Код:
    sudo service squid3 restart
    Теперь прокси сервер настроен и запущен, но для того чтобы трафик пользователей шел именно через него, нужно завернуть весь http трафик на squid. Для этого добавляем в /etc/nat строку:
    Код:
    # Заворачиваем http на прокси
    iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128
    Собственно теперь мой файл /etc/nat имеет такой вид:
    Код:
    #!/bin/sh
     
    #Включаем форвардинг пакетов
    echo 1 > /proc/sys/net/ipv4/ip_forward
     
    #Разрешаем траффик на lo
    iptables -A INPUT -i lo -j ACCEPT
     
    #Разрешаем доступ из внутренней сети наружу
    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
     
    #Включаем NAT
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
     
    #Разрешаем ответы из внешней сети
    iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    #Запрещаем доступ снаружи во внутреннюю сеть
    iptables -A FORWARD -i eth0 -o eth1 -j REJECT
     
    # Заворачиваем http на прокси
    iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128
    Если вы сделали все как написано в статье, значит у вас будет полностью рабочий прокси сервер.
    (Источник: faqpc.ru)
     

Поделиться этой страницей