Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab_net_3

.pdf
Скачиваний:
6
Добавлен:
05.06.2015
Размер:
194.33 Кб
Скачать

Костромской государственный технологический университет Кафедра «Автоматика и микропроцессорная техника» Разработал доцент В.В. Олоничев

Кострома 2013

Лабораторная работа № 3 По курсу "Вычислительные машины системы и сети"

"Сетевые службы"

Цель работы: получить первоначальные представления о службах сетевого времени, динамическом конфигурировании сетевых интерфейсов и серверах доменной системы имен.

В данной работе используется оборудование следующей конфигурации.

Сетевая служба времени или ntp (network time protocol) помимо утилитарной,

лежащей на поверхности причины, — одинаковое время на всех клиентских компьютерах — играет большую роль в функционировании серверов dns (доменной системы имен) и магистральных маршрутизаторов, являющихся основой как глобальной сети wan (world area network), так и корпоративных сетей больших предприятий man (metropolitan area network). В глобальной сети Интернет имеется несколько эталонных серверов времени, к которым подключаются сервера нижних уровней. Предприятия также могут иметь свои собственные сервера времени, подключенные к серверам нижнего уровня в Инетернет.

Для клиентского компьютера коррекция времени осуществляется при помощи следующей команды, выполняемой от имени администратора:

# ntpdate <ntp-сервер>

где ntp-сервер — это IP-адрес или имя одного из доступных серверов времени.

Если клиентский компьютер работает в одну смену, то данную команду достаточно выполнить один раз при загрузке операционной системы. Если же клиентский компьютер не выключается сутками, то данную команду следует выполнять автоматически каждые 2-3 часа. Дело в том, что системные часы на любом компьютере из-за возникающих время от времени блокировок аппаратных прерываний постоянно отстают, и это отставание потихоньку набегает до нескольких минут, что может оказаться существенным при проведении банковских транзакций или операций с ценными бумагами.

Однако коррекция системных часов при помощи рассмотренной команды ntpdate пригодна только для клиентских рабочих мест, где требования к синхронизации часов не очень высоки. Дело в том, что в данном случае не учитывается время прохождения пакета между ntp-сервером и компьютером, запросившем точное время. Это время прохождения пакета может достигать, если ntp-сервер нелокальный, 1-2 сек. И, соответственно, системное время на клиентском компьютере никогда не будет точным. Такая ситуация вполне приемлема на рабочих местах в офисе и недопустима в глобальных системах мониторинга сложных технических объектов, современном высокотехнологичном производстве, а также при совместной работе dns-серверов. Последние при рассогласовании часов просто не будут нормально функционировать. Кроме того в системах жесткого реального недопустимо скачкообразное изменение времени, которое происходит при коррекции времени при отработке данной команды.

Для решения этой проблемы на каждом из компьютеров, где требуется точное время, должна быть запущен ntp-демон (ntpd) — такая же служба, как и на ntp-серве- рах. В коде данной службы реализован изощренный алгоритм, позволяющий учитывать время прохождения пакета между узлами сети, поэтому ntp-сервера различных уровней, постоянно общаясь между собой, синхронизируют время с точностью до миллисекунд. Кроме того для коррекции времени после первоначальной синхронизации часов производится замедление или ускорение часов на ntp-серверах нижнего уровня. Трафик между серверами сетевого времени очень мал по сравнению с httpтрафиком, а сама служба ntpd потребляет немного ресурсов, поэтому на каждом предприятии есть смысл иметь по крайней мере один ntp-сервер.

Конфигурационный файл службы ntpd - /etc/ntp.conf - позволяет задавать различные варианты функционирования ntp-сервера:

только раздача времени по указанным направлениям;

только прием времени от указанных серверов;

совместное поддержание времени с указанными серверами;

любая комбинация из вышеперечисленного.

Конфигурация задается при помощи так называемых ограничений или правил, начинающихся с ключевого слова restrict, за которым следует адрес сети или хоста и набор флагов, специфицирующих правило, относящееся к заданному адресу:

restrict address [mask <mask>] [flag ...]

Основные флаги

ignore - игнорировать все запросы для заданного адреса;

notrust - не рассматривать как источник информации, только передавать свое время;

noquery - не передавать свое время по запросам, а только получать; notrup - не обрабатывать события на удаленном сервере;

nomodify - не давать изменять свои конфигурационные параметры в ходе работы.

Ограничения строятся по следующему принципу: вначале все запрещается, а потом вносятся необходимые разрешения. Например:

#запретить все restrict default ignore

#разрешить все для самого себя restrict 127.0.0.1

#разрешить компьютерам указанной локальной сети получать от нас время restrict 192.168.50.0 netmask 255.255.255.0 nomodify notrap notrust

#разрешить получать время от указанного сервера, но не передавать ему свое

#время для согласования

restrict 142.151.37.185 netmask 255.255.255.255 nomodify notrap noquery

После этого идет список серверов, от которых наш сервер может получать время. Если эти сервера не указаны в ограничении с флагом noquery, то теоретически они могут обращаться к нам в ходе поддержания единого сетевого времени.

server [key] <имя или адрес> [prefer]

key -

ключ, используемый для аутентификации;

prefer -

указывает на то, что данный сервер является предпочтительным, и

 

может встречаться только один раз.

Например:

 

server 142.151.37.185 server ntp.kstu.edu.ru prefer

Далее можно указать, что в качестве одного из источников времени, наряду со сторонними серверами можно использовать свои системные часы и полагаться на них в случае временного отсутствия связи с другими серверами:

#локальный IP-адрес сервера времени server 127.127.1.0

#использовать его как сервер 7-го уровня fudge 127.127.1.0 stratum 7

И, наконец, файл в котором хранится коррекция на ход часов локального компьютера.

driftfile /var/lib/ntp/drift

Текущее состояния ntp-сервера можно узнать при помощи команды

ntpq -p

Рассмотрим теперь службы доменной системы имен dns, для нормального функционирования которых требует синхронизация часов, рассмотренная выше.

Начнем с простой службы dnsmasq, предназначенной для использования в малых и средних сетях предприятий. Данная служба объединяет в себе возможности:

dns

преобразование простых имен хостов в доменные;

поиск IP-адреса по имени хоста;

поиск имени хоста по IP-адресу;

передача запросов серверам высшего уровня;

dhcp

выдача в аренду уникального IP-адреса из заданного диапазона;

выдача маски сети;

выдача шлюза по умолчанию;

выдача IP-адресов dns-серверов;

выдача IP-адресов ntp-серверов;

tftp

выдача IP-адреса сетевой карточке, активированной процедурой POST BIOS;

передача ядра ОС по протоколу ftp для удаленной загрузки.

Изучение возможностей tftp выходит за рамки настоящего курса и рассматриваться не будет.

В простейшем случае служба dnsmasq для связывания имен хостов с их IP-адре- сами может использовать локальный файл /etc/hosts. Это удобно в небольших сетях, для которых данный файл можно редактировать без опасения внесения в него проти-

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

Для данного случая конфигурационный файл /etc/dnsmasq.conf может иметь

вид:

# никогда не пересылать простые текстовые запросы

#(без точки или без части домена) domain-needed

#никогда не пересылать не маршрутизированные адреса(192.168.0.0/16, 10.0.0.0/8 и т.п.)

bogus-priv

#имя домена

domain= ... //написать имя своего домен

#добавлять при необходимости к простым

#именам имя домена, определенное выше expand-hosts

#файл, содержащий список dns-серверов высшего уровня resolv-file=/etc/dnsmasq/resolv.conf

Если данная опция не указана, то используется файл /etc/resolv.conf

Формат файла resolv.conf [search <имя домена>] nameserver <IP-адрес> [nameserver <IP-адрес>] [nameserver <IP-адрес>]

В больших сетях, а также зачастую в малых и средних, из-за удобства используют не статическое конфигурирование сетевого интерфейса, а динамическое. Удобство заключается в том, что, во-первых, все параметры, а именно: маска, шлюз, dns-сервер и ntp-сервер описаны только в одном месте, и, во-вторых, исключена возможность ошибочно задать один и тот же IP-адрес различным хостам.

Для динамической конфигурации конфигурационный файл сетевого интерфейса /etc/sysconfig/network-scripts/ifcfg-eth0 должен содержать следующие строчки:

TYPE=Ethernet

BOOTPROTO=dhcp

NAME="eth0"

ONBOOT=yes

HWADDR=00:16:76:5A:21:10

DEVICE=eth0

DHCP_HOSTNAME= ....... // здесь должно быть имя хоста

а строчки с IP-адресом, маской и шлюзом должны быть закомментированы или

удалены.

Для того, чтобы служба dnsmasq динамически раздавала информацию для конфигурирования сетевых интерфейсов клиентских машин и запоминала полученные имена хостов и отданные IP-адреса, конфигурационный файл /etc/dnsmasq.conf может иметь вид:

#никогда не пересылать простые текстовые запросы

#(без точки или без части домена)

domain-needed

#никогда не пересылать не маршрутизированные адреса bogus-priv

#имя домена

domain= ... //написать имя своего домен

#добавлять при необходимости к простым

#именам имя домена, определенное выше expand-hosts

#файл, содержащий список dns-серверов высшего уровня resolv-file=/etc/dnsmasq/resolv.conf

#не просматривать файл /etc/hosts

no-hosts

#дипазон выдаваемых IP-адресов, маска и время аренды

#например

dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h

#шлюз по умолчанию, например dhcp-option=option:router,192.168.0.200

#ntp-сервер, например их может быть несколько dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5

#статическое, т.е. никогда не изменяющееся, назначение IP-адреса, по MACадресу, назначение имени, а также времени аренды:

dhcp-host=11:22:33:44:55:66,mypc,192.168.10.111,infinite

Такие статические адреса, как правило назначают серверам, которые должны иметь неизменные IP-адреса, чтобы проще было организовывать для них port forwarding.

Альтернативой службе dnsmasq является совместное использование служб dhcpd и named, имеющих конфигурационные файлы /etc/dhcp/dhcp.conf и /etc/named.conf. Данные службы предоставляют значительно больше возможностей, и, следовательно, имеют значительно более сложные файлы конфигурации; и поэтому рекомендуюься к использованию в сетях больших предприятий.

Рассмотрим типичный конфигурационный файл /etc/dhcp/dhcp.conf

#авторизованный dhcp-сервер authoritative;

#взаимодействует с сервером dns ddns-update-style interim;

#прямая и обратная зона dns-сервера, с которым общаемся ddns-domainname "amt.kstu.";

ddns-rev-domainname "in-addr.arpa.";

#ключ который используется для аутоинтефикации при общении с dns-

#сервером. Это описание ключа надо скопипастить из файла /etc/rndc.key.

key "mykey" { algorithm hmac-md5;

secret "KbgXsTMzpBT3q/DOUVFjXQ=="; };

# время аренды IP-адреса в секундах по умолчанию и максимальное default-lease-time 3600;

max-lease-time 86400;

allow client-updates;

#описание прямой и обратной зоны из которой происходит обращение за

#IP-адресами, включающее адрес ведущего dns-сервера и ключ

zone amt.kstu. { primary 127.0.0.1; key amtkey;

}

zone 30.172.in-addr.arpa. { primary 127.0.0.1;

key amtkey;

}

#описание подсети с пулом динамически раздаваемых адресов

#от 172.30.10.20 до .90

#

subnet 172.30.0.0 netmask 255.255.0.0 { range 172.30.10.20 172.30.10.90;

option broadcast-address 172.30.255.255;# широковещательный адрес option subnet-mask 255.255.0.0; # маска нашей сети

option domain-name "amt.kstu"; # имя домена

option domain-name-servers 172.30.240.3;# адрес сервера DNS option routers 172.30.240.150; # шлюз по умолчанию

option ntp-servers 172.30.240.3; # сервер времени

}

И конфигурационный файл /etc/named.conf

# включаем файл, содержащий ключ, в нашем случае amtkey include "/etc/rndc.key";

options {

#рабочий каталого directory "/etc/named";

#IP-адрес вышестоящего dns-сервера forwarders {

192.168.0.1;

};

#Откуда принимать DNS запросы allow-query { any; };

allow-update { any; }; listen-on port 53 { any; };

#адреса или подсети, с которых допускаются рекурсивные запросы allow-recursion {

127.0.0.1;

172.30.0.0/16;

};

#не использовать IPv6

listen-on-v6 { none; };

# принимать запросы от следующих сетевых интерфейсов listen-on {localhost; 172.30.240.3; };

};

#IP-адрес dhcp-напарника acl dhcp {

127.0.0.1;

};

#разрешение принимать управляющую информацию от dhcp с проверкой

#ключа

controls {

inet 127.0.0.1 port 953 allow {dhcp;} keys {amtkey;}; };

# описания прямой и обратной зон zone "amt.kstu." {

type master;

file "/etc/named/amt.zone"; allow-update {key amtkey;}; notify yes;

};

zone "30.172.in-addr.arpa." { type master;

file "/etc/named/172.30.zone"; allow-update {key amtkey;}; notify yes;

};

Если сервер является ведомым, то описание зон имеет вид:

zone "vt.kstu." { type slave;

file "/etc/named/vt.kstu.zone"; masters {172.16.10.1;};

};

zone "20.172.in-addr.arpa." { type slave;

file "/etc/named/172.20.zone"; masters {172.16.10.1;};

};

Файлы зон имеют следующий вид amt.zone:

$ORIGIN .

 

 

 

$TTL 86400 ; 1 day

 

 

 

amt.kstu

IN SOA

a27-1.amt.kstu. mail.amt.kstu. (

 

2013100401 ; serial (номер в формате YYYYMMDDXX)

 

1D

; refresh (1 day)

 

6H

; retry (6 hours)

 

5W

; expire (5 weeks)

 

1H

; minimum (1 hour)

 

)

 

 

NS

a27-1.amt.kstu.

A

172.30.240.3

 

$ORIGIN amt.kstu

 

 

 

a27-1

A

172.30.240.3

172.30.zone:

$ORIGIN .

$TTL 86400 ; 1 day

30.172.in-addr.arpa

IN SOA

a27-1.amt.kstu. ,mail.amt.kstu. (

 

2013100402 ; serial

 

8H

; refresh (8 hours)

 

4H

; retry (4 hours)

 

5W

; expire (5 weeks)

 

1D

; minimum (1 day)

 

)

 

 

NS

a27-1.amt.kstu.

$ORIGIN 10.30.172.in-addr.arpa.

 

3.240

PTR

a27-1.amt.kstu.

Задание к работе

1.В качестве задания получить статические IP-адреса компьютеров и их имена, а также имя своего поддомена (группы); а для динамической конфигруции — диапазоны IP-адресов и IP-адреса шлюзов и серверов времени и DNS.

2.В соответствии с заданием настроить статические IP-адреса своих компьютеров и задать шлюз по умолчанию. Перезапустить сеть.

3.Скорректировать время на своем компьютере при помощи команды ntpdate от ntp-сервера, запущенного на программном файерволле, через его зеленый сетевой интерфейс — 192.168.0.1. Результат скопировать для отчета.

4.Подключиться по протоколу ssh к файерволлу через его зеленый интерфейс и выполнить команду ntpq -p. Результат скопировать для отчета.

5.При помощи команды cat /etc/ntp/ntp.conf вывести на экран конфигурационный файл ntp-сервера и скопировать его для отчета.

6. На внешнем клиенте скорректировать время при помощи команды ntpdate от сервера времени университета — ntp.kstu.edu.ru, а также от ntp-сер- вера, запущенного на программном файерволле, через его красный сетевой интерфейс — 10.34.40.3. Результат скопировать для отчета.

7. Написать конфигурационный файл ntp.conf для программного маршрутизатора, так чтобы ntp-сервер на этом компьютере получал время от ntp-сервера на программном файерволле и отдавал время в две локальные подсети. Сделать копию файла для отчета. Запустить службу ntpd, предварительно скорректировав время при помощи команды ntpdate.

8.Подключиться к программному маршрутизатору по протоколу ssh и выполнить команду ntpq -p. Результат скопировать для отчета.

9.На компьютерах локальных подсетей скорректировать время при помощи команды ntpdate от нового сервера на программном маршрутизаторе. Дождаться положительного результата. Вновь выполнить команду ntpq -p. Ре-

зультат скопировать для отчета.

10.На локальном сервере (одном из 3-х компьютеров локальной подсети) в соответствии с заданием заполнить файл /etc/hosts и приложить его к отчету, а на остальных компьютерах — очистить данный файл (удалить все кроме 2 строчек с описанием localhost). На локальном сервере в файле /etc/resolv.conf указать IP-адрес 127.0.0.1, а также IP-адрес зеленого интерфейса файерволла 192.168.0.1 (dnsmasq, запущенный на файерволле перенаправляет запросы университетскому серверу DNS, который в свою очередь связан с Интернет). А на

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]