Настройка сетевых сервисов.
1 Кэширующий сервер имён
2 Электронная почта
2.1 sendmail
2.2 fetchmail
3 Суперсервер inetd
4 NFS
5 ProFTP
6 Apache
1 Кэширующий сервер имён
Ни для кого не секрет, что для нормальной работы компьютера в сети необходимо использовать DNS. В случае, если связь между вашим компьютером и ближайшим DNS сервером не очень быстрая, настройка кэширующего сервера имён на вашем компьютере может существенно ускорить процесс разрешения имён. В этом случае запросы на разрешение вначале обрабатываются в базе данных кэширующего сервера. И лишь затем, если запрос не поступал ранее, передаются внешнему серверу.
Slackware Linux 8.0 "Etta" поставляется с BIND версии 9.1.2. Настроить кэширующий DNS сервер здесь достаточно просто. Для этого в файле /etc/rc.d/rc.inet2 найдите строки, относящиеся к запуску named. Там предложены два варианта запуска. Первый - программа выполняется из-под root. По некоторым причинам, настоятельно рекомендуется воспользоваться второй опцией - запустить программу от имени пользователя daemon из группы daemon. Это более безопасный вариант. Я пользуюсь именно им:
if [ -x /usr/sbin/named ]; then
echo "Starting BIND: /usr/sbin/named -u daemon"
/usr/sbin/named -u daemon
fi
И выполните root-ом такие действия:
chown -R daemon /var/named
chown -R daemon /var/run/named
Если вы пожелаете использовать несколько DNS серверов, перечислите их в файле /etc/resolv.conf:
nameserver 127.0.0.1 # кэширующий сервер
nameserver 137.224.129.4 # DNS в нашем домене
В моём /etc/ressolv.conf вообще нет строк nameserver. В этом случае компьютер при поступлении запроса на обработку имени по умолчанию ищет DNS на локальном компьютере. Что меня вполне устраивает.
2 Электронная почта
2.1 sendmail
Вначале опишу ситуацию. Мой компьютер постоянно в сети. Он имеет постоянный IP адрес 137.224.129.135 и находится в домене fenk.wau.nl. Имя хоста pc135 (по каким-то причинам иногда он получает старое имя mac135, и не виден из внешней сети, кроме как напрямую через IP адрес). Это университетская сеть.
Я хочу, чтобы вся уходящая почта подписывалась @fenk.wau.nl, а не @pc135.fenk.wau.nl. Эта ситуация довольно проста и не потребует создания своего собственного .cf файла. Можно просто подправить несколько строк в одном из .cf файлов, поставляемых со Slackware (они находятся в каталоге /usr/src/sendmail).
linux.smtp.cf Это наиболее простой вариант настройки. Предназначен для тех, кто постоянно включён в интернет (скорее всего через ethernet или slip). Это вариант, используемый в Slackware по умолчанию.
linux.smtp-rbl.cf То же что и выше, но с антиспамовым фильтром. Если адрес того, кто написал вам письмо перечислен в одной из баз данных "спамовых адресов", письмо будет проигнорировано.
linux.smtp-rbl+.cf Этот вариант настройки игнорирует письма с сайтов, известных как распространителей спама, с сайтов, имеющих плохо защищённый сервер электронной почты и отказывающихся фиксировать ошибки в безопасности. Так же этой настройкой будут проигнорированы письма, отправленные с dial-up машин (или других машин с динамическим IP) напрямую, а не через почтовый сервер провайдера.
linux.uucp.cf Если у вас есть один UUCP хост, через который вы собираетесь посылать всю почту (через uucp), то это вариант настройки для вас. Вначале вам необходимо настроить UUCP. Затем укажите имя uucp хоста, к которому вы подключены.
Итак, первым делом:
# cat /usr/src/sendmail/linux.smtp.cf > /etc/mail/sendmail.cf
Далее открываем его текстовым редактором. И указываем директиву Dj:
# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
Djfenk.wau.nl
Это позволит sendmail указывать имя отправителя в виде имя_локального_пользователя@fenk.wau.nl. Если я захочу использовать smtp сервер нашей лаборатории (metten.fenk.wau.nl), я укажу:
# "Smart" relay host (may be null)
DSsmtp:metten.fenk.wau.nl
С настройкой почти всё. Загляните в файл /etc/mail/aliases. Может быть вы пожелаете, чтобы вся почта переправлялась на одного пользователя, например:
bin: root
daemon: root
games: root
ingres: root
nobody: root
system: root
toor: root
uucp: root
manager: root
dumper: root
webmaster: root
abuse: root
decode: root
root: tolpyekin
Теперь собственно, откроем /etc/rc.d/rc.M и откомментируем запуск sendmail:
# Start the sendmail daemon:
if [ -x /usr/sbin/sendmail ]; then
echo "Starting sendmail daemon: /usr/sbin/sendmail -bd -q15m"
/usr/sbin/sendmail -bd -q15m
fi
2.2 fetchmail
Эта программа используется для того, чтобы забирать почту с удалённых почтовых серверов. Если её запустить в фоновом режиме, она периодически будет опрашивать удалённые серверы (указанные в командной строке или в конфигурационном файле, с использованием указанного протокола) на предмет наличия почты. Если таковая имеется, программа скачает письма и передаст их местной спулинговой системе, которая доставит письма конечным пользователям.
Итак, модель: имеется два удалённых почтовых ящика (tolpyekin и dolphin77), на серверах, работающих по POP протоколу (metten.fenk.wau.nl и mail.od.ua). Мы хотим проверять их с интервалом в 15 минут. Для этого в каталоге /root создадим файл .fetchmailrc такого содержания:
set daemon 900
defaults
poll metten.fenk.wau.nl with protocol POP3:
no dns, user tolpekin password 'UgaDa;tesami' is tolpyekin here;
poll mail.od.ua with protocol POP3:
no dns, user dolphin77 password TrivIaLNij is tolpyekin here;
Для проверки можете выполнить от root fetchmail -cv (-c означает проверить есть ли для вас почта в указанных ящиках, не забирая её; -v (verbose) означает, выводить диалог с серверами на экран). Далее в /etc/rc.d/rc.local добавьте такую строку:
/usr/bin/fetchmail -f /root/.fetchmailrc
3 Суперсервер inetd
Если вы не знаете, что такое inetd, рекомендую почитать соответствующий раздел в Slackware Linux Essentials.
Подключая ваш компьютер к сети важно осознавать, что чем больше открытых сервисов вы оставляете, тем более "уязвима" становится ваша система. Так что если вы помешаны на безопасности, просто закройте все сервисы...:). Slackware поставляется с inetd в котором открыто множество сетевых сервисов. Скорее всего о многих из них вы никогда не слышали. И практически наверняка совсем немногие из них вам понадобятся на практике.
Для того, чтобы открыть (закрыть) какой-либо из сервисов, удалите (вставьте) в начале соответствующей этому сервису строке файла /etc/inetd.conf символ #. Я лично не использую такие сервисы, открытые в Slackware по умолчанию, как: time, comsat, shell, login, ntalk и auth.
4 NFS
5 ProFTP
FTP сервер, поставляемый сегодня со Slackware - ProFTP. Для того, чтобы открыть анонимный FTP на вашем компьютере, закомментируйте строку "ftp" в файле /etc/ftpusers (этот файл описывает тех пользователей, которые не имеют права входить в систему через FTP сервис). Вы так же можете добавить в этот файл тех пользователей, которые по вашему усмотрению не должны иметь доступа через FTP к своим домашним каталогам.
По умолчанию анонимный FTP предоставляет на общее рассмотрение файлы из каталога /home/ftp. Если вы хотите создать каталог, в который анонимные пользователи смогут заливать данные, создайте каталог /home/ftp/incoming и откомментируйте в файле /etc/proftpd.conf строки:
<Directory incoming/*>
<Limit READ>
DenyAll
</Limit>
<Limit STOR>
AllowAll
</Limit>
</Directory>
Файл /etc/proftpd.conf является главным настроечным файлом ProFTP сервера.
6 Apache
Web сервер apache, поставляемый со Slackware 8.0 "Etta" настроен следующим образом. Все настроечные фалы ноходятся в каталоге /etc/apache. А каталог из которого по умолчанию берётся содержимое web страницы /var/www/htdocs. Здесь я привиду лишь самый минимум необходимой информации для корректной настройки этого сервера для работы с русским языком.
Скажем, содержимое вашей страницы мы поместим в каталог /var/www/mypage. Для этого найдите в /etc/apache/httpd.conf строки:
DocumentRoot "/var/www/htdocs"
и
<Directory "/var/www/htdocs">
и замените их на:
DocumentRoot "/var/www/mypage"
и
Directory "/var/www/mypage">
соответственно. Или же просто удалите всё содержимое оригинального каталога /var/www/htdocs и разместите там свою страницу.
Теперь мы попросим apache обращать внимание на файл .htaccess, через который мы собственно и произведём правильную русификацию. Итак, чуть ниже строки <Directory "/var/www/mypage"> найдите строку
AllowOverride None
и замените её на:
AllowOverride FileInfo
После этого разместите в корневом каталоге вашей страницы файл .htaccess такого содержания:
AddDefaultCharset koi8-r
AddLanguage ru .html .txt
И не забудьте в шапке документа добавить:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML LANG=ru>
Теперь по идее apache сам позаботится о том, как правильно предоставить документ просмотрщику пользователя.
Last update 19 Jul 2001.
|