Сетевые средства Linux

Доступ к локальной сети средствами Linux

Показывать лекцию целиком

Содержание:

  • Взаимодействие компьютерных систем в сети Ethernet.
  • Управление сетевыми интерфейсами в Linux.
  • Настройка физических параметров сетевого подключения.
  • Взаимодействие компьютерных систем в сети Ethernet

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

    В качестве среды передачи в настоящее время в 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) также рассылаются по всем портам, кроме исходного.
  • (рис 3.1) Коммутатор и таблица коммутации

    Управление сетевыми интерфейсами в Linux.

    Физический сетевой интерфейс — устройство, способное отправлять в физическую сеть и получать из сети атомарные единицы передачи — фреймы; предоставляется драйвером устройства и имеет определенное имя, которое используется для доступа к нему (например, драйвера Ethernet ядро именует как eth0, eth1 и т.д.). Фактически, чтобы использовать сетевой интерфейс, нужно настроить на нем какой-либо протокол сетевого уровня (например, протокол IP).

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

    # ip link show 
     1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN  
           link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
     2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP 
           qlen 1000 link/ether 00:1d:72:01:ab:93 brd ff:ff:ff:ff:ff:ff 
     3: irda0: <NOARP> mtu 2048 qdisc noop state DOWN qlen 8 
           link/irda 00:00:00:00 brd ff:ff:ff:ff 
     4: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
           qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff 
     5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc 
           pfifo_fast state UNKNOWN qlen 3 link/ppp

    Вывод данной команды содержит пронумерованный список интерфейсов, присутствующих в системе. Информация об интерфейсе содержит две строки: в первой указывается имя интерфейса, установленные флаги состояния, MTU (Maximum Transmission Unit, максимально допустимый размер фрейма в байтах), тип и размер очереди фреймов; во второй строке — тип соединения, MAC-адрес, широковещательный адрес и т. п.

    Некоторые флаги состояния:

  • UP — устройство подключено и готово принимать и отправлять фреймы;
  • LOOPBACK — интерфейс является локальным и не может взаимодействовать с другими узлами в сети;
  • BROADCAST - устройство способно отправлять широковещательные фреймы;
  • POINTTOPOINT — соединение типа "точка-точка"
  • PROMISC — устройство находится в режиме "прослушивания" и принимает все фреймы.
  • NOARP — отключена поддержка разрешения имен сетевого уровня.
  • ALLMULTI — устройство принимает все групповые пакеты.
  • NO-CARRIER — нет связи (не подключен кабель).
  • DOWN — устройство отключено.
  • Можно также вывести информацию о данном интерфейсе, задав его имя в параметре dev:

    # ip link show dev eth0

    или просто:

    # ip link show eth0

    Примечаниепараметров команд пакета iproute2 есть сокращенный синтаксис, например, ip link show eth0 можно записать как ip l sh eth0.

    Команда ip link также позволяет менять некоторые свойства сетевого интерфейса. Для этого используется параметр set.

    # ip link set mtu 1400 eth1
     # ip link show eth1
     3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state 
         UP qlen 1000 link/ether 08:00:27:66:6a:4f brd ff:ff:ff:ff:ff:ff

    . "Постоянные сетевые конфигурации".

    # ip link set address 00:11:11:12:FE:09 eth1
     # ip link show eth1
     3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state
         UP qlen 1000 link/ether 00:11:11:12:fe:09 brd ff:ff:ff:ff:ff:ff

    Используя

    # ip link set down eth1
     # ip link set up eth1

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

    # ifconfig eth1 down 
     # ifconfig eth1 up 
     # ifconfig eth1 mtu 1400 
     # ifconfig eth1 hw ether 00:11:12:13:14:15 
     # ifconfig eth1 
     eth1      Link encap:Ethernet  HWaddr 00:11:12:13:14:15   
               inet6 addr: fe80::a00:27ff:fe66:6a4f/64 Scope:Link 
               UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1 
               RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
               TX packets:9 errors:0 dropped:0 overruns:0 carrier:0 
               collisions:0 txqueuelen:1000  
               RX bytes:0 (0.0 B)  TX bytes:706 (706.0 B)

    Настройка физических параметров сетевого подключения

    Физические параметры (скорость, технология Ethernet, тип дуплекса) сетевого подключения зависят от используемого оборудования и обычно настраиваются автоматически при подключении компьютера к сети.

    В отдельных случаях несогласованной работы оборудования и драйверов адаптера параметры можно выставить вручную, используя утилиту ethtool. Данная утилита включена в стандартные репозитории Debian; для ее установки достаточно выполнить команду:

    #apt-get install ethtool
    # ethtool eth1 
     Settings for eth1: 
       Supported ports: [ TP ] 
       Supported link modes:   10baseT/Half 10baseT/Full  
                               100baseT/Half 100baseT/Full  
                               1000baseT/Full  
       Supports auto-negotiation: Yes 
       Advertised link modes:  10baseT/Half 10baseT/Full  
                               100baseT/Half 100baseT/Full  
                               1000baseT/Full  
       Advertised auto-negotiation: Yes 
       Speed: 1000Mb/s 
       Duplex: Full 
       Port: Twisted Pair 
       PHYAD: 0 
       Transceiver: internal 
       Auto-negotiation: on 
       Supports Wake-on: umbg 
       Wake-on: d 
       Current message level: 0x00000007 (7) 
       Link detected: yes

    Вывод содержит информацию о поддерживаемых технологиях Ethernet, автоматическом определении сети, текущей скорости передачи, дуплексе и т. д.

    # ethtool -i eth1 
     driver: e1000 
    version: 7.3.20-k2-NAPI 
     firmware-version: N/A 
     bus-info: 0000:00:08.0
    # ethtool -s eth1 speed 10 duplex half

    Ключевые термины

    Локальная сеть ( LAN - Local Area Network) — высокоскоростная сеть передачи данных, занимающая небольшую территорию.

    Ethernet — группа технологий уровня доступа к сети, использующих в качестве среды передачи витую пару и оптоволоконный кабель.

    Физический адрес ( MAC-адрес, Media Access Control) — 48-битный номер, присваиваемый сетевому адаптеру и используемый для адресации на уровне доступа к сети.

    Коммутатор — многопортовое устройство уровня доступа к сети, осуществляющее пересылку Ethernet - фреймов между портами на основе информации, извлекаемой из заголовков фреймов, а также поддерживаемых таблиц, определяющих направление пересылки (таблиц коммутации).

    Дуплекс — режим работы приемопередающего устройства, при котором устройство может передавать и получать информацию одновременно.

    Краткие итоги

  • Группа технологий Ethernet на основе витой пары и оптоволоконного кабеля широко используется для построения локальных (и не только) сетей.
  • Сетевой адаптер обычно обрабатывает те фреймы, в адресе получателя которых указан его адрес или широковещательный адрес, а все остальные игнорирует.
  • Коммутатор Ethernet в рамках широковещательного домена согласно собственной таблице коммутации пересылает фреймы между узлами, подключенными к его портам.
  • Для управления физическими интерфейсами применятся команда ip link из пакета iproute2 (справку по синтаксису данной команды, а также других можно получить с помощью подсистемы помощи, например man ip). Также сетевые параметры можно изменять с помощью команды ifconfig пакета net-tools.
  • Для настройки характеристик физического подключения (скорость, технология, тип дуплекса используется команда ethtool.
  • Упражнения

    В среде ) и выполните следующие задания:

  • Определить MAC-адрес сетевого адаптера виртуальной машины.
  • Отключите сетевой интерфейс.
  • Включите сетевой интерфейс.
  • Установите другой MAC-адрес для сетевого адаптера.
  • Вернуться к учебному плану