The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа

Занятие 15.

Тема: Сетевое администрирование Linux. Протокол IP.

Вид занятия:  лекция, практическое занятие.

Учебные вопросы:

1. Структура пакета IP. Структура IP-адреса. Подсети.

2. ifconfig и настройка протокола IP.

3. Маршрутизация. Автономные области. М9. Команда route.

Время: 90 минут

Литература:

1. Cysco systems и др. - Руководство по технологиям объедененных сетей, 3-е издание. : Пер. с англ. - М. : Издательский дом “Вильямс”, 2002. - 1040 с. : ил. - парал. тит. англ.

2. Кирх. О, Доусон Т. - Linux для профессионалов. Руководство администратора сети, второе издание. - СПб.: Питер, 2001. - 496 с.; ил.


Ход занятия.

1. IP (Internet Protocol) - протокол сетевого уровня, который содержит информацию об адресации и некоторую управляющую информацию для маршрутизации пакетов. Протокол описан в запросе на комментарий 791 (RFC 791).

<------------------------------------------     32 бита   ---------------------------------------------------->

Версия

 

IHL

Тип службы IHL

Общая длина

Идентификация

 

Флаги

 

Смещение флагов

Время жизни

Протокол

 

Контрольная сумма заголовка

Адрес источника

Адрес приемника

Свойства

Данные (переменной длины)

Версия - Версия используемого протокола IP

IHL (IP header length) -длина IP-заголовка. Длина заголовка в 32-разрядных блоках

Тип службы - определяет управление протоколом верхнего уровня (TCP или UDP) и присваивает важность пакету.

Общая длина - Длина всего ip-пакета в байтах, включая данные и заголовок.

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

Флаги - Состоит из 3-х бит. Первый бит определяет, может ли пакет быть фрагментирован, а второй - является ли пакет последним в серии фрагментированных. Третий бит не используется.

Смещение фрагмента - содержит значение позиции данных фрагмента относительно начала данных. Используется только в фрагментированных пакетах.

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

Протокол - Протокол верхнего уровня (TCP или UDP)

Контрольная сумма заголовка - Помогает убедиться в целостности пакета.

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

Адрес приемника - определяет узел-получатель

Свойства - Позволяет IP определять различные свойства, например безопасность

Данные - Информация верхнего уровня.

Протокол IP как протокол сетевого уровня неразрывно связан с понятием адресации. Адрес IP - это 32-разрядный адрес, который содержит 4 группы по одному байту, обычно записываемы в 10-тичном виде через точку. Каждая группа называется октетом. Минимальное значение октета - 0, максимальное - 255.

Протокол IP определяет также понятие подсети. Это группа ip-адресов, имеющая общую маршрутизацию.

Подсети определяются масками. Маска - это часть сетевого адреса, определяющая какие биты адреса относятся к сети, а какие - к хосту. Биты маски, установленные в 1 определяют сеть, а в 0 - хост.

Наример:

192.168.2.31/255.255.255.0

Маска подсети 255.255.255.0 в двоичном виде будет выглядеть:

1111111    1111111    1111111    00000000

Отсюда можно сделать вывод, что для того чтобы найти адрес 192.168.2.31 нужно найти сеть 192.168.2.0, а в ней хост 31.

IP-адреса делятся на пять классов - A, B, C, D и E. Для коммерческого использования предназначены только первые 3.

Класс

 

Маска

 

Количество битов, сеть/хост

Максимально количество хостов

A

255.0.0.0

8 бит на сеть/24 бита на хост

16777214 (224-2)*

B

255.255.0.0

16 бит на сеть/16 бит на хост

65534 (216-2)

C

255.255.255.0

24 бит на сеть/8 бит на хост

254 (28-2)

* - один адрес зарезервирован как широковещательный, и один - для сети.

Существуют также специально выделенные диапазоны сетей для использования в локальных сетях. Это так называемые фэйковые сети (от англ. fake - обманывать, также их называют приватными, серыми адресами). Эти сети не маршрутизируются в сети интернет. Выделены диапазоны для 3 классов сетей:

Класс

 

Диапазон

 

A

10.0.0.0 - 10.255.255.255 (255 сетей класса А)

B

172.16.0.0 - 172.31.255.255 (31 сеть класса B)

C

192.168.0.0 - 192.168.255.255 (255 сетей класса С)

2. Настройка протокола IP в Linux может выполняться как с помощью встроенных средств, таких как netconf от RedHat, так и вручную.

Для отображения параметров протокола IP используется команда /sbin/ifconfig. С помощью этой же команды можно настроить устройство или добавить второй ip для карты:

/sbin/ifconfig eth0 192.168.2.31 netmask 255.255.255.0

bash-2.05b# /sbin/ifconfig

eth0      Link encap:Ethernet  HWaddr 00:C0:26:2C:AC:D1

         inet addr:192.168.2.31  Bcast:192.168.2.255  Mask:255.255.255.0

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

         RX packets:147329 errors:0 dropped:0 overruns:0 frame:0

         TX packets:47207 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0

         RX bytes:96478376 (92.0 Mb)  TX bytes:8043931 (7.6 Mb)

lo        Link encap:Local Loopback

         inet addr:127.0.0.1  Mask:255.0.0.0

         UP LOOPBACK RUNNING  MTU:16436  Metric:1

         RX packets:10514 errors:0 dropped:0 overruns:0 frame:0

         TX packets:10514 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0

         RX bytes:9712961 (9.2 Mb)  TX bytes:9712961 (9.2 Mb)

bash-2.05b# /sbin/ifconfig eth0 add 192.168.2.253 netmask 255.255.255.0

bash-2.05b# /sbin/ifconfig

eth0      Link encap:Ethernet  HWaddr 00:C0:26:2C:AC:D1

         inet addr:192.168.2.31  Bcast:192.168.2.255  Mask:255.255.255.0

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

         RX packets:148126 errors:0 dropped:0 overruns:0 frame:0

         TX packets:47781 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0

         RX bytes:96843116 (92.3 Mb)  TX bytes:8103494 (7.7 Mb)

eth0:0    Link encap:Ethernet  HWaddr 00:C0:26:2C:AC:D1

         inet addr:192.168.2.253  Bcast:192.168.2.255  Mask:255.255.255.0

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

         RX packets:148126 errors:0 dropped:0 overruns:0 frame:0

         TX packets:47781 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0

         RX bytes:96843116 (92.3 Mb)  TX bytes:8103494 (7.7 Mb)

lo        Link encap:Local Loopback

         inet addr:127.0.0.1  Mask:255.0.0.0

         UP LOOPBACK RUNNING  MTU:16436  Metric:1

         RX packets:10514 errors:0 dropped:0 overruns:0 frame:0

         TX packets:10514 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0

         RX bytes:9712961 (9.2 Mb)  TX bytes:9712961 (9.2 Mb)

Однако в RehHat-системах принято настраивать протокол IP с помощью системы стартовых скриптов на основе файлов настроек:

/etc/sysconfig/network - основной конфигурационный файл сети. В нем описан сам факт использования сети, имя хоста, маршрут по умолчанию и адреса ДНС:

bash-2.05b# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=WebMedia

GATEWAY=192.168.2.2

DNS1=192.168.2.2

DNS2=192.168.2.4

/etc/sysconfig/network-scripts/ifcfg-<псевдоним устройства> - описывает параметры сетевого устройства:

bash-2.05b# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

IPADDR=192.168.2.31

NETMASK=255.255.255.0

NETWORK=192.168.2.0

BROADCAST=192.168.2.255

или, при использовании протокола динамической конфигурации:

bash-2.05b# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=dhcp

Нужно учесть, что в выводе команды ifconfig вы будете видеть название устройства, указанного в названии файла, а реально будет использовано устройство, указанное в файле. Причем эти названия не обязательно должны совпадать. Например, в вывод ifconfig можно установить ppp0, хотя реально будет использоваться eth0.

3. Маршрутизация в интернет построена на данных о IP-подсетях, а также о группах подсетей, принадлежащих крупным магистральным провайдерам. Такие группы адресов называются автономными областями. Маршрутизация может быть статической, на основе заранее созданных человеком маршрутов и динамической, когда маршруты создаются протоколами маршрутизации, такими как RIP (Routing Information Protocol - протокол информации и маршрутизации), OSPF (Open Short Path First - использовать короткий путь сначала), BGP (Border Gateway Protocol - протокол граничного шлюза) и др.  Их рассматривать мы не будем.

У маршрутизатора есть набор правил, определяющих сетевой интерфейс, на который может быть отправлен пакет в зависимости от адреса получателя, а также маршрут по умолчанию, куда отправляются пакеты, не соответствующие общим правилам, например:

- для сети 192.168.2.0/255.255.255.0 отправить в eth0

- для сети 214.54.0.0/255.255.0.0 отправить в eth1

- маршрут по умолчанию wan0

Таким образом, когда маршрутизатор получит пакет с адресом получателя 192.168.2.31, то он отправит его в интерфейс eth0, а если он получит пакет для 80.92.30.1, то отправит его в интерфейс wan0.

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

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

Как центральная магистральная развязка в России используется группа маршрутизаторов магистральных провайдеров, таки как РосТелеКом, ТрансТелеКом, МТУ Интел, географически расположенная на международной телефонной станции М9 в г. Москве. Именно из этой точки осуществляется трансляция потоков данных между крупными российскими магистральными провайдерами, а также зарубеж.

Для настройки статической маршрутизации в Linux используется команда /sbin/route.

[gserg@WebMedia gserg]$ /sbin/route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.0     *               255.255.255.0   U     0      0        0 eth0

169.254.0.0     *               255.255.0.0     U     0      0        0 eth0

127.0.0.0       *               255.0.0.0       U     0      0        0 lo

default         ns.edu.vologda. 0.0.0.0         UG    0      0        0 eth0

Введенная без параметров она показывает таблицу маршрутизации, используемую на ПК/сервере. Использование команды описано подробно в man-странице. Я же приведу несколько примеров:

bash-2.05b# /sbin/route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.0     *               255.255.255.0   U     0      0        0 eth0

169.254.0.0     *               255.255.0.0     U     0      0        0 eth0

127.0.0.0       *               255.0.0.0       U     0      0        0 lo

default         ns.edu.vologda. 0.0.0.0         UG    0      0        0 eth0

bash-2.05b# /sbin/route add 192.168.1.0 gw 192.168.2.1

bash-2.05b# /sbin/route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.1.0     192.168.2.1     255.255.255.255 UGH   0      0        0 eth0

192.168.2.0     *               255.255.255.0   U     0      0        0 eth0

169.254.0.0     *               255.255.0.0     U     0      0        0 eth0

127.0.0.0       *               255.0.0.0       U     0      0        0 lo

default         ns.edu.vologda. 0.0.0.0         UG    0      0        0 eth0

bash-2.05b# /sbin/route del 192.168.1.0

bash-2.05b# /sbin/route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.0     *               255.255.255.0   U     0      0        0 eth0

169.254.0.0     *               255.255.0.0     U     0      0        0 eth0

127.0.0.0       *               255.0.0.0       U     0      0        0 lo

default         ns.edu.vologda. 0.0.0.0         UG    0      0        0 eth0

bash-2.05b#_

Для создания маршрутов, которые впоследствии будут использоваться при загрузке Вы можете использовать в RedHat-based системах файл /etc/sysconfig/static-routes:

eth0 net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.4

eth0 net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.1

Формат файла следующий:

интерфейс пробел параметры_команды_/sbin/route




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру