Вам не хочется тратить лишнее время на загрузку рекламных баннеров? Мне тоже. К счастью, SQUID позволяет достаточно просто решить эту проблему. Просто вставьте следующие строки в свой файл /usr/local /etc/squid/squid.conf:
acl good_url url_regex "/usr/local/etc/squid/acl/good_url"
acl bad_urlpath urlpath_regex "/usr/local/etc/squid/acl/bad_urlpath"
acl bad_url url_regex "/usr/local/etc/squid/acl/bad_url"
http_access deny bad_urlpath !good_url
http_access deny bad_url !good_url
Соответственно, нужно будет создать три файла: good_url, bad_url_path и bad_url. В файл bad_url следует поместить «плохие» URL, например:
^http://.*doubleclick
^http://.*-ad.flycast.com/server/img/
^http://1000-stars-ru/cgi-bin/1000-cgi
^http://1000.stars.ru/cgi-bin/1000.cgi
^http://12.16.1.10/~web_ani/
А в файл bad_url_path — «плохой» путь, например:
88x31.*gif
88x31.*GIF
100x80.*gif
100x80.*GIF
100x100.*gif
100x100.*GIF
120x60.*gif
120x60.*GIF
179x69.*gif
193x72.*gif
468x60.*gif
Обычно такие имена имеют баннеры.
Примеры файлов good_url, bad_url_path и bad_url можно взять на моей домашней страничке — http://dkws.narod.ru
15.7. Разделение канала
Допустим, вам нужно настроить прокси-сервер таким образом, чтобы одна группа компьютеров могла работать с одной скоростью, а другая — с другой. Это может потребоваться, например, для разграничения пользователей, которые используют канал для работы, и пользователей, которые используют ресурсы канала в домашних целях. Естественно, первым пропускная способность канала важнее, чем вторым. С помощью прокси-сервера SQUID можно разделить канал.
Для начала в файле конфигурации укажите, сколько пулов, то есть групп пользователей, у вас будет:
delay_pools 2
Затем определите классы пулов. Всего существует три класса:
1. Используется одно ограничение пропускной способности канала на всех.
2. Одно общее ограничение и 255 отдельных для каждого узла сети класса С.
3. Для каждой подсети класса В будет использовано собственное ограничение и отдельное ограничение для каждого узла.
В файл squid.conf добавьте следующие директивы:
delay_class 1 1 # определяет первый пул класса 1 для домашних пользователей
delay_class 2 2 # определяет второй пул класса 2 для служащих
Теперь задайте узлы, которые будут относиться к пулам:
acl home src адреса
acl workers src адреса
delay_access 1 allow home
delay_access 1 deny all
delay_access 2 allow workers
delay_access 2 deny all
Затем укажите ограничения:
delay_parameters 1 14400/14400
delay_parameters 2 33600/33600 16800/33600
Как я уже отмечал выше, для пула класса 1 используется одно ограничение для всех компьютеров, входящих в пул — 14400 байт. Первое число задает скорость заполнения для всего пула (байт/секунду). Второе — максимальное ограничение.
Для пула класса 2, соответственно, используются ограничения на всю подсеть и отдельно на каждого пользователя. Если бы у нас был определен пул класса 3, то для него ограничения выглядели примерно так:
delay_parameters 3 128000/128000 64000/128000 12800/64000
Первые два числа задают соответственно скорость заполнения и максимальное ограничение для всех. Следующая пара чисел определяет скорость заполнения для каждой подсети и максимальное ограничение, а третья — скорость заполнения и максимальное ограничение для индивидуального пользователя.
15.8. Программы для учета трафика
Для мониторинга работы SQUID и вообще для учета трафика можно воспользоваться следующими программами:
sqmgrlog — http://www.ineparnet.com.br/orso/index.html
mrtg — http://www.switch.ch/misc/leinen/snmp/perl/
iptraf — http://dkws.narod.ru/linux/soft/iptraf-2.4.0.tar.gz
bandmin — http://www.bandmin.org
webalizer (анализ работы Apache) — http://www.mrunix.net/webalizer/
Вместе с данными программами поставляется довольно читаемая документация, поэтому подробно на их использовании я останавливаться не буду. Программа MRTG описана в п. 8.5.
15.9. Настройка клиентов
После того, как вы настроили прокси-сервер, давайте займемся настройкой клиентов, то есть браузеров пользователя. Я не сомневаюсь, что вы знаете, как настраивать тот или иной браузер, я лишь напомню процедуру настройки для некоторых распространенных браузеров.
Internet Explorer 5Меню Сервис→Свойства обозревателя→вкладка Подключение→Настройка сети. В появившемся окне установите необходимые параметры, то есть имя прокси-сервера и его порт (см. рис. 15.2).
Рис. 15.2. Настройка Internet Explorer
Netscape CommunicatorМеню Edit→Preferences→Advanced→Proxies→Manual Proxy Configuration→View (см. рис. 15.3).
Рис. 15.3. Настройка Netscape Communicator
KonquerorМеню Настройки→Настройки→Прокси (см. рис. 15.4).
Рис. 15.4. Настройка Konqueror
16Установка MySQL
16.1. Установка сервера
В этой главе я кратко опишу, как установить популярный сервер баз данных MySQL. Благодаря своей простоте сервер MySQL приобрел широкое распространение в сети Интернет. При создании Интернет-сервера вы просто не сможете обойтись без сервера MySQL: большинство провайдеров предоставляет хостинг вместе с сервером баз данных, большинство дизайнеров выбирают MySQL, потому что практически невозможно построить серьезный Интернет-проект без использования баз данных.
Я здесь не буду рассматривать технические характеристики сервера MySQL и не буду сравнивать его с другими серверами баз данных, такими, как InterBase Server, IBM DB/2, Oracle. MySQL идеально подходит практически для любого Интернет-проекта. Естественно, если вы создаете распределенную систему обработки информации, вам лучше использовать InterBase Server или Oracle, поскольку эти СУБД являются более масштабируемыми, чем MySQL. Итак, приступим к настройке сервера. Прежде всего нужно установить пакеты, необходимые для работы MySQL.
Я использую MySQL версии 3.20, поэтому я установил такие пакеты:
MySQL_GPL-3.20.32a-18mdk.
MySQL_GPL-client-3.20.32a-18mdk.
MySQL_GPL-shared-libs-3.20.32a-18mdk.
MySQL_GPL-bench-3.20.32a-18mdk.
MySQL_GPL-resolveip-3.20.32a-18mdk.
Проще всего воспользоваться командой rpm –ih MySQL* для установки сервера. Возможно, вы не захотите устанавливать клиентскую версию MySQL-client, однако на этапе настройки я рекомендую все-таки установить ее — она будет использоваться для тестирования сервера.
После установки пакета нужно создать базу данных mysql. Скорее всего, она уже создана, но, чтобы окончательно убедиться в этом, введите команду:
mysql_install_db
Если основная база данных существует, программа сообщит вам об этом. Теперь нужно установить пароль для пользователя root. По умолчанию пользователь root не имеет пароля. Я не буду долго объяснять, как важен правильно заданный пароль для безопасности системы, не говоря уже об его отсутствии. База данных mysql является системной базой данных и содержит следующие таблицы:
1. таблицу db;
2. таблицу host;
3. таблицу user.
Сейчас нас интересует таблица user. Она содержит пароли всех пользователей, которые имеют право работать с сервером. На данном (начальном) этапе в базу данных внесен только один пользователь — root. Для изменения пароля запустите сервер командой:
safe_mysqld &
Эта команда запустит сервер в режиме демона и освободит консоль. Если все пакеты были установлены правильно, вы увидите сообщение:
mysql: ready for connections
Однако, может быть и другое сообщение, свидетельствующее об удачном запуске. Затем введите команду:
mysql –u root mysql
Данная команда запускает клиент MySQL. При этом используется имя пользователя root, даже если вы работаете под другой учетной записью. Последний параметр определяет базу данных — mysql.
Измените пароль суперпользователя с помощью команды:
UPDATE user SET Password=PASSWORD(xnew_password') WHERE user='root';
Оглавление
-
1 Введение в Linux
-
1.1. Вступительное слово
-
1.2. О Linux
-
1.3. Почему именно Linux?
-
1.4. Область применения Linux-серверов
-
1.5. Как устроена данная книга
-
1.6. Какие сервера бывают и для чего они нужны
-
1.6.1. Сервер локальной сети
-
1.6.2. Шлюз — сервер для доступа в Интернет
-
1.6.3. Сервер удаленного доступа
-
1.7. Что такое сервер? (или Курс Молодого Администратора)
-
1.7.1. Архитектура сети: одноранговая и клиент/сервер
-
1.7.2. Протокол и интерфейс
-
1.7.3. Протокол TCP/IP
-
1.7.4.Системадоменныхимен—DNS
-
1.7.5. Многоуровневая архитектура стека TCP/IP
-
1.7.6. Порты и демоны
-
1.7.7. Структура пакетов IP и TCP
-
1.8. Общие рекомендации
-
1.9. Обзор дистрибутивов Linux
-
1.10. Глоссарий
-
2 Установка системы
-
2.1. Установка Red Hat Linux
-
***
-
***
-
2.2. Установка Linux Mandrake
-
2.3. Установка Linux на компьютер с чипсетом Intel810
-
2.4. Установка нескольких операционных систем
-
2.4.1. Установка Windows 9x и Linux
-
2.4.2. Установка Windows 9x, Windows NT/2000 и Linux.
-
2.4.3. Использование loadlin
-
2.5. Постинсталляционная настройка
-
2.6. Установка программного обеспечения
-
2.6.1.Традиционный способ установки: установка из исходных текстов
-
2.6.2. Программа RPM
-
2.6.3. Программы gnorpm, kpackage, apt
-
2.6.4. Установка из пакетов, содержащих исходный код
-
2.7. Завершение работы операционной системы
-
3 Учетные записи пользователей
-
3.1. Вход в систему
-
3.1.1. Вход в систему под другим именем
-
3.2. Изменение пароля
-
3.3. Идентификаторы пользователя и группы
-
3.4. Создание группы
-
3.5. Удаление и модификация учетных записей
-
3.6. Квотирование
-
3.6.1. Определение ограничений
-
3.6.2. Запрет квоты для пользователя или группы
-
3.6.3. Использование программы linuxconf для определения квот
-
3.7. Сценарий создания пользователей
-
4 Файловая система Linux
-
4.1. Файлы и каталоги. Дерево каталогов
-
4.2. Команды для работы с файлами и каталогами
-
4.2.1. Команды для работы с файлами
-
4.2.2. Команды для работы с каталогами
-
4.3.Ссылки
-
4.4. Стандартные имена устройств в Linux
-
4.5. Стандартные каталоги
-
4.6. Создание файловой системы. Типы файловых систем
-
***
-
4.7. Использование программы fdisk
-
4.8. Программа Disk Drake
-
4.9. Монтирование дисков. Файл/etc/fstab
-
4.10. Создание раздела (файла) подкачки
-
4.11. Использование LILO
-
4.12. Права доступа
-
4.13. Обслуживание файловой системы
-
4.14. Подключение магнитооптического диска
-
4.15. Использование стримера
-
4.15.1. Подключение стримера с интерфейсом SCSI
-
4.15.2. Подключение стримера с интерфейсомFDC
-
4.15.3. Управление стримером
-
4.16. Стратегия резервного копирования
-
4.17. Использование программы cpio
-
4.18. Повышение производительности жесткого диска
-
4.19. Создание массивов RAID
-
4.20. Форматирование дискет в Linux
-
5 Процессы
-
5.1. Системные вызовы fork() и ехес()
-
5.1.1. Общая схема управления процессами
-
5.2. Перенаправление ввода/вывода
-
5.3. Команды управления процессами
-
5.4. Создание расписаний
-
5.5. Уровни выполнения.Программа init
-
5.6. Сценарии загрузки системы
-
5.7. Стандартные файлы протоколов (журналов)
-
5.8. Управление протоколированием
-
5.8.1. Демон Syslogd
-
5.8.2. Сигналы
-
5.8.3. Файл конфигурации
-
5.8.4. Сетевое протоколирование
-
5.8.5. Демон klogd
-
5.8.6. Параметры ядра
-
6 Русификация Linux
-
6.1. Русификация консоли
-
6.2. Русификация системы X Window
-
6.3. Русификация принтера
-
7 Настройка сети
-
7.1. Установка сетевой платы. Настройка параметров сети
-
7.2. Подключение модема
-
7.3. Подключение к Интернет
-
7.3.1. Терминальный способ
-
7.3.2. PAP- и СНАР-аутентификация
-
7.4. Настройка DSL-соединения
-
7.4.1. Настройка соединения DSL в Linux Mandrake
-
7.4.2. Настройка соединения DSL в другом дистрибутиве
-
7.5. Настройка выделенных линий
-
7.6. Перед настройкой сервера
-
8 Конфигурирование сервера
-
8.1. Суперсерверы inetd и xinetd
-
8.1.1. Настройка сервера inetd
-
8.1.2. Настройка tcpd
-
8.1.3. Протокол IPv6
-
8.1.4. Установкаx inetd
-
8.1.5. Настройка xinetd
-
8.1.6. Параметры запуска xinetd
-
8.1.7. Пример файла конфигурации /etc/xinetd
-
8.2. Удаленный доступ: ssh и telnet
-
***
-
8.3.Маршрутизация
-
8.4. Настройка DHCP (Dynamic Host Configuration Protocol)
-
8.5. Подсчет трафика. Программа MRTG
-
***
-
8.6. Сетевая файловая система (NFS)
-
8.6.1. Настройка сервера NFS
-
8.6.2. Настройка клиента NFS
-
8.7. Поисковый сервер ht:/Dig
-
8.8. Прокси-сервер Socks5
-
8.8.1.Установка и настройкасервера
-
8.8.2. Альтернативные серверы Socks5
-
8.8.3. Настройка клиента Socks5 (licq)
-
8.9. Система обнаружения и защиты от вторжения
-
8.9.1. Что такое LIDS?
-
8.9.2. Установка LIDS
-
8.9.3. Базовая настройка
-
8.9.4. Правила доступа
-
8.9.5. Администриров ание LIDS
-
9 Протокол Server Message Block (SMB)
-
9.1. Установка Samba
-
9.2. Настройка файлового сервера
-
9.3. Доступ к SMB-ресурсам из Linux
-
9.4. Доступ к принтеру Linux для Windows-машин
-
9.5. Доступ к Windows-принтеру с компьютеров, работающих под Linux
-
9.6. Пример файла smb.conf
-
9.7. Конфигуратор SWAT
-
10 Служба имен — DNS
-
10.1. Настройка сервера DNS
-
10.2. Кэширующий сервер DNS
-
10.3. Настройка дополнительного сервера DNS
-
10.4. Команды управления сервером DNS
-
10.5. Использование nslookup
-
11 Настройка FTP
-
11.1. Сервер FTP wu-ftpd
-
11.1.1. Файл ftpaccess
-
11.1.2. Файл ftphosts
-
11.1.3. Файл ftpusers
-
11.1.4. Файл ftpgroups
-
11.1.5. Файл ftpconversions
-
11.1.6. Файл xferlog
-
11.2.СерверProFTP
-
11.2.1. Файл /etc/proftpd.conf
-
11.2.2. Ограничение доступа
-
11.2.3. Файл .ftpaccess
-
11.3. Организация анонимного FТР-сервера
-
11.4. Вспомогательные программы
-
11.5. Виртуальный узел FTP
-
12 Сервер Apache
-
12.1. Установка Apache
-
12.2. Файлы конфигураци исервера
-
12.2.1. Файл httpd.conf
-
12.2.2. Конфигурирование Apache с помощью netconf
-
12.3. Каталоги пользователей
-
12.4. Виртуальный HTTP-сервер
-
12.4.1. Виртуальные серверы с идентификацией по имени
-
12.4.2. Виртуальные серверы с идентификацией по IP-адресу
-
12.5. SSL и Apache
-
12.5.1. Установк а SSL
-
12.5.2. Подключение SSL к Apache
-
12.5.3. Генерирование сертификатов
-
12.6. Пример файла httpd.conf
-
***
-
***
-
***
-
12.7. Перекодирование русскоязычных документов «на лету»
-
13 Почтовый сервер
-
13.1. Настройка sendmail
-
***
-
13.2. Аутентификация в sendmail
-
13.3. Настройка почтовых клиентов
-
13.4. Другие программы для работы с электронной почтой
-
13.5. Создание списка рассылки
-
14 Бастионы
-
14.1. Применение IPChains
-
14.2. Настройка IPChains
-
14.3. Различные примеры
-
14.3.1. Пакеты SYN
-
14.3.2. Фрагментация пакетов
-
14.3.3. Пинг смерти
-
14.3.4. IР-спуфинг
-
14.3.5. Фильтрация фрагментированных бомб
-
14.4. Практический пример
-
***
-
14.5. IPTables
-
15 Прокси-сервер SQUID
-
15.1. Что такое SQUID?
-
15.2. Установка SQUID
-
15.3. Настройка SQUID
-
15.4. Запуск SQUID
-
15.5. Формат файла squid.conf
-
15.5.1. Параметры сети
-
15.5.2. Параметры соседей
-
15.5.3. Управление кэшем
-
15.5.4. Протоколирование
-
15.5.5. Параметры внешних программ
-
15.5.6. Списки ACL
-
15.5.7. Параметры доступа
-
15.5.8. Параметры администрирования
-
15.6. Отказ от рекламы. Баннерный фильтр
-
15.7. Разделение канала
-
15.8. Программы для учета трафика
-
15.9. Настройка клиентов
-
16 Установка MySQL
-
16.1. Установка сервера
-
16.2. Клиентская часть
-
16.3. Связка Apache + PHP + MySQL
-
16.3.1. Первый способ: из пакетов RPM
-
16.3.2. Второй способ: из исходных текстов
-
17 Практические примеры. Обратный звонок
-
17.1. Настройка шлюза
-
17.1.1. Настройка ядра
-
17.1.2. Настройка сети
-
17.1.3. Конфигурирование IpChains
-
17.1.4. Настройка DNS
-
17.1.5. Настройка Squid
-
17.2. Настройка Dial-In сервера
-
17.2.1. Установка программного обеспечения
-
17.2.2. Настройка mgetty
-
17.2.3. Настройка ррр
-
17.2.4. Включение IP Forwarding
-
17.2.5. Второй вариант настройки
-
17.2.6. Если что-то не работает…
-
17.2.7. Настройка Windows-клиентов
-
17.2.8. Дополнительная литература
-
17.3. Обратный звонок
-
17.3.1. Что такое callback?
-
17.3.2. Настройка сервера. Способ1
-
17.3.3. Настройка сервера.Способ 2
-
17.3.4. Настройка клиен тов. Способ 1
-
17.3.5. Настройка клиентов. Способ 2
-
18 Компилирование ядра
-
18.1. Параметры ядра
-
18.1.1. Параметры корневой файловой системы
-
18.1.2. Управление RAMDISK
-
18.1.3. Управление памятью
-
18.1.4. Другие параметры ядра
-
18.2. Конфигурирование ядра
-
18.2.1. Processor type and features
-
18.2.2. Loadable module support
-
18.2.3.General setup
-
18.2.4. PnP support
-
18.2.5. Block devices
-
18.2.6. Networking options
-
18.2.7. SCSI support
-
18.2.8. Network device support
-
18.2.9.IrDA, USB support
-
18.2.10. Filesystems
-
18.2.11. Sound
-
18.3. Компилирование ядра
-
19 Полезные команды и программы. Создание RPM-пакетов
-
19.1. Общие команды
-
***
-
19.2. Команды для работы с файлами
-
19.3. Команды для работы с Интернет
-
***
-
19.4. Обработка текста
-
***
-
***
-
19.5. Создание RPM-пакетов
-
19.6. Использование редактора vi
-
19.7. Интерпретатор команд bash
-
19.7.1. Каналы и списки
-
19.7.2. Перенаправление ввода/вывода
-
19.7.3. Подоболочки
-
19.7.4. Переменные и массивы
-
19.7.5. Подстановка команд и арифметических выражений
-
19.7.6. Управляющие структуры и циклы
-
19.7.7. Подстановка переменных
-
19.7.8. Функции
-
19.7.9. Обработка сигналов и протоколирование
-
20 Графический интерфейс пользователя. Система X Window
-
20.1. Установка и запуск системы
-
20.2. Конфигурационный файл XF86Config
-
20.3. Настройка X Window
-
20.4. Конвертирование шрифтов Windows
-
20.5. Оконная среда KDE
-
20.6. Оконная среда GNOME
-
20.7. Настройка Х-терминала
-
21 Linux в игровом зале
-
21.1. Достоинства и недостатки
-
21.2. Выбор аппаратного обеспечения для игрового зала
-
21.3. Установка драйверов для видеокарт nVidia
-
21.4. Установка Windows-эмулятора wine
-
21.5. Запуск игр с помощью эмулятора wine
-
21.6. Средства мультимедиа
-
21.7. Администрирование зала
-
21.7.1. Доступ к Интернет
-
21.7.2. Управление пользователями
-
21.7.3. Ограничение доступа пользователя
-
22 Антивирусная защита
-
22.1. Антивирусные программы
-
22.1.1. Программа DrWeb для Linux
-
22.1.2. Программа AVP для Linux
-
22.2. Проверка входящей и исходящей почты
-
23 Прочие возможности
-
23.1. SATAN
-
23.2. Защита от спама
-
23.3. Ограничение системных ресурсов
-
24 Вместо заключения
-
Приложения
-
Приложение А. Конфигурационные файлы Linux
-
***
-
***
-
***
-
Приложение Б. Общие параметры программ для системы X Window
-
Приложение В. Компактное и нормальное ядра
-
***
-
***
-
***
-
***
-
***
-
***
-
***
-
***
-
Приложение Г. Ссылки
-
***
-
***