Стоимость "обучения" |
Доступ к локальной сети средствами 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 ] .
# 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Листинг 3.1. Вывод информации о сетевых интерфейсах (ip link show):
Вывод данной команды содержит пронумерованный список интерфейсов, присутствующих в системе. Информация об интерфейсе содержит две строки: в первой указывается имя интерфейса, установленные флаги состояния, 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Листинг 3.2. Уменьшение MTU сетевого интерфейса с помощью ip link set mtu:
Примечание: Все произведенные изменения командами, описываемые в данном разделе, будут действительны до перезагрузки компьютера или перезапуска сетевой подсистемы скриптами инициализации. Как редактировать постоянные сетевые конфигурации, описано в "Постоянные сетевые конфигурации (на примере Debian/GNU Linux)" . "Постоянные сетевые конфигурации".
# 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Листинг 3.3. Смена MAC-адреса сетевого интерфейса с помощью ip link set address
Используя ip link, можно включить или отключить сетевой интерфейс пример 3.4
# ip link set down eth1 # ip link set up eth1Листинг 3.4. Выключение (down) и включение (up) сетевого интерфейса с помощью ip link
Ниже приводится пример использования команды ifconfig из пакета net-tools для управления сетевым интерфейсом пример 3.5.
# 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)Листинг 3.5. Использование ifconfig для управления сетевым интерфейсом