Руководство администратора сети в ОС Linux


Ethernet интерфейсы


Конфигурирование интерфейса Ethernet, идет почти также как и интерфейса loopback, он только требует больше параметров когда Вы используете подсети.

В Виртуальной Пивоварне, мы разбивали на подсети IP сеть, которая была первоначально класс B. При установке интерфейса для требовалось бы написать:

# ifconfig eth0 vstout netmask 255.255.255.0

Эта запись назначает eth0 интерфейсу IP адрес vstout (191.72.1.2). Если бы мы опустили netmask, ifconfig вывел бы netmask из класса сети, что привело бы к netmask 255.255.0.0. Теперь быстренько проверим:

# ifconfig eth0 eth0 Link encap 10Mps Ethernet HWaddr 00:00:C0:90:B3:42 inet addr 191.72.1.2 Bcast 191.72.1.255 Mask 255.255.255.0 UP BROADCAST RUNNING MTU 1500 Metric 1 RX packets 0 errors 0 dropped 0 overrun 0 TX packets 0 errors 0 dropped 0 overrun 0

Вы можете видеть что ifconfig автоматически устанавливает широковещательный адрес (поле Bcast) равный обычному значению, которое является номером сети хостов с битами хоста равными 1. Также, размер передаваемых сообщений (для данного интерфейса устанавливается максимальный размер Ethernet пакета) был установлен равным максимальному значению 1500 байтов. Все эти значения могут быть исправлены специальными опциями, которые было описаны позже.

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

# route add -net 191.72.1.0

Сначала это смотрится как волшебство, потому что это действительно не очевидно как route обнаруживает, которые сети связываются с помощью каких интерфейсов. Однако, уловка довольно проста: ядро проверяет все интерфейсы которые были отконфигурированы и сравнивает адрес места назначения (в этом случае 191.72.1.0) с сетевой частью адреса интерфейса. Единственный интерфейс, который соответствует данному адресу, -- eth0.

Теперь, что такое -net опция? Она используется, потому что route может работать с маршрутами к сетям и с маршрутам к отдельным хостам (как Вы видели в localhost). Когда route получает адрес в dotted quad стандарте, он пытается предположить принадлежит ли этот адрес сети или хосту, проверяя биты части хоста. Если хост часть адреса - ноль, маршрут предполагает, что это обозначает сеть, в противном случае, что это адрес хоста.




- Начало -  - Назад -  - Вперед -