Установка і настройка squid3 проксі сервера, на базі ubuntu server 14.04.1

Продовжуємо цикл статей з налаштуванням сервера ubuntu 14.04.1, сьогодні на черзі встановлення та налаштування squid3 - проксі сервера для ubuntu server. Якщо ви ще не знаєте що таке проксі сервер, спробую описати одним реченням. Проксі сервер - це комп`ютер який обробляє запити клієнтських комп`ютерів при зверненні до мережі інтернет.

За допомогою проксі сервера, можна не тільки надати централізований доступ до інтернету, а й лімітувати його, закривати доступ до певних сайтів, відкривати доступ тільки до дозволених сайтів, кешувати статичні дані (css, картинки, банери ...) і багато іншого.

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

Відкриваємо доступ до інтернету для комп`ютерів в локальній мережі

Для початку нам потрібно відкрити повний доступ до інтернету для всіх комп`ютерів в нашій локальній мережі. Для цього скористаємося NATом. NAT - технологія дозволяє пускати весь мережевий трафік через одну адресу. Тобто всі запити до інтернету в локальній мережі, будуть оброблятися саме сервером.

Створимо файл з настройками

Внесемо в цей фал наступне:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#! / Bin / sh
# Включаємо форвардного пакетів
echo1gt;/proc/sys/net/ipv4/ip_forward
# Дозволяємо трафік на lo
iptables-AINPUT-ilo-jACCEPT
# Дозволяємо доступ з внутрішньої мережі назовні
iptables-AFORWARD-ieth1-oeth0-jACCEPT
# Включаємо NAT
iptables-tnat-APOSTROUTING-oeth0-s192.168.0.0/24-jMASQUERADE
# Дозволяємо відповіді з зовнішньої мережі
iptables-AFORWARD-ieth0-mstate--state ESTABLISHED,RELATED-jACCEPT
# Забороняємо доступ зовні у внутрішню мережу
iptables-AFORWARD-ieth0-oeth1-jREJECT

Збережемо файл і дамо йому права на виконання:

Відео: Фільтруючий проксі-сервер Squid на Ubuntu Server 16.04 LTS

Додамо запуск NATа (рядок post-up / etc / nat) В файл з мережевими настройками:

ваш файл повинен виглядати так:

1
2
3

Відео: Установка кешіруещего сервера squid на Ubuntu Server 16.04 LTS

4
5
6
7
8
9
10
11
12
13
14
15
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address192.168.1.104
netmask255.255.255.0
gateway192.168.1.1

Відео: Проксі + firewall. Частина сьома, проксі http на squid

auto eth1
iface eth1 inet static
address192.168.0.1
netmask255.255.255.0
post-up/etc/nat

Зберігаємо, закриваємо і перезавантажуємо сервер:




У такому вигляді, все готово для роздачі інтернету комп`ютерів в мережі. Якщо зараз включити клієнтський комп`ютер, він отримає IP адресу від DHCP сервера, а також отримає настройки шлюзу (192.168.0.1), відповідно повинен з`явиться інтернет. Якщо інтернет з`явився, рухаємося далі, якщо немає, перевіряємо що зробили не так.

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

Тепер нам потрібно встановити Squid3 - сам проксі сервер. У статті описані базові настройки, для більш детальної настройки, раджу почитати документацію по squid.

Встановлюємо пакет squid3

Після установки відкриємо файл /etc/squid3/squid.conf

В першу чергу знайдемо рядок http_port 3128 і додамо до неї значення intercept і IP адреса сервера, щоб вийшло ось так:

1
http_port192.168.0.1:3128intercept



Це робиться для того, щоб в подальшому нам не доводилося налаштовувати проксі сервер на всіх клієнтських машинах (проксі буде прозорим).

Тепер, потрібно вказати мережу в якій буде працювати наш проксі сервер, для цього раскомментіруем рядок acl localnet src 192.168.0.0/16 # RFC1918 possible internal network і вкажемо префікс маски мережі 24 замість 16 (Так як у нас маска 255.255.255.0). У підсумку терміну повинна виглядати так:

1
acl localnet src192.168.0.0/24# RFC1918 possible internal network

дозволяємо доступ до проксі з внутрішньої мережі, расскомментіровав рядок

1
http_access allow localnet

Тепер налаштуємо кешування. Потрібно знайти рядок cache_dir ufs / var / spool / squid3 100 16 256, розкоментувати її і поміняти значення на такі:

1
cache_dir ufs/var/spool/squid3204816256

Далі расскомментіруем рядок maximum_object_size 4 MB, тим самим вкажемо максимальний розмір кешувального об`єкта.

Відео: Частина 1. Встановлення Ubuntu Server. Linux на Mhelp.kz

Раскомментіруем рядок 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

Тепер проксі сервер налаштований і запущений, але для того щоб трафік користувачів йшов саме через нього, потрібно звернути весь http трафік на squid. Для цього додаємо в / Etc / nat рядок:

1
2
# Загортаємо http на проксі
iptables-tnat-APREROUTING-ieth1!-d192.168.0.0/24-ptcp-mmultiport--dport80,8080-jDNAT--to192.168.0.1:3128

Собствеенно тепер мій файл / Etc / nat має такий вигляд:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#! / Bin / sh
# Включаємо форвардного пакетів
echo1gt;/proc/sys/net/ipv4/ip_forward
# Дозволяємо трафік на lo
iptables-AINPUT-ilo-jACCEPT
# Дозволяємо доступ з внутрішньої мережі назовні
iptables-AFORWARD-ieth1-oeth0-jACCEPT
# Включаємо NAT
iptables-tnat-APOSTROUTING-oeth0-s192.168.0.0/24-jMASQUERADE
# Дозволяємо відповіді з зовнішньої мережі
iptables-AFORWARD-ieth0-mstate--state ESTABLISHED,RELATED-jACCEPT
# Забороняємо доступ зовні у внутрішню мережу
iptables-AFORWARD-ieth0-oeth1-jREJECT
# Загортаємо http на проксі
iptables-tnat-APREROUTING-ieth1!-d192.168.0.0/24-ptcp-mmultiport--dport80,8080-jDNAT--to192.168.0.1:3128

Якщо ви зробили все як написано в статті, значить у вас буде повністю робочий проксі сервер. У наступних статтях я напишу як встановити контент - фільтр Dansguardian і як зробити black list для додавання заборонених сайтів.

Якщо залишилися питання, ласкаво просимо в коментарі.

via

Поділися в соціальних мережах:

Схожі
Як зайти в контакт якщо доступ закритий?Як зайти в контакт якщо доступ закритий?
Що таке реплікація в mysql?Що таке реплікація в mysql?
Установка squid в ubuntu 16.04Установка squid в ubuntu 16.04
Автоматичне vpn підключення до інтернет при запуску windowsАвтоматичне vpn підключення до інтернет при запуску windows
Як дізнатися реальний ip-адреса відвідувачаЯк дізнатися реальний ip-адреса відвідувача
Установка nginx ubuntu 16.04Установка nginx ubuntu 16.04
Як роздати інтернет на всі комп`ютери локальної мережі засобами windowsЯк роздати інтернет на всі комп`ютери локальної мережі засобами windows
Установка і настройка dhcp сервера на ubuntu 14.04.1 ltsУстановка і настройка dhcp сервера на ubuntu 14.04.1 lts
Як налаштувати проксі в ubuntu з терміналуЯк налаштувати проксі в ubuntu з терміналу
Як поміняти ip адреса комп`ютера?Як поміняти ip адреса комп`ютера?
» » Установка і настройка squid3 проксі сервера, на базі ubuntu server 14.04.1