Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга. Unix-seti.new.2.doc
Скачиваний:
3
Добавлен:
24.08.2019
Размер:
101.89 Кб
Скачать

Лабораторная работа № 2

Модель OSI. Сетевые средства ОС UNIX

Введение. Исторически платформа ОС Unix является для разработчиков программных продуктов той средой, в которой разрабатывались и разрабатываются все новинки в области операционных систем. Не удивительно, что первая связь в Internet , была осуществлена университетом в Беркли в 1983 году на платформе UNIX BSD по протоколу TCP/IP. С тех пор любая реализация ОС UNIX неразрывно связана с этим прото­колом. Даже если Ваш ПК с установленной ОС UNIX не связан с какой-либо сетью, протокол TCP/IP обязательно присутствует в системе, имеет собственный локальный IP-адрес 127.0.0.1, который ОС использует для внутренних нужд системы, в частности, для вывода информации на печать.

Структурная схема стека протоколов TCP/IP представлена ниже

ftp ssh smtp imaps smb nfs Прикладной уровень

21 22 25 993 139 2049 Порт

TCP UDP Транспортный уровень

IP Сетевой уровень

ARP

Eth Физический уровень

|

_________|________________ Среда передачи данных

Из схемы легко можно представить, как взаимодействуют уровни протокола.

Данные поступают из кабеля в сетевую плату. Сетевая плата управляется драйвером Eth. Обычно в конфигурацион­ных файлах этот интерфейс обозначается как Eth0. Если компьютер не подключен к сети и работает автономно, то используется внутренний интерфейс. На схемах и утилитах он обозначается как lo (loop). Из сетевой платы данные направ­ляются в модули IP и ARP. В модуле IP определяется соот­ветствие IP-адреса данных IP-адресу компьютера. Если IP-ад­реса совпадают, то данные отправляются на транспортный уровень. Кроме этого на сетевом уровне определяется, нахо­дятся ли взаимодействующие компьютеры в одной сети или в разных сетях. Если сеть для компьютеров общая, то они могут взаимодействовать напрямую без посредников. Если ПК на­ходятся в разных сетях, то им приходится взаимодействовать через посредника (маршрутизатор, шлюз). Для определения номера сети ис­пользуется маска сети. Отметим, что в настоящее время IP-сети разделя­ются на три класса.

Класс сети определяется по значению первого байта IP-ад­реса. Значение выражается в десятичном виде в диапазоне от 0 до 255.

Классу А соответствуют значения 1 – 126. Например, IP ад­рес ПК сети этого класса может быть 124.226.240.35. По умолчанию маска сети класса A равна 255.0.0.0

Значение 127 отдано для локального IP-адреса компьютера (localhost). IP-адрес 127.0.0.1 имеет любой компьютер. Он используется для тестирования протокола TCP/IP. Маска сети этого адреса также равна 255.0.0.0

Классу B соответствуют значения первого байта адреса в пределах 128 –191. Маска сети 255.255.0.0

Классу С соответствуют значения первого байта адреса в пределах 192 –223. Маска сети 255.255.255.0

Маска сети используется для выделения номера сети из IP-адреса ПК. Для этого IP адрес логически перемножается на маску сети. Результат и есть номер IP-сети, а остаток – номер ПК в сети. Например, IP-адресу ПК 194.226.240.37 соответст­вует сеть 194.226.240.0, в которой он находится под номером 37. Такой ПК может непосредственно взаимодействовать, например, с ПК, IP- адрес которого 194.226.240.190, так как они находятся в одной сети, а с ПК, IP-адрес которого 194.226.241.36, он может взаимодействовать только через шлюз, так как эти ПК находятся в разных IP-сетях. Обычно шлюз, через который может взаимодействовать ПК, задается в конфигурации как шлюз по умолчанию.

Отметим, что при такой классификации в сети класса С мо­жет находиться до 254 ПК, что может сильно замедлить ра­боту сети. Поэтому можно разбить такую сеть на подсети, используя последний байт маски. Например, маска 255.255.255.128 позволяет разбить сеть класса С на две под­сети, в каждой из которых может находиться не более 126 ПК, а маска 255.255.255.192 – на четыре подсети по 62 ПК в каждой.

Модуль ARP устанавливает соответствие между адресом сетевой платы и IP-адресом.

Модули транспортного уровня отвечают за безошибочную транспортировку данных и посылают подтверждение о полу­чении данных. Данные из транспортного уровня отправля­ются на прикладной уровень. Соответствие данных приклад­ной программе определяется номером порта. Так приложе­нию ftp соответствует 21 порт. Соответствие порта транс­портному протоколу с одной стороны и приложению с дру­гой стороны, отражены в в файле /etc/services.

Цель работы: Рассмотреть сетевые возможности ОС UNIX с помощью утилит командной строки. Сопоставить модель OSI со стеком протоколов TCP/IP.

Отметим, что настройка сетевого протокола TCP/IP в ОС UNIX проводится во время загрузки системы с помощью специального командного файла network, расположенного в каталоге /etc/init.d/ .

Физический уровень модели osi.

Команда /sbin/ifconfig

Команда /sbin/ifconfig выводит на экран информацию о настройках физического, канального и сетевого уровней модели OSI в Вашем ПК:

интерфейсы ПК (сетевые платы и модемы);

MAC-адреса сетевых плат и связанных сними IP-адреса;

протоколы, используемые системой (TCP/IP и IPX/SPX);

указание максимального размера передаваемого по каждой определяемой сети блока данных (MTU);

метрику сети;

количество переданных и принятых пакетов, число столкновений (коллизий).

Сетевой уровень модели osi.

Команда /sbin/route

Команда /sbin/route предназначена для составления таблицы маршрутов сетевого уровня модели OSI. Будучи введенной с командной строки без параметров, выдает информацию о маршрутах для всех связанных с сетевыми интерфейсами сетей и определяет настройки модуля IP. Информация, выдаваемая этой командой, состоит из строк для каждого сетевого интерфейса и маршрута по умолчанию (default). Эта информация разбита на поля:

Destination - IP-сеть;

Gateway - шлюз, который обязан использовать сетевой интерфейс для связи с другой сетью. Значение * говорит об использовании шлюза по умолчанию, указанного в маршруте по умолчанию.

Flag - тип маршрута

U - рабочий маршрут

G - узел, указанный в маршруте, используется как шлюз для соединения с другой сетью.

Metric Значение 1 указывает, что данный шлюз является первым на пути к другой сети.

Ref - отмечает время, прошедшее с момента установки связи текущего узла со шлюзом.

Use - число пакетов, переданных через шлюз.

Iface - имена сетевых интерфейсов, используемых в мар­шрутах.

PS: К сожалению, команда route текущей версии в целях защиты сети не выдает описанную выше информацию.

В общем случае, маршрут следования пакета информации до целевого узла можно определить командой

traceroute "имя узла"

Например,

/usr/sbin/traceroute microsoft.ru

Кроме указанных команд проверки конфигурации прото­кола TCP/IP, можно указать и команду

/sbin/arp -a

Эта команда выводит содержимое таблицы arp, с помощь которой устанавливается соответствие между IP и MAC-адресами для каждого локального узла, с которым ранее была установлена связь.

Транспортный и прикладной уровни модели osi

Отметим, что система связывает протоколы транспортного уровня с прикладными протоколами с помощью портов. Информация о том, какие протоколы может использовать система в стеке протоколов TCP/IP располагается специальном файле /etc/protocols, а информация о портах прикладных протоколов - в /etc/services. Просмотреть содержимое этого файла можно, например, с помощью редактора mc (клавиша F4), или в редакторе vi (vi /etc/services). Этот файл содержит информацию в текстовом виде, в строках которой указаны прикладные протоколы (столбец service-name), а в столбце port/protocol – номер порта и протокол транспортного уровня, которые использует данный прикладной протокол для получения информации из сети. Для нахождения нужной строки в тексте с помощью редактора mc воспользуйтесь контекстным поиском (клавиша F7). В редакторе vi поиск осуществляется в командном режиме (при отсутствии подсказки в низу окна ВСТАВКА) набором символа / с указанием нужного шаблона поиска, например /imaps.

Покинуть редактор vi следует по клавишной комбинации <Shift>+<Z>+<Z>

Информацию о сетевых приложениях, активных в данный момент времени, и о транспортных протоколах, обслуживающих данное приложение, можно получить по командам nmap или netstat.

Например,

nmap localhost

получим:

Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2007-03-30 16:07 YEKST

Interesting ports on localhost.localdomain (127.0.0.1):

(The 1645 ports scanned but not shown below are in state: closed)

Port State Service

21/tcp open ftp

22/tcp open ssh

25/tcp open smtp

80/tcp open http

110/tcp open pop3

111/tcp open rpcbind

139/tcp open netbios-ssn

143/tcp open imap

443/tcp open https

В случае выполнения команды

netstat –a | less

В результате будет выведена информация следующего содержания:

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 *:32768 *:* LISTEN

tcp 0 0 *:32769 *:* LISTEN

tcp 0 0 *:nfs *:* LISTEN

tcp 0 0 *:swat *:* LISTEN

tcp 0 0 *:netbios-ssn *:* LISTEN

tcp 0 0 aprold-new.cc.usue.ru:ftp 650-24.cc.usue.ru:1052 FIN_WAIT2

tcp 0 0 aprold-new.usue.ru:ssh bolivar.usue.ru:1280 ESTABLISHED

Отсюда видно какое приложение (название или порт) локального компьютера (Local Address) «прослушивает» сеть (LISTEN), установило соединение (ESTABLISHED) с удаленным компьютером или ожидает его, и, а также используемый для соединения протокол транспортного уровня. В частности, строка

tcp 0 0 aprold-new.usue.ru:ssh bolivar.usue.ru:1280 ESTABLISHED

говорит о том, что ПК bolivar.usue.ru с помощью динамического порта 1280 обменивается информацией с ПК aprold-new.usue.ru по протоколу ssh.

Работоспособность протокола прикладного уровня можно проверить с помощью команды telnet, например, порта 21, с которым работает протокол FTP.

bash-2.05a$ telnet aprold-new.cc.usue.ru 21

Trying 10.6.5.243...

Negotiating binary mode on output.

Connected to aprold-new.cc.usue.ru (10.6.5.243).

Escape character is '^]'.

220 (vsFTPd 2.0.3).

Нажмите клавишную комбинацию <Ctrl>+ <]>, а затем с подсказки telnet наберите quit.

Фраза «Connected to aprold-new.cc.usue.ru» говорит о работоспособности 21 порта.

Если программное обеспечение протокола прикладного уровня, соответствующего указанному порту, окажется неработоспособным, система выведет сообщение:

«Connection refused».

II. Интернет. Имена узлов и структура доменов

Для удобства распознавания узлы в Интернете принято именовать в совокупности с именем домена, который, в свою очередь, может быть разбит на поддомены, называемые ино­гда зонами.

С именами работают пользователи Интернет. Однако сете­вое программное обеспечение при адресации данных исполь­зует IP-адреса, представленные в числовом виде. Поэтому, после передачи информации в сеть Интернет, происходит пре­образование имен узлов в IP - адреса. Эти преобразования могут быть проведены как на локальном уровне, так и на се­тевом. Локальное преобразование осуществляется с помощью файла /etc/hosts, в котором пользователь может прописать наиболее часто используемые узлы и соответствующие им IP - адреса.

На сетевом уровне преобразование осуществляется специ­альными серверами, называемыми серверами DNS (Domain Name Server). Преобразование происходит в следующей по­следовательности: сначала просматривается файл /etc/hosts и, если в нем содержится информация о целевом узле, то именно она используется для преобразования. Если инфор­мация отсутствует, то происходит обращение к серверу DNS. Обычно сервер DNS домена конфигурируется администрато­ром сети, который прописывает все узлы домена и присваи­вает им IP- адреса. Информация сервера DNS используется также и для идентификации узла в локальной сети. Для обо­значения отдельных узлов в файлах конфигурации DNS ис­пользуются следующие сокращения:

NameServer NS

Address A указывает на преобразование имени узла в IP-адрес

Pointer PTR преобразование имени в IP-адрес

MailExchange MX почтовый сервер

CanonicalName CNAME псевдоним или дополнитель­ное имя узла

Для просмотра имен узлов домена и соответствующих им IP-адресов в UNIX предусмотрена утилита nslookup. В своем изначальном состоянии утилита nslookup позволяла просмот­реть всю информацию об узлах любого домена. Это оказа­лось слабым местом DNS-сервера, и в большинстве команд этой утилиты сейчас выдается минимум информации или ко­манда отключена совсем, например ls. Утилиту можно за­пустить с командной строки, указав в качестве параметра имя узла или IP- адрес узла, например nslookup relay.usue.ru

В этом случае система выдаст IP адрес узла relay.usue.ru

Если команда запускается без параметров, то программа пе­реходит в режим ожидания ввода информации, в качестве которой можно указать имя узла или установить опцию, по­зволяющую выделить интересующий класс узлов. После про­смотра информации, следует выйти из программы по команде exit.

Рассмотрим основные опции программы nslookup.

а) просмотр информации о почтовых серверах домена.

nslookup

  • set type=MX

  • usue.ru

Программа покажет информацию о всех почтовых серверах домена.

  • exit

б) просмотр информации о серверах имен.

nslookup

  • set type=NS

  • usue.ru

.

  • exit

в) просмотр информации поддоменов

nslookup

  • set domain=usue.ru

  • set type=any

  • usue.ru

Система покажет информацию о серверах УрГЭУ.

  • exit

г) просмотр информации о всех узлах домена ( на сего­дняшний день команда отключена)

nslookup

  • ls usue.ru

  • exit

Узлы текущего домена можно просмотреть с помощью ути­литы host. Например, информацию о именах всех узлов до­мена usue.ru и их IP адресах можно просмотреть по команде

host -l usue.ru | less

Unix и Интернет

Среди программ, используемых ОС UNIX в Интернет, сле­дует отметить, в первую очередь, программы mail (изучена нами ранее) и ftp. Программа ftp присутствует виртуально во всех системах. Запуск ftp под Windows 9x можно выпол­нить набором команды

ftp "имя узла"

или просто

ftp

>

Вход по ftp на удаленный узел, например aprold-new.cc.usue.ru, с вводом имени и пароля пользователя выполняется в сле­дующей последовательности:

ftp

  • open

  • узел > aprold-new.cc.usue.ru

  • пользователь <aprold-new.cc.usue.ru> "logname"

  • Пароль: "password"

Если имя и пароль введены верно, то демон процесс ftpd удаленного сервера устанавливает связь с локальной про­граммой ftp и показывает готовность ввода информации подсказкой

ftp>

Теперь можно вводить команды или получить список до­пустимых команд, введя с подсказки ftp команду

ftp> ?

Информацию о действии любой внутренней команды ин­терпретатора ftp можно получить по команде

ftp> help "имя команды"

Команду ftp можно, например, выполнить с командной строки FAR по команде

cd ftp://[logname]:[password]@host/dir

или на любом Web-броузере, введя в строку URL

ftp://[logname]:[password]@host/dir

Если имя не вводится, то система выполняет доступ с огра­ниченными правами пользователя anonymous в общедос­тупные каталоги системы. Однако наибольший интерес представляют команды, использующие сервис ftp в отло­женное время, например:

wget - доставка файлов и каталогов удаленного узла, ука­занного в качестве параметра команды, которые могут быть запущены в любое астрономическое время по команде at. Подробно об at в руководстве (man at). Описание команды at русифицировано.

Например:

b) wget -r ftp://[logname]:[password]@aprold-new.cc.usue.ru//dir

Информация доставляется в текущий ката­лог.

PS: утилита mirrror в настоящее время не работает!

Для запуска в отложенное время любой команды из списка допустимых команд, например, определяемых командой help, необхо­димо выполнить:

at чч:mm <Enter>

(где чч:мм - время запуска задания в часах и минутах),

после чего команда at переходит в режим ожидания ввода команды. Можно ввести, например,

wget -r ftp://aprold-new.cc.usue.ru/pub//index.html

и далее

<ctrl>+<d>

после чего введенная команда ставится в очередь на выпол­нение по указанному времени. Просмотреть очередь можно по команде

at -l или atq

Пользователь может выключить рабочую станцию, однако команда выполнится в указанное время, о чем получит уведомление по E-mail.

Создание личного web-сайта

Любой пользователь OC UNIX может создать собственную web страницу и сделать ее доступной для просмотра из Internet по адресу:

http://host/~logname

например

http://aprold-new.cc.usue.ru/~fedorov

При обращении к такому адресу система попытается найти и прочитать файл index.html, который должен находится в подкаталоге public_html домашнего каталога пользователя. В данном случае, /home/fedorov/public_html/index.html. В файлах настройки http-сервера каталог /home/"logname"/public_html указан как личный каталог ~logname пользователя, из которого можно прочитать лю­бую Web страницу, указав ее полное имя, например:

http://aprold-new.cc.usue.ru/~fedorov/review.html

Unix в локальной сети

Достижения UNIX в средствах электронной связи позво­ляют эффективно использовать эту ОС в локальных сетях, представив ее в качестве Novell NetWare Server 3.12 и Win­dows NT Server. Для представления OC UNIX в качестве сервера Netware Server 3.12 используется пакет программ mars_nwe, который позволяет рабочим станциям обмени­ваться информацией с OC UNIX посредством протокола ipx/spx. На рабочих станциях UNIX сервер виден как Net­Ware сервер. Для администрирования сервера использу­ются стандартные утилиты NetWare такие, как syscon.exe, filer.exe и т.д. Эти утилиты с некоторыми ограничениями доступны обычному пользователю. В частности, любой пользователь OC UNIX автоматически становится пользо­вателем сервера NetWare с логическим именем пользова­теля UNIX и паролем по умолчанию top-secret. Это озна­чает, что Вы можете зарегистрироваться на сервере NcpServer (псевдоним aprold), перейти в каталог /sys, затем подключить каталог /sys/public в качестве сетевого драйва, запустить программу syscon и с ее помощью изменить па­роль. Система предоставит Вам полные права на каталог home, который фактически является вашим домашним ката­логом. NcpServer поддерживает длинные имена в стиле OS/2 (только латинские символы). Кроме указанного, дан­ный пакет позволяет подключиться к любому серверу Net­Ware по команде:

ncpmount -S Server -U User dir

Например, ncpmount -S master -U guest dirmaster

Где dirmaster - подкаталог текущего каталога и данной команде указан как точ­ка монтирования файловой системы сервера master.

Для представления OC UNIX в качестве сервера Windows NT используется пакет программ Samba. Этот пакет позволяет рабочим станциям связываться с UNIX сервером посредством протокола NetBios (транспортный протокол фирмы IBM). В ЛВС УрГэу сервер aprold-new виден как NT сер­вер Aprold-new, который является первичным контроллером домена (Primary Domain Controller – PDC) домена SAMBA-NEW. Для регистрации на сервере Aprold-new необходимо зарегистри­роваться на рабочей станции Windows XX под логическим именем UNIX клиента. Далее с помощью команды "поиск" найти в сети сервер Aprold-new, на котором том "logname" является Вашим личным каталогом с полными правами доступа. В этом каталоге Вы можете создавать подкаталоги в стиле Windows XX.

Кроме указанного сервиса, пакет SAMBA позволяет про­смотреть:

  1. общедоступные ресурсы рабочей станции по команде:

smbclient -L «WorkStation»,

например, smbclient -L aprold-new | less

б) получить доступ к любому общедоступному ресурсу ра­бочей станции по команде:

smbclient //host/dir -U User%passwd

например, smbclient //aprold-new.cc.ususe.ru/Soft_Linux -U guest%

Получение доступа отмечается подсказкой:

Smb:\>

Для просмотра содержимого каталога выполните команду ls. Определить название каталога можно командой pwd.

Если с подсказки ввести знак ?, система выдаст список до­пустимых команд. По команде help "имя команды", Вы по­лучите описание команды.

Основной задачей любой сетевой ОС является хранение протоколов работы с системой. ОС linux не является исключением, и вся служебная информация сохраняется в так называемых log-файлах, расположенных в каталоге /var/log. Большинство из файлов доступны для просмотра только администратору системы. Однако файл регистраций пользователей может просмотреть любой заинтересованный пользователь по команде:

last логическое имя пользователя | less

например:

last fedorov | less

Выводит:

fedorov pts/24 bolivar.usue.ru Tue Feb 25 11:21 - 11:25 (00:03)

fedorov pts/23 650-13.cc.usue.r Tue Feb 25 10:37 - 10:40 (00:02)

fedorov pts/22 650-11.cc.usue.r Tue Feb 25 10:18 - 10:21 (00:02)

fedorov pts/20 bolivar.usue.ru Tue Feb 25 10:10 - 13:36 (03:25)

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

8

2

7

3

6

4

5