Custom rules - позволяет добавить пользовательские правила. Пользовательские правила - это правила, сохраненные в специальном файле с помощью программы iptables-save. Кстати, программа iptables - это и есть брандмауэр Linux, a system-config-firewall - это всего лишь оболочка для нее. Раздел Custom rules предназначен для тех случаев, если брандмауэр у вас был настроен ранее (в предыдущих версиях Fedora), вы сохранили его настройки, переустановили систему, а теперь хотите их импортировать. Хотя, если честно, пользователям, умеющим настраивать iptables, никакой конфигуратор для импорта настроек не нужен вовсе! Разделы Доверенные интерфейсы и Маскарадинг используются для настройки NAT, т. е. общего доступа к Интернету. Но, вообще говоря, для настройки общего доступа к Интернету намного проще использовать утилиту Firestarter (пакет называется firestarter).
О настройке Web-сервера и FTP-сервера вы можете прочитать в других моих книгах, посвященных настройке сетевого сервера под управлением Linux. В данной книге настройка этих сетевых служб не рассматривается.
7.5.3. Программа Firestarter: общий доступ к Интернету
С немощью Firestarter вы можете настроить общий доступ к Интернету всего за пару щелчков мыши. Данная программа намного удобнее стандартного конфигуратора system-config-firewall.
Сначала установим саму утилиту firestarter.
# yum install firestarter
После установки запустите firestarter: firestarter. При первом запуске откроется окно мастера (рис. 7.8), помогающего настроить брандмауэр.
Рис. 7.8. Стартовое окно мастера Firestarter
Первым делом мастер попросит указать устройство, с помощью которого вы подключаетесь к Интернету (рис. 7.9).
Рис. 7.9. Выбор сетевого интерфейса для подключения к Интернету
В очередном окне нужно установить флажок опции Enable Internet connection sharing (рис. 7.10), а в следующем - Start firewall now (рис. 7.11). Этим вы разрешите общий доступ к Интернету и запустите брандмауэр прямо сейчас.
Рис. 7.10. Разрешение общего доступа к Интернету
Рис. 7.11. Немедленный запуск брандмауэра
На этом настройка шлюза завершена. Теперь нужно настроить остальные компьютеры вашей сети. На каждом компьютере нужно запустить конфигуратор system-config-network, выделить интерфейс сетевой платы (eth0), щелкнуть на кнопке Свойства и в качестве IP-адреса шлюза установить IP-адрес компьютера, на котором запушен Firestarter (рис. 7.12),
Затем нужно перейти на вкладку DNS конфигуратора system-config-network и установить адреса DNS-серверов провайдера (рис. 7.13).
На этом настройку брандмауэра можно считать завершенной.
Рис. 7.12. Установка адреса шлюза на остальных компьютерах сети
Рис. 7.13. Прописывание DNS-адресов
7.6. Планировщики заданий
7.6.1. Выбор планировщика
В состав Fedora входит три планировщика: crond, anacron и atd. Планировщик crond используется для создания расписания, т.е. для периодического выполнения указанных пользователем команд в определенное время. Например, вы можете задать команду, которая будет выполняться каждый час, каждый день или раз в месяц.
Планировщик atd немного проще. Он умеет выполнять программы в строго определенное время, т.е. вы можете задать время и дату, например, 7 часов 11 октября, и команду, которая будет выполнена и это время.
Понятно, что планировщик crond более универсальный, поэтому в большинстве случаев вы будете использовать именно его. A планировщик atd можно вообще отключить.
Планировщик anacron является ближайшим родственником crond. Он похож на crond, но в то же время заслуживает отдельного разговора.
7.6.2. Планировщик crond
7.6.2.1. Файл конфигурации /etc/crontab
Основной конфигурационный файл данного планировщика называется /etс/crontab. Этот файл является общесистемным расписанием и его может редактировать только пользователь root. Формат файла crontab следующий:
М Ч Д ММ ДН Команда
где;
• М - минута (0-59);
• Ч - час (0-23);
• Д - день (1-31);
• ММ - месяц (1-12);
• ДН - день недели (0=Вс, 1=Пн и т.д.).
Рассмотрим типичный пример данного файла (листинг 7.3).
Листинг 7.3. Типичный пример файла crontab
SHELL= /bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
Здесь SHELL, PATH, MAILTO и HOME - это переменные окружения, задающие, соответственно, оболочку, путь поиска программ, адрес администратора и домашний каталог - они нужны только в общесистемном файле. Нас больше интересует вторая часть этого файла:
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
Команда run-parts означает, что должны быть выполнены все выполняемые файлы (обычно это сценарии) из указанного каталога. Не сложно догадаться, что из каталога /etc/cron.hourly команды будут выполняться каждый час, из каталога /etc/cron.daily - каждый день (в 4 часа утра), из каталога /etc/cron.weekly - раз в неделю по воскресеньям, а из каталога /eta/сron.monthly - раз в месяц, 1-го числа.
7.6.2.2. Правильное расписание для домашнего компьютера
Взгляните на формат файла crontab, а затем на имеющееся расписание. Программа crond довольно "древняя". Первоначально она появилась в UNIX, а UNIX преимущественно устанавливалась на серверах, которые работают круглосуточно и никогда не выключаются. Потом программа crond ''перекочевала" в Linux. Система Linux тоже сначала использовалась на машинах, которые практически никогда не выключаются - на компьютерах профессиональных пользователей-фанатов и на серверах. Со временем система Linux плавно переехала на домашние компьютеры, но в 4 часа утра компьютеры домашних пользователей… выключены. Следовательно, заданные команды не будут выполнены никогда!
Поэтому нам, как домашнему пользователю, нужно изменить расписание хотя бы так, как показано ниже (думаю, к 9 часам можно включить компьютер практически в любой день, включая воскресенье),
02 9 * * * root run-parts /etc/cron.daily
22 9 * * 0 root run-parts /etс/cron.weekly
42 9 1 * * root run-parts /etc/cron.monthly
Если вы работаете за домашним компьютером преимущественно вечером, то время выполнения следует "переместить" на вечер:
02 20 * * * root run-parts /etc/cron.daily
22 20 * * 0 root run-parts /etc/cron.weekly
42 20 1 * * root run-parts /etc/cron.monthly
Кроме того, может потребоваться изменить день недели для команд, которые выполняются еженедельно (в приведенных примерах задан день недели 0 = Bс, а в воскресенье компьютер может быть выключен):
22 20 * * 1 root run-parts /etc/cron.weekly
В результате команды из каталога /etc/cron.weekly будут запускаться каждый понедельник в 20 часов 22 минуты.
7.6.2.3. Сценарии
Как уже было отмечено выше, в каталоги /etc/cron* помещаются сценарии, которые нужно выполнить в указанное время. Рассмотрим шаблон типичного сценария (листинг 7.4).
Листинг 7.4. Шаблон сценария
#!/bin/bash
команды
Первая строка обязательна. После нее можно писать любые команды, которые нужно выполнить, например freshclam (используется для обновления антивирусных баз).
После того как сценарий создан, нужно сделать его выполняемым (без этого система не сможет его запустить);
# chmod + имя_файла_сценария
7.6.2.4 Пользовательские файлы crontab
Каждый пользователь может создать свой файл crontab. Для этого используется команда crontab. Пользовательские файлы crontab помещаются в каталог /var/spool, чтобы исключить их непосредственное редактирование в текстовом редакторе.
Пользовательские файлы crontab никак не влияют на общесистемный файл /etc/crontab, который редактируется только пользователем root.
7.6.3. Планировщик anacron: отдельный разговор
Как уже было отмечено, anacron - это ближайший родственник crond. Он создан для того, чтобы устранить некоторые недостатки crond. Предположим, вы хотите, чтобы антивирусная база обновлялась в понедельник, в 18.00. Но если в один прекрасный день вы еще не придете с работы в указанное время, компьютер останется выключенным и, следовательно, обновления не произойдет. В результате вы останетесь со старой базой (если, конечно, не запустите обновление вручную).
Планировщик Anacron контролирует выключения и перезагрузки компьютера, поэтому ваши задания не останутся невыполненными. Тем не менее, и у anacrontab есть недостатки,
• Пользователи не могут создавать свои расписания, системный файл /etc/anacrontab может редактировать только пользователь root.