- Доступ к локальной сети средствами Linux
- Содержание:
- Взаимодействие компьютерных систем в сети Ethernet
- Управление сетевыми интерфейсами в Linux.
- Доступ к локальной сети средствами Linux
- Содержание:
- Взаимодействие компьютерных систем в сети Ethernet
- Управление сетевыми интерфейсами в Linux.
- Сетевая подсистема Linux
- Содержание:
- Многоуровневый подход к организации сетевых взаимодействий
- Средства настройки сетевой подсистемы Linux
- Ключевые термины
Доступ к локальной сети средствами Linux
Содержание:
- Взаимодействие компьютерных систем в сети Ethernet.
- Управление сетевыми интерфейсами в Linux.
- Настройка физических параметров сетевого подключения.
Взаимодействие компьютерных систем в сети Ethernet
Группа технологий Ethernet [ 20 ] , [ 7 ] предназначена для организации взаимодействия компьютеров на уровне сетевых интерфейсов (определяет характеристики среды передачи, типы соединений, способы коммуникации устройств и адресации, используемое оборудование и т. д.); чаще всего используется для построения локальных сетей.
В качестве среды передачи в настоящее время в Ethernet используется витая пара (несколько пар изолированных проводников, скрученных между собой) или оптоволоконный кабель . Полоса пропускания различных технологий Ethernet варьирует от 10 Мбит/c до 10 Гбит/c. Все новые стандарты Ethernet обратно совместимы с базовым стандартом (условно говоря, единица передачи данных — Ethernet-фрейм передается в любой среде без изменений). При этом, оборудование различных производителей, использующее различные технологии Ethernet, обычно, без проблем работает в одной сети.
Для подключения компьютера к среде передачи ( витая пара ) используется сетевой адаптер с разъемом RJ-45 . В данном сегменте сети каждый сетевой адаптер имеет уникальный физический адрес (MAC-адрес), размером 48 бит, который принято записывать в виде последовательности шестнадцатеричных цифр (например, 00:1d:d9:43:0f:41 ). Принцип действия сетевого адаптера — в том, что обрабатываются те Ethernet-фреймы, у которых указан его MAC-адрес в адресе получателя (а также специальные широковещательные фреймы, у которых MAC-адрес равен FF:FF:FF:FF:FF:FF ).
Сетевой адаптер компьютера подключается к коммутатору — многопортовому устройству, предназначенному для пересылки Ethernet -фреймов между портами. Коммутатор ведет таблицу коммутации (MAC-адресов), описывающую соответствие между MAC-адресами узлов и портами, к которым они подключены. Записи в таблице MAC-адресов имеют определенное время жизни, по истечению которого они удаляются из таблицы.
Для передаваемых фреймов коммутатор анализирует MAC-адреса
- Для передаваемых фреймов коммутатор анализирует MAC-адрес отправителя и получателя и содержимое таблицы коммутации (рис. 3.1.):
- Если MAC-адрес отправителя отсутствует в таблице, то он вносится туда с привязкой к порту.
- Если MAC-адреса отправителя и получателя привязаны к одному и тому же порту, то фрейм не пересылается (фильтрация).
- Если MAC-адреса отправителя и получателя привязаны к различным портам, то фрейм отправляется в порт получателя.
- Если MAC-адрес получателя неизвестен коммутатору, производится широковещательная рассылка фрейма по всем портам, за исключением порта источника.
- Фреймы, у которых в адресе получателя указан широковещательный адрес ( FF:FF:FF:FF:FF:FF ) также рассылаются по всем портам, кроме исходного.
Управление сетевыми интерфейсами в Linux.
Физический сетевой интерфейс — устройство, способное отправлять в физическую сеть и получать из сети атомарные единицы передачи — фреймы; предоставляется драйвером устройства и имеет определенное имя, которое используется для доступа к нему (например, драйвера Ethernet ядро именует как eth0, eth1 и т.д.). Фактически, чтобы использовать сетевой интерфейс , нужно настроить на нем какой-либо протокол сетевого уровня (например, протокол IP ).
Для управления сетевыми интерфейсами на уровне доступа к сети можно использовать команду ip из пакета iproute2 с параметром link [ 22 ] .
Вывод данной команды содержит пронумерованный список интерфейсов, присутствующих в системе. Информация об интерфейсе содержит две строки: в первой указывается имя интерфейса, установленные флаги состояния, MTU (Maximum Transmission Unit, максимально допустимый размер фрейма в байтах), тип и размер очереди фреймов; во второй строке — тип соединения, MAC-адрес, широковещательный адрес и т. п.
Некоторые флаги состояния :
- UP — устройство подключено и готово принимать и отправлять фреймы;
- LOOPBACK — интерфейс является локальным и не может взаимодействовать с другими узлами в сети;
- BROADCAST — устройство способно отправлять широковещательные фреймы;
- POINTTOPOINT — соединение типа «точка-точка»
- PROMISC — устройство находится в режиме «прослушивания» и принимает все фреймы.
- NOARP — отключена поддержка разрешения имен сетевого уровня.
- ALLMULTI — устройство принимает все групповые пакеты.
- NO- CARRIER — нет связи (не подключен кабель).
- DOWN — устройство отключено.
Можно также вывести информацию о данном интерфейсе, задав его имя в параметре dev :
Источник
Доступ к локальной сети средствами Linux
Содержание:
- Взаимодействие компьютерных систем в сети Ethernet.
- Управление сетевыми интерфейсами в Linux.
- Настройка физических параметров сетевого подключения.
Взаимодействие компьютерных систем в сети Ethernet
Группа технологий Ethernet [ 20 ] , [ 7 ] предназначена для организации взаимодействия компьютеров на уровне сетевых интерфейсов (определяет характеристики среды передачи, типы соединений, способы коммуникации устройств и адресации, используемое оборудование и т. д.); чаще всего используется для построения локальных сетей.
В качестве среды передачи в настоящее время в Ethernet используется витая пара (несколько пар изолированных проводников, скрученных между собой) или оптоволоконный кабель . Полоса пропускания различных технологий Ethernet варьирует от 10 Мбит/c до 10 Гбит/c. Все новые стандарты Ethernet обратно совместимы с базовым стандартом (условно говоря, единица передачи данных — Ethernet-фрейм передается в любой среде без изменений). При этом, оборудование различных производителей, использующее различные технологии Ethernet, обычно, без проблем работает в одной сети.
Для подключения компьютера к среде передачи ( витая пара ) используется сетевой адаптер с разъемом RJ-45 . В данном сегменте сети каждый сетевой адаптер имеет уникальный физический адрес (MAC-адрес), размером 48 бит, который принято записывать в виде последовательности шестнадцатеричных цифр (например, 00:1d:d9:43:0f:41 ). Принцип действия сетевого адаптера — в том, что обрабатываются те Ethernet-фреймы, у которых указан его MAC-адрес в адресе получателя (а также специальные широковещательные фреймы, у которых MAC-адрес равен FF:FF:FF:FF:FF:FF ).
Сетевой адаптер компьютера подключается к коммутатору — многопортовому устройству, предназначенному для пересылки Ethernet -фреймов между портами. Коммутатор ведет таблицу коммутации (MAC-адресов), описывающую соответствие между MAC-адресами узлов и портами, к которым они подключены. Записи в таблице MAC-адресов имеют определенное время жизни, по истечению которого они удаляются из таблицы.
Для передаваемых фреймов коммутатор анализирует MAC-адреса
- Для передаваемых фреймов коммутатор анализирует MAC-адрес отправителя и получателя и содержимое таблицы коммутации (рис. 3.1.):
- Если MAC-адрес отправителя отсутствует в таблице, то он вносится туда с привязкой к порту.
- Если MAC-адреса отправителя и получателя привязаны к одному и тому же порту, то фрейм не пересылается (фильтрация).
- Если MAC-адреса отправителя и получателя привязаны к различным портам, то фрейм отправляется в порт получателя.
- Если MAC-адрес получателя неизвестен коммутатору, производится широковещательная рассылка фрейма по всем портам, за исключением порта источника.
- Фреймы, у которых в адресе получателя указан широковещательный адрес ( FF:FF:FF:FF:FF:FF ) также рассылаются по всем портам, кроме исходного.
Управление сетевыми интерфейсами в Linux.
Физический сетевой интерфейс — устройство, способное отправлять в физическую сеть и получать из сети атомарные единицы передачи — фреймы; предоставляется драйвером устройства и имеет определенное имя, которое используется для доступа к нему (например, драйвера Ethernet ядро именует как eth0, eth1 и т.д.). Фактически, чтобы использовать сетевой интерфейс , нужно настроить на нем какой-либо протокол сетевого уровня (например, протокол IP ).
Для управления сетевыми интерфейсами на уровне доступа к сети можно использовать команду ip из пакета iproute2 с параметром link [ 22 ] .
Вывод данной команды содержит пронумерованный список интерфейсов, присутствующих в системе. Информация об интерфейсе содержит две строки: в первой указывается имя интерфейса, установленные флаги состояния, MTU (Maximum Transmission Unit, максимально допустимый размер фрейма в байтах), тип и размер очереди фреймов; во второй строке — тип соединения, MAC-адрес, широковещательный адрес и т. п.
Некоторые флаги состояния :
- UP — устройство подключено и готово принимать и отправлять фреймы;
- LOOPBACK — интерфейс является локальным и не может взаимодействовать с другими узлами в сети;
- BROADCAST — устройство способно отправлять широковещательные фреймы;
- POINTTOPOINT — соединение типа «точка-точка»
- PROMISC — устройство находится в режиме «прослушивания» и принимает все фреймы.
- NOARP — отключена поддержка разрешения имен сетевого уровня.
- ALLMULTI — устройство принимает все групповые пакеты.
- NO- CARRIER — нет связи (не подключен кабель).
- DOWN — устройство отключено.
Можно также вывести информацию о данном интерфейсе, задав его имя в параметре dev :
Источник
Сетевая подсистема Linux
Содержание:
- Многоуровневый подход к организации сетевых взаимодействий.
- Средства настройки сетевой подсистемы Linux.
Многоуровневый подход к организации сетевых взаимодействий
Процесс взаимодействия между узлами компьютерной сети является сложным «Транспортный и прикладной уровни модели сетевого взаимодействия.» . Сложности связаны как с преобразованием «данные-сигналы-данные», так и с передачей сигнала по гетерогенным сетям. Для наглядной иллюстрации процесса передачи данных в сети Интернет можно, например, с помощью команды traceroute (tracert в Windows ), изучить список промежуточных узлов, через которые проходят сетевые пакеты на пути от компьютера пользователя до какого-нибудь Интернет -ресурса (пример 2.1)
Задачу обеспечения сетевых коммуникаций решают с использованием многоуровневого иерархического подхода. На узле программные компоненты данного уровня «общаются» только с соседними уровнями, при этом интерфейсы (предоставляемые функции) между соседними уровнями четко определены. Узлы взаимодействуют друг с другом посредством протоколов (правил, по которым обмениваются сообщениями программные компоненты одного уровня на разных узлах) «Использование виртуализации для изучения Linux» . Для передачи по сети поток информации на узле-отправителе разбивается на набор фрагментов (единиц передачи данных ), по мере продвижения по иерархии протоколов, каждый протокол добавляет (инкапсулирует) свой заголовок к фрагменту передаваемой информации. На узле-получателе происходит обратный процесс.
Существует несколько альтернативных моделей сетевых взаимодействий «Использование виртуализации для изучения Linux» . В вопросах настройки сетевой подсистемы (в отличие от вопросов разработки протоколов и интерфейсов) значение данных моделей в большей степени методическое, направленное на унификацию терминологии и лучшее понимание процессов функционирования сети.
В данном пособии используется терминология (нестрогая) модели стека протоколов TCP/IP, которая включает четыре уровня:
- Уровень сетевых интерфейсов (доступа к сети). В рамках модели TCP/IP на данном уровне решаются две задачи: упаковки единиц передачи вышележащего уровня во фреймы (единицы передачи данного уровня) и получения физических адресов (MAC-адресов).
- Сетевой уровень (интернет-уровень, межсетевой уровень). Обеспечивает передачу пакетов (единиц передачи сетевого уровня) между гетерогенными сетями на основе IP-адресации (сетевой адресации) и группировки узлов в подсети. Основным протоколом данного уровня является IP ( Internet Protocol ).
- Транспортный уровень. Обеспечивает для фрагментов данных как гарантированную доставку (протокол TCP, единицы передачи — сегменты), так и доставку по возможности (протокол UDP, единицы передачи — датаграммы ). На данном уровне решается задача использования сетевого подключения несколькими приложениями (порты).
- Прикладной уровень. Включает средства преобразования и протоколы представления информационных потоков, непосредственно взаимодействующие с приложениями пользователя.
Пример 2.2. Типичный процесс взаимодействия между сетевыми узлами по прикладному протоколу, использующему в качестве транспорта протокол TCP, можно описать следующим образом на узле-отправителе:
- На прикладном уровне осуществляются необходимые преобразования информационного потока (сжатие, шифрование и т. д.).
- Информационный поток прикладного протокола на транспортном уровне разбивается на последовательность сегментов; в заголовке сегмента, в частности, указаны номера портов отправителя и получателя.
- На сетевом уровне сегмент вкладывается в пакет, заголовок, которого содержит IP-адреса отправителя и получателя.
- На уровне сетевых интерфейсов на основе сетевого пакета формируется фрейм, заголовок которого содержит MAC-адреса отправителя и получателя (в случае «нелокальной» доставки — маршрутизатора удаленных сетей).
На узле-получателе происходит обратный процесс.
Примечание: В некоторых случаях на сетевом уровне и уровне сетевых интерфейсов используется дополнительная инкапсуляция (технологии глобальных сетей, аутентификации, виртуальные частные сети и т.п.)
Средства настройки сетевой подсистемы Linux
Сетевая поддержка в Linux обеспечивается стандартными и дополнительными модулями ядра, программным обеспечением, входящим в состав конкретного дистрибутива, а также может быть расширена за счет использования прочих программных средств «Доступ к локальной сети средствами Linux» «Команды настройки протокола IP» .
Для управления сетевой подсистемой Linux существует множество средств: команды, скрипты, графические программы и т. д. Здесь приведены лишь наиболее известные из них.
Для базовой настройки сетевой подсистемы можно использовать следующие группы команд:
«Традиционные» команды настройки сети (пакет net-tools ) «Постоянные сетевые конфигурации (на примере Debian/GNU Linux)» . В данном пакете присутствуют команды: управления сетевыми интерфейсами ( ifconfig ), таблицей маршрутизации ( route ), таблицей разрешения имен ( arp ), сетевой статистики ( netstat ), статусом сетевых устройств ( mii-tool ) и т.д. Пакет net-tools использовался для управления сетью до ядра 2.4.; включается в современные дистрибутивы Linux для совместимости.
Команды пакета iproute2 «Базовая диагностика сетевых подключений» . Пакет iproute2 разработан для управления параметрами TCP/IP и контроля трафика в Linux (в частности маршрутизация и качество обслуживания). Для управления сетью в современных ядрах Linux (ядра версии 2.4-2.6) рекомендуется использовать средства данного пакета вместо команд net-tools .
Пакет iproute2 включает 3 основные утилиты:
-ip — команда для просмотра параметров и настройки сетевых интерфейсов, IP -адресов, таблиц маршрутизации, правил маршрутизации, таблиц преобразования, IP -туннелей и т.д.
-tc ( traffic control ) — команда для просмотра и настройки параметров управления трафиком (классификация трафика, дисциплины управления очереди для различных классов трафика)
-ss — команда для просмотра текущих соединений и открытых портов (аналог netstat ).
Для настройки сети при загрузке системы (а также как средство настройки работающей системы) в Linux обычно используются наборы конфигурационных файлов и обрабатывающих их скриптов и программ. В дистрибутивах применяются различные способы инициализации сетевой подсистемы, например Debian использует пакет ifupdown (см. «Постоянные сетевые конфигурации (на примере Debian/GNU Linux)» ), а большинство RPM -основанных дистрибутивов — набор файлов вида ifup-*, ifdown-*, ifcfg-*, расположенных в каталоге /etc/sysconfig/network-scripts/ и т.п.
В системах с установленным оконным менеджером для настройки сетевых параметров можно использовать средства графического интерфейса пользователя. В качестве примера можно назвать пакет NetworkManager «Транспортный и прикладной уровни модели сетевого взаимодействия.» , совместимый с таким графическими окружениями, как GNOME, KDE и XFCE ; интерфейс NetworkManager позволяет настраивать проводные и беспроводные (Wi-Fi, 3G, Bluetooth) соединения, подключения к виртуальным частным сетям (VPN) и ADSL -провайдерам. Средства графического интерфейса пользователя есть также в пакете Wicd [ 14 ] .
Для управления межсетевым экраном и средством манипулирования сетевыми пакетами (в том числе трансляция сетевых адресов — NAT) Netfilter стандартно используется утилита командной строки iptables [ 10 ] (см. «Межсетевое экранирование в Linux» и «Обеспечение доступа в сеть Интернет» ). Над Netfilter/iptables существуют различные надстройки (в том числе и GUI -средства), например, UFW/Gufw — простые утилиты настройки межсетевого экрана уровня узла (host-based), используемые в дистрибутиве Ubuntu [ 9 ] . Примерами программ для настройки межсетевого экрана также могут служить такие проекты как: Shorewall [ 9 ] , Firewall Builder [ 11 ] , Firestarter [ 12 ] и т. д.
В состав дистрибутивов Linux обычно также включаются разнообразные средства диагностики и мониторинга сети. Простейшими и общеупотребительными из них являются:
- Команда ping [ 13 ] . Простейшее средство проверки работоспособности удаленного узла.
- Команда traceroute . Позволяет отобразить все промежуточные узлы, которые проходят пакеты на пути к целевому узлу.
- Утилита tcpdump . Используется для перехвата и анализа сетевого трафика.
Ключевые термины
Гетерогенная сеть — информационная сеть , в которой работают различные протоколы, используются технологии и оборудование различных фирм-производителей.
Интерфейс — формализованные правила, в соответствии с которыми взаимодействуют модули, реализующие протоколы соседних уровней модели сетевого взаимодействия (набор сервисов, предоставляемых данным уровнем соседнему).
Протокол — формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне модели сетевого взаимодействия в разных узлах.
IP (Internet Protocol) — маршрутизируемый протокол сетевого уровня без установления соединения.
Сокет — пара IP — адрес : порт , однозначно определяющая сетевой процесс; точка доступа прикладного процесса к сети.
Источник