141001 г.Мытищи МО
Ул.Институтская д:1 ком:101
(095) 588-32-09, 588-55-62
E-mail: lscs@mgul.ac.ru

Московский Государственный Университет Леса
Сервер Лаб. Космической информатики каф.ВТ

 
 

Оглавление.

Сетевые интерфейсы и маршруты: команды ifconfig и route

- Утилиты Netcfg и Lisa.
- Команда ifconfig.
- Маршрутизация.

    Соединение с сетью система устанавливает посредством конкретно аппаратного интерфейса, например Ethernet-платы или модема. Даннь. проходящие через этот интерфейс, направляются в сеть. Команда ifconfig позволяет конфигурировать сетевые интерфейсы, а команда route обеспечивает необходимую маршрутизацию. Те же операции конфигурирования сетевых интерфейсов, которые выполняются с помощью команд ifconfi и route, в системе Caldera Network Desktop можно реализовать, воспользм вавшись окном NetCfg утилиты netcfg. Если вы конфигурируете интерфейс с помощью утилиты netcfg, то прибегать к помощи команд ifconfig и route уже не нужно. Если же вы работаете в другой Linux-системе, попробуйте воспользоваться утилитой netconfig, которая выполняет те же задачу что и netcfg. Однако при желании можно конфигурировать интерфейс непосредственно с помощью команд ifconfig и route.
    При каждом запуске системы сетевые интерфейсы и таблицы маршрутизации необходимо конфигурировать заново. Эта задача может решаться автоматически на этапе начальной загрузки - поместите команды ifconfig и route для каждого интерфейса в файл инициализации /etc/re.d/init.d/lnet, который выполняется каждый раз, когда система запускается. Если сетевые интерфейсы конфигурируются утилитой netcfg в системе Caldera Network Desktop, то соответствующие команды ifconfig и route автоматически добавляются, в файл /etc/rc.d/imt.d/inet. Если же утилиту netcfg вы не задействовали, эти команды придется ввести в файл инициализации самостоятельно.

Утилиты Netcfg и Lisa

    Самый простой способ создания сетевого интерфейса - использовать одну из программ конфигурирования, Lisa или netcfg. Чтобы использовать программу Lisa, введите в командной строке команду lisa и перейдите меню System Configuration/Network Configuration. Затем можно выбрать элемент Configure General Network Services для ввода адресов сервер доменных имен или ввести хост-имя.
    Для настройки сетевого интерфейса можно также воспользоваться прграммой netcfg с рабочего стола пользователя root Войдите в бюджет root и запустите рабочий стол командой startx. Вы увидите пиктограмму с надписью netcfg Дважды щелкните на ней, и появится окно с перечнем всех сетевых интерфейсов С помощью netcfg можно изменять и расширять конфигурацию сетевого соединения.
    В окне NetCfg представлена информация, относящаяся к интерфейсам, серверам имен и хост-компьютерам. Данные, относящиеся к каждой из этих групп, находятся в отдельном окне, имеющем свои кнопки В окне Interface дается список задействованных интерфейсов С помощью кнопок, расположенных в нижней части этого окна, можно добавлять, конфигурировать, активизировать и деактивизировать интерфейсы. При вводе нового интерфейса открывается еще одно окно с полями, предназначенными для ввода необходимой информации. В частности, здесь следует указать имя интерфейса и его IP-адрес После закрытия этого окна вы увидите, что запись для данного интерфейса появилась в окне Interface.     В окне Nameserver перечислены все текущие серверы имен. С помощью кнопок Add и Remove здесь можно добавлять новые серверы имен и удалять старые Любая запись, которую вы здесь делаете, автоматически заносится в файл /etc/resolv.conf В нижнем окне дается список хост-компьютеров с их именами и IP-адресами Это те компьютеры, с которыми у вашей системы есть соединение. С помощью , кнопок, расположенных под этим окном, можно вводить и удалять имена хост-компьютеров, а также редактировать их. Изменения и новые записи заносятся в файл /etc/hosts.
    Можно также изменить хост-имя своего компьютера. Выберите в меню NetCfg элемент hostname. Система пригласит ввести новое хост-имя. Введенное вами имя заменит предыдущее в файле /etc/hostname.
    Внеся все необходимые изменения, щелкните на кнопке Save Configulftion. Введенная вами новая информация будет занесена в соответствующие файлы конфигурации сетевых соединений.

Команда ifconfig

    В качестве аргументов команда ifconfig использует имя интерфейса и IP-адрес. Кроме того, она имеет ряд опций. Команда ifconfig используется для того, чтобы присвоить заданному сетевому интерфейсу указанный IP-адрес. Таким образом она дает вашей системе знать о том, что данный интерфейс существует и что она обращается к нему по указанному IP-адресу. Кроме того, можно указать, каким адресом является IP-адрес - адресом хост-компьютера или адресом сети. Вместо IP-адреса можно использован доменное имя при условии, что оно указано вместе с IP-адресом в файле /etc/hosts . Команда ifconfig имеет следующий синтаксис:
# ifconfig интерфейс -хост_сеть_флаг адрес опции     Флаг -хост_сеть_флаг может принимать одно из двух значений - -host или -net. Флаг -host свидетельствует о том, что данный IP-адрес является адресом хост-компьютера, a -net означает, что данный IP-адрес являете адресом сети. По умолчанию принимается флаг -host. У команды ifconfig есть несколько опций, которые задают различные характеристики интерфейса, например максимальное число байтов, которое он может передать за оди раз (mtu), широковещательный адрес и т.д. Опция up активизирует интер фейс, а опция down деактивизирует его. В следующем примере коман ifconfig используется для конфигурирования интерфейса Ethernet.
# ifconfig ethO 204.32.168.56     Для такой простой конфигурации, как эта, ifconfig автоматически создаёт стандартный широковещательный адрес и маску сети. Стандартный широковещателъный адрес - это сетевой адрес с машинной частью, указанной как 255. Напомним, что стандартная маска сети - 255.255.255.0. Если же вы подключены к сети с другой сетевой маской и конкретным широковещательным адресом, их необходимо указать в командной строке ifconfig . Широковещательный адрес указывается в опции broadcast, а маска сети - в опции netmask. Опции команды ifconfig перечислены в табл. 20.4. В следующее примере ifconfig задает сетевую маску и широковещательный адрес.
# ifconfig eth0 204.32.168.56 broadcast 204.128.244.127 netmask 255.255.255.0     Интерфейсы типа "точка-точка", такие как PLIP (межсетевой протокол для параллельного канала), SLIP (межсетевой протокол для последовательного канала) и РРР (протокол "точка-точка"), требуют включения в команде ifconfig опции pointopoint. Имя интерфейса PLIP обозначается словом plip и номером; например, plip0 - это первый интерфейс PLIP. Интерфейсы SLIP имеют имена slip0, slip1 и т.д., а интерфейсы РРР - имена ррр0, ррр1 и т.д. Двухточечные интерфейсы - это интерфейсы, работающие, как правило, между двумя хост-компьютерами, например между двумя машинами, соединенными через модем. Устанавливая опцию pointopoint, необходимо указать IP-адрес хост-машины. Позже вы узнаете, как с помощью интерфейсов SLIP и РРР можно связываться по телефонной линии с провайдером Internet и устанавливать с ним соединение.
    В следующем примере показано, как конфигурируется интерфейс PLIP, который соединяет компьютер, имеющий IP-адрес 199.35.209.72, с компьютером, адрес которого 204.166.254.14. Если бы в файле /etc/hosts были указаны доменные имена этих систем, то вместо IP-адресов можно было бы использовать их доменные имена.
# ifconfig plip0 199.35.209.72 pointopoint 204.166.254.14     В случае необходимости можно с помощью команды ifconfig конфигурировать закольцовывающий интерфейс. Этот интерфейс имеет имя и специальный IP-адрес, 127.0.0.1. Процедура конфигурирования закольцовывающего интерфейса показана в следующем примере.
# ifconfig 1о 127.0.0.1     Команда ifconfig очень полезна для проверки статуса интерфейса. Если ввести ее только с именем интерфейса, то ifconfig выдаст информацию об этом интерфейсе.
# ifconfig eth0     Чтобы посмотреть, конфигурирован ли закольцовывающий интерфейс, нужно дать команду ifconfig с именем этого интерфейса, :
# ifconfig 1о lo Link encap:Local Loopback inet addr:127.O.O.1 Beast:127.255.255.255 Mask:255.О.О.О UP BROADCAST LOOPBACK RUNNING MTU:2000 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:12 errors:0 dropped:0 overruns:0

Маршрутизация

    Пакет, являющийся частью передаваемых данных, на пути в пункт своего назначения проходит по определенному маршруту. В крупных сетях пакеты передаются из одного компьютера в другой до тех пор, пока не попадут к адресату. Маршрут определяет начальную точку процесса передачи пакета и показывает, в какой компьютер ваша система должна передать пакет, чтобы он достиг пункта назначения. В небольших сетях маршрутизация может осуществляться статически, т.е. маршрут, ведущий от одной системы к другой, строго фиксирован. В более крупных сетях и в Internet маршрутизация осуществляется динамически. Ваша система знает, в какой компьютер пакет должен быть послан вначале. Этот компьютер принимает паке передает его в другой компьютер, который определяет, куда следует передать пакет дальше. При динамической маршрутизации ваша система должна знать очень мало. Статическая маршрутизация может быть очень сложной, поскольку необходимо отслеживать все сетевые соединения.
    Маршруты содержатся в таблице маршрутизации, которая хранится файле /proc/net/route. Чтобы вывести ее на дисплей, нужно дать команду route без аргументов.
# route Kernel routing table Destination Gateway Genmask Flags MSS Window Use Iface loopback * 255.0.0. U 1936 0 12 lo pangol.train.com * 255.255.255.0 U 1936 0 0 eth0     Каждая запись таблицы маршрутизации состоит из нескольких полей содержащих такую информацию, как, например, конечный пункт маршрута и тип используемого интерфейса. Поля таблицы маршрутизации перечислены в следующей таблице.

Поле
Описание
DestinationIP-адрес конечного пункта маршрута
GatewayIP-адрес или хост-имя шлюза, используемого на данном маршруте; символ * говорит о том, что шлюз в сети не используется
GenmaskМаска сети маршрута
FlagsТип или состояние маршрута: U=активный, Н=хост, С=шлюз, D=динамический, М=модифицированный
MSSTCP MSS (Maximum segment size) для маршрута - максимально количество данных, которое может быть передано за один раз
Metric"Стоимость" маршрута (количество переходов до шлюза)
RefКоличество использований маршрута на текущий момент
WindowРазмер окна приема. Наибольшее количество данных, которое принимающая сторона может принять
UseКоличество пакетов, пересланных по данному маршруту
IfaceТип интерфейса, используемого на данном маршруте

    В таблице маршрутизации должна содержаться по крайней мере одна запись, предназначенная для закольцовывающего интерфейса, иначе это интерфейс придется конфигурировать командой route. IP-адрес интерфейс нужно ввести в таблицу до того, как этот интерфейс будет задействован. Адрес добавляется с помощью команды route с опцией add.
route add адрес     В следующем примере показано, как в таблицу маршрутизации вводится IP-адрес закольцовывающего интерфейса.
# route add 127.0.0.1

    Опция add имеет несколько спецификаторов (они указаны на страницах диалогового руководства, посвященных команде route). Если вы добавляете конкретный статический маршрут, то эти спецификаторы понадобятся для ввода таких параметров, как маска сети, шлюз, интерфейс и адрес пункта назначения. Если же интерфейс уже конфигурирован командой ifconfig, то система может получить основную информацию из данных конфигурации интерфейса. Например, чтобы задать маршрут для Ethernet-соединения, которое уже конфигурировано командой ifconfig, нужно лишь ввести спецификатор -net и IP-адрес пункта назначения. С помощью этого адреса ifconfig находит соответствующий интерфейс и на основании этой информации организует маршрут. Задание маршрута для интерфейса Ethernet иллюстрируется следующим примером.

# route add -net 204.32.168.0

    Если система подключена к сети, в таблице маршрутизации должна быть сделана по крайней мере одна запись, задающая маршрут по умолчанию. По этому маршруту пакет посылается в том случае, если все остальные маршруты не могут привести его в пункт назначения. Пункт назначения для такого маршрута задается ключевым словом default.
    Если нужно удалить один из существующих маршрутов, следует вызвать команду ifconfig с опцией del и IP-адресом маршрута, например:

# route del -net 204.32.168.0
Оглавление.