Команда ifconfig и маршрутизация

Сентябрь26

 marshrutizaciya

 

    В качестве аргументов команда 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 задает сетевую маску и широковещательный адрес.

# 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

    Каждая запись таблицы маршрутизации состоит из нескольких полей содержащих такую информацию, как, например, конечный пункт маршрута и тип используемого интерфейса. Поля таблицы маршрутизации перечислены в следующей таблице.

Поле
Описание
Destination IP-адрес конечного пункта маршрута
Gateway IP-адрес или хост-имя шлюза, используемого на данном маршруте; символ * говорит о том, что шлюз в сети не используется
Genmask Маска сети маршрута
Flags Тип или состояние маршрута: U=активный, Н=хост, С=шлюз, D=динамический, М=модифицированный
MSS TCP 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

Поделиться в соц. сетях

Метки:
Copyright © 2013-2017. All rights reserved.

Опубликованно Сентябрь 26, 2014 by Feanor184 в категории Linux

Об Авторе

Постигаю Linux, учу Python, пытаюсь программировать)

2 комментарий(ев) к записи “Команда ifconfig и маршрутизация

  1. Timur

    я правильно понимаю, что если мой сетевой интерфейс eth1, то конфигурируем его командой ifconfig ethO ?

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

=

Перед тем, как оставить комментарий, убедитесь, что вы ознакомились с правилами комментирования этого блога.