Я вже не раз писав замітки про поліпшення роботи в Інтернет. Цього ранку, розбираючи купу старого заліза (щоб забрати його в центр переробки), я випадково виявив мій старий ноутбук.
Це старенький IBM Thinkpad T22, Тип 2647 з 256Мб оперативної пам'яті і 20Гб жорстким диском. Пару років тому у мене було штук 20 таких, я купував їх в центрі переробки, а потім продавав на eBay. І ось зараз у мене залишилося тільки пару штук.
Вже коли я став упаковувати його для продажу, мене відвідала думка, що я зможу повернути його до роботи в якості кешуючого проксі сервера, щоб мої браузери тягнули повторювану інформацію з локального сервера, а не з мережі. Для цього знадобиться Squid. Посилаючись на опис з офіційного сайту, "... Squid - це проксі сервер і веб кешуючий демон. Він має широку сферу застосування від прискорення веб-сервера, кешіруя повторювані запити, до обробки веб, DNS і інших мережевих запитів від користувачів, які надають мережеві ресурси. Також він використовуються для фільтрації трафіку. Крім часто використовуваних мережевих протоколів HTTP і FTP. Squid також має підтримку деяких інших, наприклад TLS, SSL. Internet Gopher і HTTPS. Розробляється версія Squid (3.1) включає в себе підтримку IPv6 і ICAP ... »
Я використовував Ubuntu для цього проекту. Установка сервера Squid дозволила отримати кілька важливих переваг:
Звільнити пропускну здатність каналу в Інтернет
Прискорити завантаження веб-сторінок
Дозволив переглядати копії сторінок, які я регулярно відвідую (наприклад, якщо сервер недоступний).
Після завантаження та запису на диск копії ubuntu-8.04.2-server-i386, я встановив базововую комплектацію Ubuntu сервера по керівництву з howtoforge.com. Крім того я встановив SSH сервер, а значить я тепер можу прибрати ноутбук в сторону і з комфортом продовжити настройку з мого домашнього комп'ютера.
ця команда встановить SSH сервер і запустить його для вас.
щоб увійти в режим суперкористувача. В такому випадку вам не доведеться кожного разу вводити «sudo».
Встановіть Squid використовуючи команду:
Після завершення установки і перезавантаження системи ви зможете встановити Webmin - GUI інтерфейс для управління вашим сервером. Для цього вам буде потрібно завантажити пакет webmin в будь-яку директорію. Команда для завантаження:
Розпакуйте його командою:
Webmin необхідний Perl для запуску, тому потрібно встановити кілька додаткових пакетів:
Перейдіть в розпаковану директорію з webmin ввівши команду:
Запустіть установку webmin:
На моєму локальному комп'ютері треба було змінити hosts файл ось так:
І додати наступний рядок:
Тепер необхідно перезапустити сервер Squid командою:
Після перезавантаження і входу в систему (по ssh), ви можете перевірити статус сервісу webmin командою:
Ви повинні побачити щось на зразок цього:
Щоб упевнитися, що він прослуховує вірний порт, введіть наступну команду:
У висновку команди ви повинні знайти рядок, на кшталт такої:
Пам'ятайте, ми з вами обрали порт 26395 при установці і webmin використовує Perl.
Тепер відкрийте веб-браузер і перейдіть на сторінку webmin. URL який я використовував:
Я вирішив не використовувати SSL при доступі до webmin, так як він мені не потрібен в локальній мережі. Після успішного входу, нам буде потрібно налаштувати Squid. Знайдіть (зліва) меню «Unused Modules», а в ньому пункт «Squid Proxy Server» - клацніть по ньому. Вам запропонують встановити Squid (webmin) модуль. Виберіть цей пункт.
Після установки знову погляньте на меню зліва і в пункті «Servers», тепер ви повинні побачити модуль «Squid Proxy Server». Перейдіть в нього, а потім відкрийте опцію «Ports and Networking».
Зауважте, що Squid працює на стандартному порту 3128. Тепер поверніться на сторінку модуля Squid, клацнувши по «Module Index» (вгорі сторінки). Перейдіть в опцію «Access Control» і знайдіть кнопку внизу сторінки «Browser Regexp» - вона містить список, що випадає. У цьому списку виберіть «Client Address», потім клацніть кнопку «Create new ACL».
Введіть ваші значення в цю форму. Я використовував наступні:
Більше я нічого не змінював, а натиснув кнопку «Save».
Тепер перейдіть у вкладку (зверху) «Proxy restrictions». Потім клацніть (внизу) «Add proxy restrictions» і знайдіть ім'я ACL. яке ви ввели раніше (в моєму випадку «localdomain»). * Переконайтеся, що ви шукаєте в стовпці «Match ACLS», * і тільки потім клацніть на ім'я. Тепер відзначте пункт «Allow». І збережіть налаштування, натиснувши кнопку «Save».
На що з'явилося екрані перемістіть ім'я «localdomain» (або як ви його назвали) вгору, використовуючи стрілку вгору до тих пір, поки воно не буде знаходитися вище тексту «Deny all». Якщо воно буде нижче, ваш браузер не зможе отримати доступ до сервера.
Тепер у вікні ssh введіть команду:
Цим ви перезавантажте сервер і Squid3 (разом з новими налаштуваннями). Я звернув увагу, що webmin (з якихось причин) вважає, що встановлений Squid версії 2.6. Тому-то webmin і не може запустити сервер. Але після перезавантаження системи здалася кнопка «Stop Squid», що означає, що модуль webmin запустився і успішно працює (далі я не став більше возитися з webmin, адже все-одно використовую SSH для доступу, перезавантаження і т.д.)
При спробі доступу до «Cache Manager Statistics» в проксі сервер Squid, видається наступна помилка:
Після цього менеджер статистики має запрацювати. | Сайти з корисною інформацією:
Як блокувати доступ до сайтів, використовуючи сервер Squid в Ubuntu Linux
Як блокувати доступ по портам в сервері Squid, Ubuntu Linux
Встановлюємо HTTP проксі сервер (Squid)
Встановлюємо Squid проксі використовуючи Webmin на Ubuntu Server 8.04.1
Параноїдальний пінгвін - Створення безпечного Squid Web проксі, Частина 1