Хочу поділиться інформацією про налаштування прозорого HTTP і HTTPS проксі сервера Squid на FreeBSD. Установка Squid буде відбуватися з портів, тому що нам потрібно включити деякі функції при складанні. Як виявилося складного в цьому нічого немає. Потрібно всього лише замінити OpenSSL на LibreSSL. Я всю установку виробляв на чисту систему FreeBSD 11.0. Тому відразу завантажуємо порти. Так само хочу зауважити, що в портах версія SQUID, на момент написання статті, була 3.5.24, як поведе себе на інших версіях я не знаю.
Процес на звичайних HDD досить довгий, варто почекати поки все розпакується. Потім потрібно встановити LibreSSL, для полегшення роботи так само поставив mc і wget, я це робив за допомогою pkg
Після установки робимо підміну OpenSSL
потім переходимо в директорію з портом Squid
Виставляємо параметри так як вказані на скріншоті нижче
Природно налаштовується воно під свої потреби, але нам головне щоб були обрані параметри:
Натискаємо ОК і вводимо
Відбудеться сборка и установка Squid. У мене не викликало ніяких помилок і т.д. зібралося все відразу.
Далі підключаємо пакетний фільтр PF, я модулями ядра, так само можна пересобрать ядро, щоб PF була вбудована в ядро.
Переходимо до конфігу SQUID, знаходиться він
І наводимо в його в такий стан:
Потім створюємо файл blocked_https.txt, він нам потрібен для блокування небажаних HTTPS сайтів. І пишемо туди доменні імена в форматі:
Точка на початку доменного імені означає і все піддомени.
Далі нам необхідно створити сертифікат
Потім робимо ініціалізацію кеша.
І переходимо до налаштування PF. відкриваємо pf.conf
і вписуємо туди правила
Цими правилами ми перенаправляємо трафік HTTP і HTTPS з нашої локальної мережі на сервер SQUID для подальшої обробки, тим самим роблячи прозорість. запускаємо pf
Далі у мене при запуску і зверненні до SQUID почала виникати помилка
Вилікувалося наступним, відкриваємо devfs.conf