- Настройка интерфейса для IP
- Кольцевой интерфейс (Loopback)
- Интерфейсы Ethernet
- Маршрутизация через шлюз (Gateway)
- Настройка шлюза
- Интерфейс PLIP
- Интерфейсы SLIP и PPP
- Тупой (Dummy) интерфейс
- IP-псевдонимы (IP-Alias)
- Команда ifconfig в Linux
- Linux ifconfig Command
- В этой статье мы рассмотрим, как использовать ifconfig команду.
- Как установить ifconfig
- Установить ifconfig на Ubuntu / Debian
- Установить ifconfig на Centos
- Как использовать ifconfig команду
- Отображение информации о сетевых интерфейсах
- Назначьте IP-адрес и маску сети сетевому интерфейсу
- Включение и отключение сетевого интерфейса
- Включение и отключение беспорядочного режима
- Изменить MTU сетевого интерфейса
- Изменить MAC-адрес сетевого интерфейса
- Вывод
Настройка интерфейса для IP
После установки аппаратных средств, как было объяснено в главе 4, Вы должны дать знать об этом сетевому программному обеспечению. Пара команд используется, чтобы конфигурировать сетевые интерфейсы и инициализировать таблицу маршрутизации. Эти задачи выполняются обычно в скрипте инициализации сети при загрузке системы. Эти команды называются ifconfig и route .
Эта команда связывает адрес ip-address с интерфейсом interface и активизирует его. Все остальные параметры устанавливаются по умолчанию. Например, маска подсети по умолчанию получена из сетевого класса IP-адреса ( 255.255.0.0 для класса B). ifconfig описан более подробно в конце этой главы.
Аргументы add и del определяют добавлять или удалять маршрут target . Аргументы -net и -host определяют тип маршрута: к сети или к компьютеру (второй вариант принимается по умолчанию). Аргумент if определяет, к какому сетевому интерфейсу относится команда.
Кольцевой интерфейс (Loopback)
Как Вы можете видеть, интерфейс loopback получил сетевую маску 255.0.0.0 , так как адрес 127.0.0.1 принадлежит к классу A.
Здесь тоже можно использовать localhost вместо IP-адреса, если он задан в файле /etc/hosts .
Затем вы должны проверить правильность работы, например, используя ping. ping сетевой эквивалент звукового устройства и используется для проверки того, доступен ли IP-адрес и измерения интервала времени между посылкой пакета и получением ответа. Время, требуемое для этого, часто называется round-trip time:
При вызове ping он будет испускать пакеты, пока пользователь его не остановит. ^C отмечает место, где я нажал Ctrl-C для прерывания.
Вышеупомянутый пример показывает, что пакеты доставлены к 127.0.0.1 , и ответ пришел к ping почти мгновенно. Это показывает, что вы преуспели во введении вашего первого сетевого интерфейса.
Если вывод который вы получаете от ping не походит на показанный выше, вы нарвались на неприятности. Проверьте ошибки в установочных файлах. Проверьте чтобы ifconfig и route, которые вы используете, были совместимы с ядром, которым Вы пользуетесь, и что ядро вообще компилировалось с разрешенной сетью (если сеть запрещена, вы увидите это по отсутствию каталога /proc/net ). Если Вы получаете сообщение об ошибке, «Network unreachable», значит вы неправильно использовали команду route. Удостоверьтесь, что используете тот же самый адрес, что дали ifconfig.
Описанных выше шагов достаточно, чтобы использовать сетевые приложения на автономном компьютере. После добавления вышеупомянутых строк к скрипту запуска, вы можете перезагрузить вашу машину и попытаться использовать различные приложения. Например, telnet localhost должен установить telnet-соединение с вашей машиной и вывести приглашение login: .
Однако, интерфейс loopback полезен не только как пример в книгах о сетях или как система отладки, он фактически используется некоторыми приложениями в течение нормальной работы. Поэтому вы всегда должны конфигурировать его независимо от того, присоединена ли ваша машина к сети или нет.
Интерфейсы Ethernet
Конфигурирование интерфейса Ethernet, идет почти также, как и интерфейса loopback, он только требует больше параметров когда вы используете подсети.
Вы можете видеть, что ifconfig автоматически устанавливает широковещательный адрес (поле Bcast ), равный обычному значению, которое является номером сети с битами хоста, равными 1. Также размер передаваемых сообщений (для данного интерфейса устанавливается максимальный размер Ethernet-пакета) был установлен равным максимальному значению в 1500 байт. Все эти значения могут быть исправлены специальными опциями, которые описаны ниже.
Сначала это смотрится как волшебство, потому что, действительно, не очевидно, как route обнаруживает, какие сети с какими интерфейсами связаны. Однако, уловка довольно проста: ядро проверяет все интерфейсы, которые были отконфигурированы, и сравнивает адрес места назначения (в этом случае ( 172.16.1.0 ) с сетевой частью адреса интерфейса. Единственный интерфейс, который соответствует данному адресу, eth0 .
Теперь подумаем, что такое опция -net ? Она используется, потому что route может работать с маршрутами к сетям и с маршрутам к отдельным машинам (как вы видели в localhost ). Когда route получает адрес в стандарте с точками, он пытается предположить, принадлежит ли этот адрес сети или машине, проверяя биты части машины. Если эта часть адреса ноль, route предполагает, что он обозначает сеть, в противном случае, что адрес машины. Поэтому route решил бы, что 172.16.1.0 означает адрес машины: он не может знать, что мы используем подсети. Поэтому мы должны явно сообщить, что это адрес сети, что делается опцией -net .
Детальное значение этих полей объясняется ниже. Колонка Flags содержит список флагов, устанавливаемых для каждого интерфейса. U всегда установлен для активных интерфейсов, а H сообщает, что адрес места назначения обозначает машину (хост). Если флаг H установлен для маршрута, который вы считаете сетевым маршрутом, тогда вы должны использовать опцию -net с командой route. Чтобы проверить, используется ли маршрут, который вы ввели, посмотрите на поле Use , которое находится между двумя сообщениями ping.
Маршрутизация через шлюз (Gateway)
В предыдущем разделе я рассмотрел только случай введения хоста с единственным Ethernet-интерфейсом. Достаточно часто приходится сталкиваться с сетями, соединенными с помощью gateway. Этот gateway может просто связывать два или больше Ethernet, а может обеспечивать связь с внешним миром (например, с Internet). Чтобы использовать сервис gateway, вы должны обеспечить сетевому уровню дополнительную информацию о маршрутизации.
Например, Ethernet-сети Virtual Brewery и Virtual Winery связаны через такой gateway, а именно хост vlager . Предположим, что vlager уже был отконфигурирован, и нам осталось только добавить новую запись в таблицу маршрутизации vstout , которая сообщает его ядру, что он может достичь всех хостов сети Winery через vlager . Соответствующее описание маршрута показано ниже. Ключевое слово gw сообщает, что следующий аргумент обозначает gateway:
Конечно, любой хост в сети Winery, с которым вы желаете работать должен иметь соответствующую запись в таблице маршрутизации для сети Brewery, иначе вы сможете только послать данные, но ответа не получите.
Сетевое имя default (по умолчанию) связано с адресом 0.0.0.0 , что обозначает маршрут, установленный по умолчанию. Вы не должны добавлять это имя к /etc/networks , потому что это построено в route.
Если используя ping, вы обнаружили большой процент потерь пакетов при их проходе через несколько gateway, это может говорить об очень большой нагрузке на сеть. Потеря пакетов в основном происходит не из-за технических проблем, а скорее, благодаря временной избыточной нагрузке на направляющие хосты, которые из-за этого задерживают или даже выбрасывают поступающие пакеты.
Настройка шлюза
Отконфигурировать машину для передачи пакетов между двумя сетями Ethernet довольно просто. Вернемся к vlager , который оборудован двумя Ethernet-платами, каждая из них связана с одной из двух сетей. Все, что вы должны сделать, это сконфигурировать оба интерфейса отдельно, дав им их IP-адреса.
Если эта последовательность не работает, проверьте, включена ли в ядре поддержка IP forwarding. Для этого посмотрите первое число во второй строке файла /proc/net/snmp , оно должна быть 1 .
Интерфейс PLIP
При использовании PLIP-связи для соединения двух машин существуют лишь небольшие отличия от того, что вы должны сделать при использовании Ethernet. Вышеупомянутая связь называется point-to-point (точка с точкой), потому что она соединяет только два хоста («точки») в противоположность широковещательным ( broadcast) сетям.
Интересно, что интерфейс plip1 на vlager не обязан иметь отдельный IP-адрес, но если хочется, можете дать ему адрес 172.16.1.1 .
Гораздо лучше иметь дело с временными маршрутами, используя динамическую маршрутизацию. Один из способов сделать это состoит в запуске демона gated, который вы должны установить на каждом хосте в сети, чтобы он распространял информацию о маршрутах динамически. Самый легкий путь, однако, состoит в том, чтобы использовать proxy ARP. С proxy ARP vlager будет отвечать на любой ARP-запрос для vlite , посылая собственный Ethernet-адрес. Результат: все пакеты для vlite будут закачивать на vlager , который будет передавать их на laptop. Мы будем возвращаться к proxy ARP позже.
Текущие версии net-tools имеют утилиту plipconfig, которая позволяет настроить параметры PLIP timing. IRQ для порта принтера можно задать командой ifconfig.
Интерфейсы SLIP и PPP
Хотя SLIP и PPP всего лишь простые point-to-point связи, подобные PLIP-соединениям, о них есть дополнительная информация. Обычно при установке SLIP-соединения требуется дозвониться до удаленной машины через модем и отрегулировать последовательную линию для SLIP. PPP используется подобным образом. Инструменты, требуемые для создания SLIP или PPP-связи, будут описаны в главе 7 и главе 8.
Тупой (Dummy) интерфейс
Фиктивный интерфейс Dummy немного экзотический, но довольно полезный. Он наиболее удобен для автономных хостов и машин, которые связаны с сетью через модем. Фактически, последние большую часть времени также являются автономными хостами.
Проблема автономных хостов в том, что они имеют только одно активное сетевое устройство, loopback, которому обычно назначен адрес 127.0.0.1 . Но в некоторых случаях, вы должны послать данные к «официальному» IP-адресу локального хоста. Например, рассмотрим laptop vlite , который был отсоединен от сети. Приложение на vlite может понадобиться послать данные другому приложению на том же самом хосте. Поиск vlite в файле /etc/hosts выдает IP-адрес 172.16.1.65 , таким образом приложение пытается послать данные этому адресу. Поскольку интерфейс loopback в настоящее время единственный активный интерфейс на машине, ядро не имеет никаких идей относительно этого адреса! Как следствие, ядро отказывается от пакета и возвращает приложению ошибку.
IP-псевдонимы (IP-Alias)
Новые ядра поддерживают свойство, которое может полностью заменить dummy-интерфейс, и имеет другие полезные функции. IP Alias позволяет конфигурировать много IP-адресов на одно физическое устройство. В самом простом случае Вы могли бы копировать функцию dummy-интерфейса, конфигурируя адрес как псевдоним для loopback, и полностью избежать применения интерфейса dummy. В более сложных случаях Вы могли бы конфигурировать ваш компьютер, чтобы он выглядел как несколько машин с разными IP-адресами. Эта конфигурация иногда называется «Virtual Hosting».
Каждый псевдоним может обрабатываться как отдельное устройство, однако, оно будет совместно использовать аппаратные средства с другим интерфейсом.
Источник
Команда ifconfig в Linux
Linux ifconfig Command
В этой статье мы рассмотрим, как использовать ifconfig команду.
Как установить ifconfig
Команда ifconfig устарела, заменена ip на новые дистрибутивы Linux и может не входить в их состав.
Если вы получаете сообщение об ошибке «ifconfig: command not found», это означает, что пакет, содержащий команду, не установлен в вашей системе.
Установить ifconfig на Ubuntu / Debian
В дистрибутивах Linux на основе Ubuntu и Debian выполните следующую команду для установки ifconfig :
Установить ifconfig на Centos
Чтобы установить ifconfig на CentOS и другие дистрибутивы Linux на основе RHEL, введите:
Как использовать ifconfig команду
Базовый синтаксис ifconfig команды показан ниже:
- interface — это имя сетевого интерфейса.
- address — IP-адрес, который вы хотите назначить.
Конфигурации, установленные с помощью ifconfig команды, не являются постоянными. После перезапуска системы все изменения теряются. Чтобы сделать изменения постоянными, вам необходимо отредактировать файлы конфигурации конкретного дистрибутива или добавить команды в сценарий запуска.
Только root или пользователи с привилегиями sudo могут настраивать сетевые интерфейсы.
Отображение информации о сетевых интерфейсах
При вызове без каких-либо опций ifconfig отображает информацию о конфигурации всех сетевых интерфейсов и связанный IP-адрес:
Вывод включает информацию обо всех активных и неактивных сетевых интерфейсах:
Чтобы отобразить информацию о конфигурации любого конкретного сетевого интерфейса, напишите имя интерфейса после команды:
Результат будет выглядеть примерно так:
Назначьте IP-адрес и маску сети сетевому интерфейсу
С помощью этой ifconfig команды вы можете назначить IP-адрес и сетевую маску сетевому интерфейсу.
Используйте следующий синтаксис для назначения IP-адреса и сетевой маски:
Например, чтобы назначить интерфейсу IP-адрес 192.168.0.101 и сетевую маску , вы должны запустить: 255.255.0.0 eth0
Вы также можете назначить дополнительный IP-адрес сетевому интерфейсу, используя псевдоним интерфейса:
Включение и отключение сетевого интерфейса
Иногда может потребоваться сбросить сетевой интерфейс. В этом случае ifconfig команда может использоваться для включения или отключения сетевого интерфейса.
Чтобы отключить активный сетевой интерфейс, введите имя устройства и установите down флажок:
Чтобы включить неактивный сетевой интерфейс, используйте up флаг:
Включение и отключение беспорядочного режима
Беспорядочный позволяет сетевому интерфейсу получать доступ и просматривать все пакеты в сети. Вы можете использовать ifconfig команду для включения и отключения беспорядочной связи на определенном сетевом устройстве.
Чтобы включить неразборчивый режим в сетевом интерфейсе, введите promisc флаг после имени устройства:
Чтобы отключить беспорядочный режим, используйте -promisc флаг
Изменить MTU сетевого интерфейса
MTU «Максимальный блок передачи» позволяет ограничить размер пакетов, передаваемых через интерфейс.
Вы можете изменить значение MTU, используя синтаксис:
Например, установить значение MTU сетевого интерфейса eth0 к 500 , выполнить следующую команду:
Изменить MAC-адрес сетевого интерфейса
MAC «Управление доступом к среде» — это физический адрес, который однозначно идентифицирует устройства в сети.
Чтобы изменить MAC-адрес сетевого интерфейса, используйте hw ether флаг для установки нового MAC-адреса:
Вывод
Мы показали вам, как использовать ifconfig команду для настройки и отображения информации о сетевом интерфейсе. Для получения дополнительной информации ifconfig посетите страницу руководства по команде ifconfig .
Источник