Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
fullcircle:28:squid [2010/06/01 20:03] |
fullcircle:28:squid [2010/06/01 20:23] (текущий) |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
</style> | </style> | ||
- | Яуже не раз писал заметки об улучшении работы в Интернет. Этим утром, разбирая груду старого железа (чтобы унести его в центр переработки), я случайно обнаружил мой старый ноутбук. | + | Я уже не раз писал заметки об улучшении работы в Интернет. Этим утром, разбирая груду старого железа (чтобы унести его в центр переработки), я случайно обнаружил мой старый ноутбук. |
Это старенький IBM Thinkpad T22, Тип 2647 с 256Мб оперативной памяти и 20Гб жёстким диском. Пару лет назад у меня было штук 20 таких, я покупал их в центре переработки, а затем продавал на eBay. И вот сейчас у меня осталось только пару штук. | Это старенький IBM Thinkpad T22, Тип 2647 с 256Мб оперативной памяти и 20Гб жёстким диском. Пару лет назад у меня было штук 20 таких, я покупал их в центре переработки, а затем продавал на eBay. И вот сейчас у меня осталось только пару штук. | ||
Строка 11: | Строка 11: | ||
Я использовал Ubuntu для этого проекта. Установка сервера Squid позволила получить несколько важных преимуществ: | Я использовал Ubuntu для этого проекта. Установка сервера Squid позволила получить несколько важных преимуществ: | ||
- | • Освободить пропускную способность канала в Интернет | + | * Освободить пропускную способность канала в Интернет |
- | • Ускорить загрузку веб-страниц | + | * Ускорить загрузку веб-страниц |
- | • Позволил просматривать копии страниц, которые я регулярно посещаю (например, если сервер недоступен). | + | * Позволил просматривать копии страниц, которые я регулярно посещаю (например, если сервер недоступен). |
Для начала нужно установить Ubuntu 8.04 Server. Не знаете, как это сделать? Почитайте это руководство: Идеальный сервер - Ubuntu Hardy Heron (http://howtoforge.com/perfect-server-ubuntu8.04-lts). Я пропустил установку (то есть не устанавливал) Apache, MySQL, Postfix, BIND9, Proftpd, POP3/IMAP и Webalizer. Мне они просто не нужны. Мне нужен только Squid прокси сервер. Кроме того, я установил Webmin (см. ниже), чтобы с лёгкостью управлять своим сервером удалённо. Два года назад я узнал, что сначала нужно устанавливать Squid! В таком случае установка Webmin проходит гладко и без запинки (в тот раз я использовал Debian в качестве сервера и Ubuntu в другом случае). Те, кто следит за моим блогом (а так же все мои новые читатели), наверно помнят, что около года назад я уже рассматривал установку Ubuntu и Squid, и даже написал по этому поводу пост: «Ускоряем и Улучшаем просмотр Интернет-страниц с помощью Ubuntu Squid Сервера» (http://ubuntulinuxhelp.com/speed-up-and-improve-web-surfing-with-an-ubuntu-squid-server/). Тот пост об Ubuntu и Squid был основан на Ubuntu 6.06 LTS и Squid 2.6. Но времена меняются, а с ними и версии приложений, поэтому, в этот раз, я решил пересмотреть установку Squid заново. | Для начала нужно установить Ubuntu 8.04 Server. Не знаете, как это сделать? Почитайте это руководство: Идеальный сервер - Ubuntu Hardy Heron (http://howtoforge.com/perfect-server-ubuntu8.04-lts). Я пропустил установку (то есть не устанавливал) Apache, MySQL, Postfix, BIND9, Proftpd, POP3/IMAP и Webalizer. Мне они просто не нужны. Мне нужен только Squid прокси сервер. Кроме того, я установил Webmin (см. ниже), чтобы с лёгкостью управлять своим сервером удалённо. Два года назад я узнал, что сначала нужно устанавливать Squid! В таком случае установка Webmin проходит гладко и без запинки (в тот раз я использовал Debian в качестве сервера и Ubuntu в другом случае). Те, кто следит за моим блогом (а так же все мои новые читатели), наверно помнят, что около года назад я уже рассматривал установку Ubuntu и Squid, и даже написал по этому поводу пост: «Ускоряем и Улучшаем просмотр Интернет-страниц с помощью Ubuntu Squid Сервера» (http://ubuntulinuxhelp.com/speed-up-and-improve-web-surfing-with-an-ubuntu-squid-server/). Тот пост об Ubuntu и Squid был основан на Ubuntu 6.06 LTS и Squid 2.6. Но времена меняются, а с ними и версии приложений, поэтому, в этот раз, я решил пересмотреть установку Squid заново. | ||
Строка 30: | Строка 30: | ||
После загрузки и записи на диск копии ubuntu-8.04.2-server-i386, я установил базововую комплектацию Ubuntu сервера по руководству с howtoforge.com. Кроме того я установил SSH сервер, а значит я теперь могу убрать ноутбук в сторону и с комфортом продолжить настройку с моего домашнего компьютера. | После загрузки и записи на диск копии ubuntu-8.04.2-server-i386, я установил базововую комплектацию Ubuntu сервера по руководству с howtoforge.com. Кроме того я установил SSH сервер, а значит я теперь могу убрать ноутбук в сторону и с комфортом продолжить настройку с моего домашнего компьютера. | ||
- | sudo aptitude install ssh openssh-server | + | <code>sudo aptitude install ssh openssh-server</code> |
эта команда установит SSH сервер и запустит его для вас. | эта команда установит SSH сервер и запустит его для вас. | ||
Строка 36: | Строка 36: | ||
Далее по тексту вам придётся подставлять вместо моих IP адресов и имён те, которые назначены в вашей сети. После завершения установки базовой комплектации сервера, откройте терминал с вашего домашнего (удобного) компьютера и введите: | Далее по тексту вам придётся подставлять вместо моих IP адресов и имён те, которые назначены в вашей сети. После завершения установки базовой комплектации сервера, откройте терминал с вашего домашнего (удобного) компьютера и введите: | ||
- | ssh root@192.168.1.200 | + | <code>ssh root@192.168.1.200</code> |
192.168.1.200 — адрес сервера, который я только что установил. | 192.168.1.200 — адрес сервера, который я только что установил. | ||
Строка 42: | Строка 42: | ||
Используйте команду | Используйте команду | ||
- | su | + | <code>su</code> |
чтобы войти в режим суперпользователя. В таком случае вам не придётся каждый раз вводить "sudo". | чтобы войти в режим суперпользователя. В таком случае вам не придётся каждый раз вводить "sudo". | ||
Строка 48: | Строка 48: | ||
Установите Squid используя команду: | Установите Squid используя команду: | ||
- | aptitude install squid3 | + | <code>aptitude install squid3</code> |
После завершения установки и перезагрузки системы вы сможете установить Webmin — GUI интерфейс для управления вашим сервером. Для этого вам потребуется загрузить пакет webmin в любую директорию. Команда для загрузки: | После завершения установки и перезагрузки системы вы сможете установить Webmin — GUI интерфейс для управления вашим сервером. Для этого вам потребуется загрузить пакет webmin в любую директорию. Команда для загрузки: | ||
- | wget http://prdownloads.sourceforge.net/webadmin/webmin-1.470.tar.gz | + | <code>wget http://prdownloads.sourceforge.net/webadmin/webmin-1.470.tar.gz</code> |
Распакуйте его командой: | Распакуйте его командой: | ||
- | tar xzvf webmin-1.470.tar.gz | + | <code>tar xzvf webmin-1.470.tar.gz</code> |
Webmin необходим Perl для запуска, поэтому нужно установить несколько дополнительных пакетов: | Webmin необходим Perl для запуска, поэтому нужно установить несколько дополнительных пакетов: | ||
- | aptitude install install libauthen-pam-perl libnet-ssleay-perl libpam-runtime openssl perl perl-modules | + | <code>aptitude install install |
+ | libauthen-pam-perl libnet-ssleay-perl | ||
+ | libpam-runtime openssl perl perl-modules</code> | ||
Перейдите в распакованную директорию с webmin введя команду: | Перейдите в распакованную директорию с webmin введя команду: | ||
- | cd webmin-1.470 | + | <code>cd webmin-1.470</code> |
Запустите установку webmin: | Запустите установку webmin: | ||
- | ./setup.sh | + | <code>./setup.sh</code> |
Потом я изменил порт доступа с 10000 на 26395. А также изменил аккаунт доступа на "root" и ввёл новый пароль. | Потом я изменил порт доступа с 10000 на 26395. А также изменил аккаунт доступа на "root" и ввёл новый пароль. | ||
Строка 78: | Строка 80: | ||
На моём локальном компьютере потребовалось изменить hosts файл вот так: | На моём локальном компьютере потребовалось изменить hosts файл вот так: | ||
- | sudo gedit /etc/hosts | + | <code>sudo gedit /etc/hosts</code> |
И добавить следующую строку: | И добавить следующую строку: | ||
- | 192.168.1.200 | + | <code>192.168.1.200 |
- | squid.localdomain squid | + | squid.localdomain squid</code> |
Теперь необходимо перезапустить сервер Squid командой: | Теперь необходимо перезапустить сервер Squid командой: | ||
- | shutdown -r now | + | <code>shutdown -r now</code> |
После перезагрузки и входа в систему (по ssh), вы можете проверить статус сервиса webmin командой: | После перезагрузки и входа в систему (по ssh), вы можете проверить статус сервиса webmin командой: | ||
- | sudo /etc/init.d/webmin status | + | <code>sudo /etc/init.d/webmin status</code> |
Вы должны увидеть что-то вроде этого: | Вы должны увидеть что-то вроде этого: | ||
- | webmin (pid 4573) is running | + | <code>webmin (pid 4573) is running</code> |
Чтобы удостовериться, что он прослушивает верный порт, введите следующую команду: | Чтобы удостовериться, что он прослушивает верный порт, введите следующую команду: | ||
- | + | <code>sudo netstat -tap</code> | |
- | sudo netstat -tap | + | |
В выводе команды вы должны найти строчку, вроде такой: | В выводе команды вы должны найти строчку, вроде такой: | ||
- | tcp 0 0 *:26395 *:* LISTEN 4573/perl | + | <code>tcp 0 0 *:26395 *:* LISTEN 4573/perl</code> |
Помните, мы с вами выбрали порт 26395 при установке и webmin использует Perl. | Помните, мы с вами выбрали порт 26395 при установке и webmin использует Perl. | ||
Строка 120: | Строка 121: | ||
Заметьте, что Squid работает на стандартном порту 3128. Теперь вернитесь на страницу модуля Squid, щёлкнув по «Module Index» (вверху страницы). Перейдите в опцию «Access Control» и найдите кнопку внизу страницы «Browser Regexp» — она содержит выпадающий список. В этом списке выберите «Client Address», затем щёлкните кнопку «Create new ACL». | Заметьте, что Squid работает на стандартном порту 3128. Теперь вернитесь на страницу модуля Squid, щёлкнув по «Module Index» (вверху страницы). Перейдите в опцию «Access Control» и найдите кнопку внизу страницы «Browser Regexp» — она содержит выпадающий список. В этом списке выберите «Client Address», затем щёлкните кнопку «Create new ACL». | ||
- | Введите ваши значения в эту форму. Я использовал следующие: | + | Введите ваши значения в эту форму. |
+ | Я использовал следующие: | ||
- | ACL Name: localdomain | + | <code>ACL Name: localdomain |
From IP: 192.168.1.0 | From IP: 192.168.1.0 | ||
To IP: 192.168.1.255 | To IP: 192.168.1.255 | ||
- | Netmask: 255.255.255.0 | + | Netmask: 255.255.255.0</code> |
Больше я ничего не изменял, а нажал кнопку "Save". | Больше я ничего не изменял, а нажал кнопку "Save". | ||
Строка 135: | Строка 137: | ||
Теперь в окне ssh введите команду: | Теперь в окне ssh введите команду: | ||
- | shutdown -r now | + | <code>shutdown -r now</code> |
Этим вы перезагрузите сервер и Squid3 (вместе с новыми настройками). Я обратил внимание, что webmin (по каким-то причинам) считает, что установлен Squid версии 2.6. Потому-то webmin и не может запустить сервер. Но после перезагрузки системы показалась кнопка "Stop Squid", что означает, что модуль webmin запустился и успешно работает (дальше я не стал больше возиться с webmin, ведь всё-равно использую SSH для доступа, перезагрузки и т.д.) | Этим вы перезагрузите сервер и Squid3 (вместе с новыми настройками). Я обратил внимание, что webmin (по каким-то причинам) считает, что установлен Squid версии 2.6. Потому-то webmin и не может запустить сервер. Но после перезагрузки системы показалась кнопка "Stop Squid", что означает, что модуль webmin запустился и успешно работает (дальше я не стал больше возиться с webmin, ведь всё-равно использую SSH для доступа, перезагрузки и т.д.) | ||
Строка 141: | Строка 143: | ||
Последним шагом будет настройка вашего браузера для использования адреса нашего прокси-сервера. В моём случае, мне необходимо в каждый браузер внести следующий адрес прокси: | Последним шагом будет настройка вашего браузера для использования адреса нашего прокси-сервера. В моём случае, мне необходимо в каждый браузер внести следующий адрес прокси: | ||
- | 192.168.1.200:3128 | + | **192.168.1.200:3128** |
3 июля я обнаружил проблему при доступе к статистике. Вот её описание и метод исправления: | 3 июля я обнаружил проблему при доступе к статистике. Вот её описание и метод исправления: | ||
Строка 153: | Строка 155: | ||
Решение: | Решение: | ||
- | aptitude install squid-cgi | + | <code>aptitude install squid-cgi</code> |
После этого менеджер статистики должен заработать.|Сайты с полезной информацией: | После этого менеджер статистики должен заработать.|Сайты с полезной информацией: | ||
+ | |||
+ | =====Ccылки===== | ||
Как блокировать доступ к сайтам, используя сервер Squid в Ubuntu Linux | Как блокировать доступ к сайтам, используя сервер Squid в Ubuntu Linux | ||