Отправляет email-рассылки с помощью сервиса Sendsay

KirovLUG: пользователи Linux в Вятке

Чтиво: установка сервера часть 022

Что ж, я считаю, что сейчас пришла пора копнуть несколько глубже в
настройке сервера - например, настроить DNS-сервер. Для этого в системе
должны быть установлены пакеты:
bind, bind-utils, caching-nameserver
Последний пакет не очень-то и нужен - все равно все файлики
содержащиеся в нем будут переписаны. Но возьмем их за основу.

Хорошая дока располагается на http://info.nic.ru (Система доменных имен
(книга П.Б. Храмцова))

Для чего нужен DNS(Domain Name System)? Этот сервис ставит в
соответствие IP-адресу символьный и наоборот. Используется для поиска
IP-адреса машин в сетях по их имени.

Наша сеть имеет доступ к Инет посредством Dial-up и не имеет
постоянного ip-адреса, да мне и не нужно чтоб машины моей сети были
видны из Интернет, у меня не будет никакого сервиса вообще доступного
извне, поэтому DNS будет достаточно проста в настройке.

У меня будут:
доменное имя karavay-shops.ru
DNS-сервер ns.karavay-shops.ru 192.168.2.192 он же netgate
возможен также кэширующий name-сервер, используемый
при
доступе к Инету.

Все следующие настройки работают для 9-ой версии bind.

Для начала отредактируем файл-конфигурации /etc/named.conf
begin /etc/named.conf // koal's named.conf

// Access control list: отдельно выделяем пользователей dns
acl "trusted" { 192.168.2.0/24; 127.0.0.1; };

// Настраиваем журналирование работы dns
logging {
// Определяем канал по умолчанию для ведения логов запросов к DNS
channel default_ch {
// Файл журнала. Ротация журнала: максимально будет 4 файла,
// следующий будет создаваться, когда текущий достигнет 100 Kb
file "/var/log/named/named.log" versions 4 size 100k;
// Уровень информативности
severity info;
// Показыать время
print-time yes;
// Показывать категорию сообщения
print-category yes;
};
// Канал для ведения логов по безопасности
channel security_ch {
file "/var/log/named/security.log" versions 4 size 100k;
severity info;
print-time yes;
print-category yes;
};
// Сообщения данных категорий будут записываться в след. каналы
category default { default_ch; };
category security { security_ch; };
};
// Опции работы
options {
// Директория для файлов зон
directory "/var/named";
// Разрешать использовать рекурсивные запросы только клиентам
// из нашей сети
allow-recursion { "trusted"; };
// Разрешать запросы к dns только клиентам нашей сети
allow-query { "trusted"; };
// Не выдавать версию bind
version "unknown";
// Разрешить имтитацию инверсных запросов
fake-iquery yes;
};

// Разрешить управлять dns-сервером только с локальной машины
// посредством rndc
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
// Местоположение зон и их опции
// Корневая зона
zone "." IN {
// Тип hint - сервер обращается к серверам перечисленным в файле
// зоны с запросами, где искать "ответственного" за зону, из которой
// клиент хочет получить информацию
type hint;
// Файл зоны относительно каталога заданного в directory
file "named.root";
};
// Прямая зона, отвечающая за сеть обратной петли
// Прямые зоны отвечают за поиск ip-адреса по имени
zone "localhost" IN {
// Тип основной сервер dns для данной зоны
type master;
file "localhost";
// Запретить кому-либо динамически обновлять данные о зоне
allow-update { none; };
};
// Обратная (реверсная) зона, отвечающая за сеть обратной петли
// Обратные зоны отвечают за поиск имени по ip-адресу
zone "0.0.127.in-addr.arpa" IN {
type master;
file "0.0.127.in-addr.arpa";
allow-update { none; };
};
// Прямая зона для домена karavay-shops.ru
zone "karavay-shops.ru" IN {
type master;
file "karavay-shops.ru";
};
// Обратная зона для домена karavay-shops.ru
zone "2.168.192.in-addr.arpa" IN {
type master;
file "2.168.192.in-addr.arpa";
};
// Подключить файл с ключем аутентификации rndc
include "/etc/rndc.key";
end /etc/named.conf теперь необходимо создать каждый из фалов зон:

файл named.root стандартный один для всго множества серверов и поэтому
самую последнюю версию его можно взять
FTP.INTERNIC.NET/domain/named.cache. Я же использовал стандартный
переименовав его из /var/named/named.ca в /var/named/named.root.

begin /var/named/localhost ; время хранения описания ресурса в кэше
$TTL 86400
; текущее имя домена (для использования "@")
$ORIGIN localhost.
; "@" - используется текущее имя зоны, поределенное в named.conf для
; этой зоны или переопределенное "$ORIGIN"
; имя машины отвечаюющей за домен|почтовый адрес ответственного за домен
; primary master зоны |Т.к. "@" занята, то первая "." за нее
; vvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvv
@ IN SOA netgate.karavay-shops.ru. root.netgate.karavay-shops.ru.
(
2003101401 ; Уникальный номер версии файла зоны - должен
; изменяться при изменении файла
28800 ; период обновления локальных фалов slave (вторичными)
; серверами
14400 ; через сколько повторить попытку обновления,
если
; предыдущая окончилась неудаче
3600000 ; через сколько заблокировать зону, если все
попытки
; обновления провалились
86400 ; время хранения описания ресурса в кэше
)
; сервер DNS, управляющий зоной
IN NS netgate.karavay-shops.ru.
; ip-адрес сервера, поддерживающего описание зоны
IN A 127.0.0.1
end /var/named/localhost Похожий синтаксис у файла обратной зоны
begin /var/named/0.0.127.in-addr.arpa $TTL 86400
@ IN SOA netgate.karavay-shops.ru. root.netgate.karavay-shops.ru.
(
2003101401 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ; Minimum
)
IN NS netgate.karavay-shops.ru.
; Имя соответствующее адресу 127.0.0.1
1 IN PTR localhost.
end /var/named/0.0.127.in-addr.arpa begin /var/named/karavay-shops.ru $TTL 86400
@ IN SOA netgate.karavay-shops.ru. root.netgate.karavay-shops.ru.
(
2003101401 ;serial number
28800 ;refresh
14400 ;retry
3600000 ;expire
86400 ;minimum
)
IN NS netgate.karavay-shops.ru.
IN A 192.168.2.192
; Имя сервера отвечающего за доставку почты для зоны
; Сервер, который знает как ее доставлять. Их может быть несколько
; Цифра - приоритет
IN MX 0 netgate.karavay-shops.ru.
; Адрес для данного имени
netgate IN A 192.168.2.192
; Имя сервера отвечающего за доставку почты для данной машины
IN MX 0 netgate
; Синонимы для канонические имен, т.е. ns.karavay-shops.ru это
; то же что и netgate.karavay-shops.ru
ns IN CNAME netgate
www IN CNAME netgate
ftp IN CNAME netgate
ntp IN CNAME netgate

nserv IN A 192.168.2.1
vika IN A 192.168.2.11
mily IN A 192.168.2.12
nina IN A 192.168.2.13
tany IN A 192.168.2.14
nata IN A 192.168.2.15
lena IN A 192.168.2.21
admin IN A 192.168.2.100
nikolay IN A 192.168.2.130
tanya IN A 192.168.2.140
end /var/named/karavay-shops.ru begin /var/named/2.168.192.in-addr.arpa $TTL 86400
@ IN SOA netgate.karavay-shops.ru. root.netgate.karavay-shops.ru.
(
2003101401 ;serial number
28800 ;refresh
14400 ;retry
3600000 ;expire
86400 ;minimum
)
IN NS netgate.karavay-shops.ru.

1 IN PTR nserv.karavay-shops.ru.
11 IN PTR vika.karavay-shops.ru.
12 IN PTR mily.karavay-shops.ru.
13 IN PTR nina.karavay-shops.ru.
14 IN PTR tany.karavay-shops.ru.
15 IN PTR nata.karavay-shops.ru.
21 IN PTR lena.karavay-shops.ru.
100 IN PTR admin.karavay-shops.ru.
130 IN PTR nikolay.karavay-shops.ru.
140 IN PTR tanya.karavay-shops.ru.
192 IN PTR netgate.karavay-shops.ru.
end /var/named/2.168.192.in-addr.arpa Все, в принципе, на это м настройка заканчивается, осталось сделать
самую малость.

Исправим /etc/reslov.conf. Зададим домен, в котором функционирует
данный компьютер, и адрес DNS-сервера, который будет выполнять
рекурсивные запросы от данного компьютера.
begin /etc/resolv.conf domain karavay-shops.ru
nameserver 192.168.2.192
end /etc/resolv.conf Установим автоматический запуск сервера:
$ /sbin/chkconfig --level 3 named on

И запустим сервер
$ /sbin/service named start

Теперь можно проверять работу:
$ nslookup

Server: 192.168.2.192
Address: 192.168.2.192#53

Name: admin.karavay-shops.ru
Address: 192.168.2.100

Чтобы DNS-сервер был доступен другим пользователям нашей сети нужно
открыть доступ к 53 порту на брэндмауэре. Для этого в
/etc/netfilter/filter.dialup.start нужно добавить строчку в секцию, где
происходит фильтрация входящих UDP-пакетов. Общий вид у этой секции
получиться такой:
$IPTABLES -N udp_packets
$IPTABLES -A udp_packets -p UDP --destination-port 53 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -j DROP
и применяем новое правило:
$ /etc/netfilter/filter.flush
$ /etc/netfilter/filter.dialup.start

Теперь на клиентских компьютерах в свойствах "Протокола TCP/IP" нужно
указать IP-адрес DNS-сервера и суффикс соединения - "karavay-shops.ru"

Для проверки воспользуемся командой ping на компьютере admin (Windows
2000):
F:\Documents and Settings\koal>ping www.karavay-shops.ru

Pinging netgate.karavay-shops.ru [192.168.2.192] with 32 bytes of data:

Reply from 192.168.2.192: bytes=32 time<10ms TTL=64
Reply from 192.168.2.192: bytes=32 time<10ms TTL=64
Reply from 192.168.2.192: bytes=32 time<10ms TTL=64
Reply from 192.168.2.192: bytes=32 time<10ms TTL=64

Ping statistics for 192.168.2.192:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

Как видно - все работает ;)

C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru
ICQ: 100349254

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Kolotov Alexandr Mon, 20 Oct 2003 13:22:38 +0400 (#9604)

 

Ответы:

Доброго всем дня/ночи/утра

Подскажите плз. если кто делал.
Как с linux машины послать сообщение на другую linux машину или на
windows машину (что-то типа net send). Или как вообще решить задачу
оповещения администратора о проблемах на сервере в реалтайме?

второй вопрос.
работал ли кто с nagios? как в этой системе объяснить, что не надо
контролировать сервисы, если хост "лежит"? Предполагаю, что через
зависимости, но вот как конкретно...

заранее благодарен...

Ответить   Tue, 21 Oct 2003 18:23:08 +0400 (#10254)

 

On Tue, Oct 21, 2003 at 06:23:08PM +0400, alex wrote:

кажется net send есть в samba 3.0, но это неправильный подход в
данном случае.

почта, sms, логи. и это правильный подход.

Ответить   Tue, 21 Oct 2003 18:45:49 +0400 (#10268)

 

echo "Warning!" | smbclient -M HOSTNAME -I XXX.XXX.XXX.XXX

HOSTNAME - NetBios-имя машины, на которую послать сообщение
XXX.XXX.XXX.XXX - IP-адрес машины, на которую послать сообщение

Можно использовать просто опцию M, но иногда она не может разресолвить имя,
тогда помогает совместное ее использование с ip-адреосом "жертвы" ;)

почта - не совсем realtime, логи тоже... остается sms и paging...

C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru
ICQ: 100349254

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Kolotov Alexandr Wed, 22 Oct 2003 00:22:23 +0400 (#10390)

 

On Wed, Oct 22, 2003 at 12:22:23AM +0400, Kolotov Alexandr wrote:

это тоже не realtime, т.к. админа может не быть на месте, он
может сидеть за другой машиной, машина может быть выключена,
это сообщение может быть прочитано другим и до админа оно так и
не дойдет. Сохранить сообщение можно только принт скрином.
и т.д. и т.п., т.е. этот метод не годится очень часто.

это был комплекс действий. sms/paging информирует о проблемме, на почте
лежит развернутая инфа, а в логах куча информации для анализа ситуации.

Ответить   Wed, 22 Oct 2003 07:23:52 +0400 (#10434)

 

Hello All,

Tuesday, October 21, 2003, 6:45:49 PM, you wrote:

Логи это всегда правильно, но вот только кто каждые n минут(секунд) их
смотрит:). Почта - штука хорошая, но когда ложится почтовый сервис
- сообщение об этом не доходит (по понятным причинам). Вот на этот
случай и хотелось что-нибудь типа net send.
А про sms может ли кто подробнее рассказать? Сейчас мтс прикрыла
посылку sms через почту, а писать анализатор gif'a с распознованием их
кода на сайте не очень хочется:(

p.s.
спасибо всем за идеи, попробую, вот только самба 2 стоит, м.б.
прокатит

Ответить   Wed, 22 Oct 2003 19:46:51 +0400 (#10785)

 

echo "Warning!" | smbclient -M HOSTNAME -I XXX.XXX.XXX.XXX

прокатит и для 2-ой самбы...

C уважением, Kolotov Alexandr aka mr. Эбола
отвечать: myscri***@e*****.ru
ICQ: 100349254

| Registered Linux user # 236664 |
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Kolotov Alexandr Thu, 23 Oct 2003 08:34:02 +0400 (#10913)

 

Hello ALL,

Thursday, October 23, 2003, 8:34:02 AM, you wrote:

"прокатило" получил на echo "Warning!" | smbclient -I dest IP XXX.XXX.XXX.XXX
что-то типа "адрес назначения успешно добавлен ...
а вот куда ? и сообшение не отправилось (или не принялось)
Параметра - I smbclient не знал, с М - не ресолвилось (хотя днс
работает хорошо)...
в man написно, что -М для winpopup, помнится была такая штука в win
9х, а вот с w2k как?. Слыхал про программу linpopup, пользовался ли
кто?

To:ALL
Поделитесь опытом, какой на ваш взгляд наиболее дружелюбный с т.з.
далекого от компьютеров пользователя, например юристов дистрибутив? Т.е.
настраивать они его не будут (настроит отдельный человек), но чтоб при
работе не пришлось сильно переучивать. Задачи - почта, офис...
Пытался ли кто подружить "консультант+" и линукс?

Ответить   Thu, 23 Oct 2003 19:53:57 +0400 (#11239)

 

нет, скажи, я говорил именно "echo 'Warning!' | smbclient -I dest IP
XXX.XXX.XXX.XXX"? ведь нет?
Я сказал
$ echo "Warning!" | smbclient -M netbiosname -I ip-адрес
т.е. именно опция M - отправляет сообщение на <netbiosname>, но в случае если
имя не может разресолвиться, нужно добавить опцию I. Проверялось дважды, один
раз с ASPLinux 9 Samba 2.2.8 на windows 2000 server, второй раз ASPLinux 7.2
Samba 2.2.2 на windows 2000 professional. Доставилось оба раза... В Линухе
выводило на экран при этом:
$ echo 'Warning!' | smbclient -M admin -I 192.168.2.100
added interface ip=192.168.2.254 bcast=192.168.2.255 nmask=255.255.255.0
Connected. Type your message, ending it with a Control-D
sent 10 bytes
Все просто...

C уважением, Kolotov Alexandr aka mr. Эбола
отвечать: myscri***@e*****.ru
ICQ: 100349254

| Registered Linux user # 236664 |
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Kolotov Alexandr Fri, 24 Oct 2003 08:50:53 +0400 (#11325)

 

и еще... dns тут не причем, потому что smb протокол использует свои собственные
имена и собственные средства их поиска в сети. Это с легкой руки M$ netbios-имя
совпадает с dns-именем компьютера, в мире Unix это необязательно - это
становится сразу понятно, если настраивал samba - netbios-имя задается отдельно
в smb.conf.

В W2k это называется, имхо, "Messenger" или "Служба доставки сообщений" - точно
сказать не могу Windows не russian edition.

C уважением, Kolotov Alexandr aka mr. Эбола
отвечать: myscri***@e*****.ru
ICQ: 100349254

| Registered Linux user # 236664 |
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Kolotov Alexandr Fri, 24 Oct 2003 14:44:51 +0400 (#11425)