Налаштовуємо Squid для роботи з Active Directory

Технічний блог фахівців ТОВ "Інтерфейс"

  • Головна
  • Налаштовуємо Squ >

active
Матеріали про побудову роутера на базі Squid – одні з найпопулярніших на нашому сайті. Таке рішення дозволяє з мінімальними витратами (насамперед на програмну частину) організувати та впорядкувати доступ до мережі Інтернет на підприємстві. Але аналізовані нами варіанти призначалися переважно до роботи у складі робочої групи. Відсутність інтеграції з Active Directory різко знижувала зручність застосування такого роутера в доменних мережах, тому ми вирішили виправити цей недогляд.

У процесі підготовки даного матеріалу ми не планували окремо зупинятися на підготовці сервера, маючи намір використовувати для цього існуючий матеріал: Ubuntu Server. Налаштовуємо роутер NAT+DHCP+Squid3. Однак, коли кількість уточнень та відмінностей почала перевищувати розумні межі, ми вирішили присвятити цьому питанню окрему статтю. У той же час ми припускаємо, що читач знайомий з вищевказаним матеріалом і тому не будемо докладно пояснювати багато використовуваних нами налаштувань і не будемо зупинятися на другорядних деталях.

Особливості інтеграції з Active Directory

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

Як DNS-сервери,у тому числі і на роутері, повинні обов'язково вказуватися тільки доменні DNS, за замовчуванням DNS-сервером є кожен контролер домену. Тому роутер не повинен мати ролі DNS-сервера. Також, для забезпечення інтеграціїз AD, роль DHCP-сервера також слід передати Windows Server, зазвичай, на один або кілька контролерів домену.

Налаштування мережі

Мережа налаштовується традиційним чином, за допомогою редагування конфігураційного файлу/etc/network/interfaces. Приймемо, що зовнішній мережі відповідає інтерфейсeth0, а внутрішньоїeth1. В результаті налаштування у нас має вийти приблизно таке:

Якщо вас бентежить вказівка ​​внутрішніх DNS у налаштуваннях зовнішньої мережевої карти, то можете перенести ці рядки до секції eth1, на роботу сервера це не вплине.

DNS-сервера провайдера або публічні DNS слід зазначити у розділіСервери пересилання внутрішнього DNS-сервера на будь-якому з контролерів домену.

Якщо ви отримуєте мережеві налаштування від провайдера по DHCP, то для використання внутрішніх серверів імен замість DNS провайдера секція eth0 повинна мати вигляд:

Таким чином, явно зазначені налаштування перекриють отримані автоматом від провайдера.

Зберігаємо вміст файлу, перезавантажуємося. Перевіряємо наявність інтернету на сервері та дозвіл імен. Наприклад, виконайте команду:

Після цього перевірте дозвіл зовнішніх імен:

Ви також маєте отримати відповідь від внутрішнього сервера. На цьому налаштування мережі можна вважати закінченим.

Налаштування NAT та брандмауера

Базове налаштування брандмауера принципово нічим не відрізняється від варіанта роутера для робочої групи, за одним винятком. Так як наш проксі є непрозорим, існує можливість виходу безпосередньо через NAT, якщо з якоїсь причини браузер не буде налаштований на роботу з проксі-сервером. Тому обмежимо доступ по HTTP (порт 80) всім клієнтів локальної мережі, крім серверів і окремих хостів, яким можепотрібно прямий доступ.

Ми вважаємо, що проксі-сервер потрібен насамперед для контролю користувачів, тому завертати на нього сервери та службові хости, які не надають доступу до інтернет користувачів, не бачимо жодного сенсу.

Створимо та відкриємо файл/etc/nat

внесемо до нього такий вміст:

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

Налаштування синхронізації часу

Для успішної роботи з доменом Active Directory та проходження Kerberos-аутентифікації важливо, щоб годинник роутера був синхронізований з годинником контролера домену.

домену
Потім додамо в кінець файлу два рядки, що обмежують роботу NTP-клієнта внутрішнім інтерфейсом:

Зберігаємо файл і перезапускаємо службу:

Щоб переконатися, що NTP працює лише на внутрішньому інтерфейсі, виконайте:

Перевірити синхронізацію можна командою:

У висновку звертаємо увагу на колонки:when -час з останньої відповіді сервера,pool - час опитування сервера,offset - різниця часу в секундах.

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

Налаштування кешування проксі-сервера Squ >Увага! Якщо ви перенастроюєте сервер для робочої групи, тообов'язково видаліть пакетdnsmasq або інші DNS та DHCP сервери!

Встановимо проксі-сервер squid3 командою:

Вкажемо acl елемент для локальної мережі:

Мінімальний набір списків доступу:

Інтерфейси, порти та режими роботи проксі:

Для squid 3.1 і нижче перший рядок має виглядати так:

Збережіть та перевірте конфігурацію:

Якщо немає помилок, то перезапускаємо squid:

На DNS-сервері домену додайте A-запис для нашого роутера:

active
Тепер у налаштуваннях браузера вкажіть повне FQDN ім'я сервера та порт 3128:

squid
Оскільки жодних обмежень поки не встановлено, ви повинні отримати доступ в інтернет.

На цьому базове налаштування вважатимемо закінченим. Наступним етапом буде налаштування Kerberos-автентифікації та автоматичного розповсюдження налаштувань проксі, про що ми розповімо в наступній статті.