Для получения информации, программа ifconfig может вызываться простым пользователем. Файл ifconfig находится в каталоге /sbin, поэтому, чаще всего, при вызове нужно указывать абсолютное путевое имя.
При вызове без параметров, программа выводит на экран информацию обо всех активных (up) интерфейсах. Если указано имя интерфейса, но отсутствуют options, выводится информация только о нем одном.
Формат вывода информации о интерфейсе программой ifconfig:
Характеристики канального уровня Канальный уровень Link encap. Аппаратный MAC-адрес устройства HWaddr Характеристики сетевого уровня IP-адрес интерфейса inet addr; широковещательный адрес интерфейса Bcast; маска подсети интерфейса Mask Флаги, метрика и MTU Список установленных флагов интерфейса: включён UP; принимает широковещательные пакеты BROADCAST; принимает групповые пакеты MULTICAST. Среди списка установленных флагов может присутствовать слово PROMISC, означающее, что интерфейс работает в неразборчивом режиме. Установленный размер максимального блока, передаваемого через интерфейс MTU и метрика интерфейса Metric. Информация о полученных пакетах RX Число пакетов packets, ошибок errors, отброшенных пакетов dropped, переполнений overruns. Такое назначение полей соответствует только сетям Ethernet. В других сетях, смысл может отличаться. Информация об отправленных пакетах Число пакетов packets, ошибок errors, отброшенных пакетов dropped, переполнений overruns, потерь несущей carrier, коллизий collisions ; объем буфера передачи txqueuelen. Такое назначение полей соответствует только сетям Ethernet. В других сетях, смысл может отличаться. Объем переданных данных Количество байтов полученных RX bytes и отправленных TX bytes через интерфейс Аппаратные параметры Номер линии IRQ Interrupt и адрес памяти Base address
Если в командной строке ifconfig указаны options, выполняется настройка интерфейса. В процессе настройки можно изменить режим работы интерфейса, настройки IP-адреса и другие характеристики.
Перед списком опций в командной строке ifconfig следует обязательно указать имя интерфейса, к которому они применяются. В команде может быть указано имя, не больше чем одного интерфейса.
Задаваемые в командной строке options выглядят как набор ключевых слов с дополнительными параметрами. Последовательность ключевых слов в строке не имеет значения, хотя и существует общепринятый порядок.
[править] Аргументы командой строки ifconfig
При изменении IP-адреса интерфейса автоматически изменяются значения его маски и широковещательного адреса. Если параметры netmask и broadcast не указаны явно, соответствующие значения вычисляются исходя из класса IP-адреса. Например, для IP-адреса 200.200.200.200, который относится к диапазону адресов класса C, значения сетевой маски и широковещательного адреса будут соответственно равны 255.255.255.0 и 200.200.200.255, а для адреса 1.2.3.4 (адрес класса A), равны соответственно 255.0.0.0 и 1.255.255.255.
Более тонкую настройку интерфейса можно произвести при помощи утилиты ip
[править] Пример использования ifconfig
Просмотр информации обо всех интерфейсах
Просмотр информации об интерфейсе eth0:
Назначить IP-адрес 10.0.0.1 первой Ethernet-карте:
Интерфейс не включается автоматически. Если необходимо включить интерфейс, в командной строке следует явно указать параметр up:
Значения широковещательного адреса и сетевой маски будут определены автоматически на основе информации о классе адреса. Если необходимо явно задать маску, например, ограничить размер сети 14 хостами (4 бита на хост), нужно использовать команду:
Запретить использование ARP на интерфейсе eth0:
Перевести интерфейс в неразборчивый режим:
[править] Создание сетевого интерфейса
Интерфейс создается ядром автоматически при обнаружении устройства. Для того чтобы устройство было доступно, необходимо включить его драйверную поддержку в состав ядра. Это может быть сделано в момент сборки ядра или при работе системы с использованием механизма загружаемых модулей.
Если устройств, обеспечивающих одинаковый тип интерфейса, несколько, их автоматическое определение не производится.
При использовании нескольких устройств одного типа нужно произвести их ручную настройку, то есть явным образом назначить интерфейс каждому из них. Это необходимо, поскольку при автоматическом определении устройств порядок привязки к интерфейсам непредсказуем, что недопустимо.
Не путайте интерфейсы и устройства системы. Интерфейсам не соответствуют никакие специальные файлы в каталоге /dev
Вновь созданный интерфейс является ненастроенным: он выключен и к нему не привязан никакой IP-адрес. Для того чтобы ввести интерфейс в работу, нужно провести его настройку и включить (поднять) его при помощи команды ifconfig.
При настройке интерфейса обычно настраиваются следующие параметры:
Эти параметры задаются одной командой, которая при этом, как правило, сразу и включает интерфейс.
[править] Настройка интерфейсов при загрузке системы
Настройки интерфейса, выполненные при помощи ifconfig, автоматически пропадают при выключении компьютера. После того как ядро Linux загружено опять, всю настройку нужно выполнять снова. Обычно она производится автоматически специальными скриптами при загрузке компьютера.
Рассмотренная ниже процедура автоматической настройки сетевых интерфейсов при загрузке выглядит так только в RedHat-based системах. В Slackware и Debian сетевые интерфейсы настраиваются несколько иначе.
Настройка интерфейсов производится скриптом /etc/rc.d/init.d/network, который автоматически вызывается при переходе на 2, 3, 4 или 5 уровень выполнения. Скрипт network при вызове с параметром start поднимает интерфейсы, т.е. выполняет настройку и включение всех описанных интерфейсов, после чего настраивает статическую маршрутизацию.
Конфигурационные файлы интерфейсов могут быть созданы вручную или при помощи псевдографических и графических инструментов настройки, таких как netconfig или neat
Параметры интерфейса в файле ifcfg.
DEVICE Имя устройства ONBOOT Нужно ли инициализировать интерфейс при загрузке (yes | no) BOOTPROT При динамической настройке тип протокола, при помощи которого должен быть сконфигурирован интерфейс ( bootp | dhcp ) BOOTP Интерфейс необходимо настроить с использованием протокола удаленной загрузки BOOTP IPADDR IP-адрес, который должен быть присвоен интерфейсу NETMASK Маска подсети IP-адреса интерфейса NETWORK Адрес сети интерфейса BROADCAST Широковещательный адрес интерфейса
Значения NETMASK, NETWORK, BROADCAST могут быть вычислены скриптом ifup автоматически при помощи программы ipcalc, поэтому, если они соответствуют классу IP-адреса, указывать явно их не обязательно
Для настройки интерфейсов во время загрузки компьютера используется скрипт ifup, который принимает в качестве аргумента командной строки имя интерфейса interface.
Он читает конфигурационный файл interface или, если он отсутствует, файл из каталога /etc/sysconfig/networking/default. В крайнем случае, если не найден ни один из этих файлов читается конфигурация из ifcfg-interface. После этого скрипт производит настройку интерфейсов при помощи утилиты ip. Настраиваются не только интерфейсы сами по себе, но и необходимые маршруты для обращения к сетям, непосредственно доступным через интерфейс.
Скрипты ifup и ifdown могут вызываться не только во время загрузки компьютера или при смене уровня выполнения, но и в ходе нормальной работы, когда нужно вручную поднять или опустить интерфейс.
Перезапуск интерфейса eth0:
Файлы ifup и ifdown в каталоге /etc/sysconfig/network-scripts являются символическими ссылками на файлы ifup и ifdown в каталоге /sbin. Поэтому, при вызове вручную можно просто воспользоваться командами ifup и ifdown.
При вызове в ходе начальной загрузки, скрипту ifup передается дополнительный аргумент boot, который сообщает, что интерфейс нужно поднимать только в том случае, если в файле его конфигурации параметр ONBOOT не установлен в no.
[править] Файл конфигурации eth0
Вот пример наиболее распространённой конфигурации Ethernet-интерфейса:
В данном случае файл описывает интерфейс eth0, которому назначен IP-адрес из диапазона рекомендованного для локальных сетей 10.0.0.188. Поскольку адрес принадлежит классу A, а необходимо чтобы под сетевую часть было отведено 24 бита, явным образом задана сетевая маска NETMASK, адрес сети NETWORK и широковещательный адрес BROADCAST.
Источник
Что такое сетевые интерфейсы
Для любого кто имеет дело с обслуживанием серверов необходимо базовое понимания сетевых технологий. Это поможет вам не только с легкостью публиковать свои услуги в интернет, но и также быстро находить и устранять проблемы связанные с сетевыми технологиями. Все, что я буду описывать, относится ко всем операционным системам и поможет в настройке различных сетевых служб на вашем сервере.
Глоссарий
Для начала перечислим основные сетевые термины, с которыми вы будете сталкиваться не только на протяжении этой статьи, но и в любой литературе связанной с сетевыми технологиями.
Пакет включает в себя заголовок, в котором содержится информация о пакете, а именно исходная точка, пункт назначения, точка во времени, а также количество необходимых сетевых переходов и так далее. Основная доля пакета содержит в себе именно передаваемые данные. Обычно она называет телом пакета.
При подключении сетевого интерфейса к WAN, обычно, предполагают, что он доступен из сети интернет.
Конечно, это не окончательный список терминов. По мере углубления мы будет рассматривать и другие термины. На данном этапе достаточно основного набора понятий, который позволит нам понять друг друга при обсуждении последующих тем.
Протоколы сетевого уровня
Хотя, обычно, сети обсуждаются на уровне топологии в горизонтальной плоскости, между узлами она выполнена в вертикальной манере.
То есть, существует целый ряд технологий, построенных поверх друг друга, что обеспечивает более понятную картину соединения. Каждая последующая технология добавляет свой уровень абстракции к исходным данным, что облегчает их использование в приложениях. Так же это позволяет отделить низкоуровневые технологии, что в свою очередь упрощает разработку приложений, работающих с определёнными типами трафика.
Язык, который мы используем для описания того или иного сетевого уровня может значительно отличаться в зависимости от используемой модели. Но путь, который проходят данные, не зависит от выбранной модели.
Данные, отправленные из одной точки, проходят через каждый сетевой уровень сверху вниз. Затем, на самом низком, уровне данные передаются от одного узла к другому. Как только данные поступили в пункт назначения, они поднимаются по уровням снизу вверх.
Каждый уровень добавляет свою “обертку” к данным, полученным от предыдущего уровня. Таким образом, за каждым уровнем закреплен определенный функционал.
Сетевая модель OSI
Модель содержит в себе 7 уровней:
Как видите, существуют различные уровни, которые можно по-разному рассматривать в зависимости от самих данных и заключенного в них функционала.
Модель TCP/IP
Эта модель более абстрактна. Таким образом, она используется чаще всего для описания сетевых уровней.
Интерфейсы
Чаще всего, на вашем сервере будет присутствовать отдельный сетевой интерфейс для каждого Ethernet или беспроводного устройства.
В дополнении ко всеми, у вас появится, интрефейс под названием “петля” (loopback). Он используется для построения связи между приложениями в пределах одной машины. Иногда он называется “lo” интерфейс.
Чаще всего, администраторы используют один интерфейс для связи с сетью интернет, а второй для работы с LAN сетями или VPN.
Протоколы
Сети работают таким образом, что накладывают друг на друга несколько протоколов. Благодаря этому один поток данных может быть передан при помощи нескольких протоколов. Мы обсудим часто используемые протоколы и рассмотрим, когда какой используется. Начнем с низкоуровневых протоколов и поднимемся вверх к более абстрактным уровням.
Уровень управления доступом к среде (Media Access Control)
Этот протокол отвечает за выделения отдельных сетевых устройств. Каждое сетевое устройство имеет свой уникальный адрес (MAC адрес), который задаётся при производстве. Вы можете обратиться к устройству по уникальному MAC адресу, даже если его имя было изменено ранее.
Это, наверное, именно тот протокол из канального уровня, с которым вам чаще всего придется столкнуться.
Протокол IP является основополагающим в работе интернета. IP адреса уникальны для каждой сети и именно они позволяют машинам из одной сети общаться друг с другом. Этот протокол используется на сетевом уровне.
Этот протокол размещает данные внутри пакета. Затем, средствами нижестоящих уровней, он передает эти данные удаленному узлу. На другом конце соединения, он проверят целостность данных, вновь собирает их воедино и отправляет на прикладной уровень.
Этот протокол устанавливает соединение перед передачей данных путем трехэтапного согласования. Это способ установки связи между узлами, при котором определяется метод определения целостности данных.
После передачи данных соединение разрывается путем четырехэтапного согласования. TCP протокол используется в основе WWW, FTP, SSH и email. Можно смело утверждать, что интернета не было бы без этого протокола.
Протокол пользовательских диаграмм. Этот протокол используется на транспортном уровне и часто соседствует с TCP.
Основное различие заключается в том, что UDP устанавливает ненадежное соединение. То есть данные не проверяются на целостность после передачи. Конечно, сначала, такой подход кажется не практичным, но иногда он очень помогает.
Так как проверка данных не требуется, этот протокол работает значительно быстрее. Он не устанавливает соединение, а просто отправляет данные удаленному узлу.
Часто этот протокол используется для получения списка доступных сетевых ресурсов. Так же он не контролирует состояние соединения, то есть довольно легко рассылать данные сразу нескольким клиентам. Он чаще всего используется в VOIP, играх и других приложениях, где скорость работы очень критична.
Протокол передачи гипертекста. Он используется на прикладном уровне и определяет основу веб-соединений.
Он задает ряд функций для управления удаленным содержимым. Например, запросы, GET, POST и DELETE означают разные действия.
Протокол передачи файлов. Он также используется прикладным уровнем и предоставляет функционал для передачи файлов от одного узла другому.
Он является крайне небезопасным и его использование может быть оправдано только в качестве построения хранилищ данных только для чтения.
Система доменных имен. Протокол прикладного уровня, предназначенный для построения адресной системы, которую было бы проще воспринимать человеку, чем систему IP адресов. Этот протокол связывает IP адрес и доменное имя.
Безопасная оболочка. Кодированный протокол, используемый на прикладном уровне для обеспечения безопасной связи с удаленным сервером. Существует довольно много технологий построенных на его основе.
Конечно, мы обсудили далеко не все протоколы. Но, тем не менее, этого достаточно для общего понимания построения сетей.
Заключение
На данном этапе вы должны четко понимать основные сетевые термины и представлять, каким образом различные сетевые компоненты соотносятся друг с другом. Эти знания помогут вам понять статьи на сетевую тематику и документацию к вашему сетевому оборудованию.
Источник
Введение в сетевую терминологию, интерфейсы и протоколы
Базовое понимание сетевых технологий необходимо любому человеку, который имеет отношение к управлению сервером. Эти знания помогут вам запустить и отладить работу сетевых сервисов и своевременно обнаружить проблемы.
В данной статье представлен базовый обзор общих сетевых терминов и протоколов, а также характеристики различных уровней сетевого взаимодействия.
Основные сетевые термины
В данном разделе вы найдёте определения основных терминов и понятий, имеющих отношение к созданию и управлению сетями.
Конечно, этот список нельзя назвать исчерпывающим – он содержит только основные понятия, которые используются в сетевых технологиях.
Сетевые уровни
Сетевое взаимодействие часто представляют в виде горизонтальных соединений между хостами, однако реализация такого взаимодействия распределяется по вертикали по всему компьютеру или сети.
Существует множество встроенных друг в друга технологий и протоколов, которые упрощают сетевое взаимодействие. Каждый последующий, более высокий уровень упрощает использование необработанных данных приложениями и пользователями.
Это также позволяет использовать более низкие уровни для обработки трафика, не тратя время и силы на разработку новых протоколов и приложений.
Когда машина отправляет данные, они попадают на высший сетевой уровень и фильтруются каждым последующим уровнем. На самом низком уровне происходит фактическая передача на другую машину, после чего данные фильтруются уровнями в обратном порядке.
Каждый уровень может добавить оболочку вокруг полученных данных, что поможет следующим уровням понять, что делать с данными при их передаче.
Модель OSI
OSI (Open Systems Interconnect) – это базовая модель взаимодействия открытых систем, которая состоит из 7 уровней:
Модель TCP/IP
Модель TCP/IP (набор протоколов Internet) – ещё одна популярная модель, которая состоит из 4 уровней (они совпадают с некоторыми уровнями OSI):
Сетевые интерфейсы
Интерфейсы являются сетевыми точками связи компьютера. Каждый интерфейс связан с физическим или виртуальным сетевым устройством.
Как правило, на вашем сервере будет один настраиваемый сетевой интерфейс для каждой имеющейся Ethernet-карты или беспроводной интернет-карты.
Кроме того, сервер определит виртуальный сетевой интерфейс (loopback, или localhost). Он используется как интерфейс для соединения приложений и процессов на одном компьютере с другими приложениями и процессами. Во многих инструментах он упоминается как интерфейс «lo».
Администраторы часто используют один интерфейс (обычно eth0) для обслуживания трафика в Интернете, а другой интерфейс (eth1) – для локальной или частной сети.
Протоколы
Сетевые технологии подразумевают совмещение нескольких различных протоколов. Таким образом, одна часть данных может быть передана с помощью нескольких протоколов, встроенных друг в друга.
Рассмотрим самые популярные и распространённые протоколы, начиная с протоколов низкого уровня.
Протокол управления доступом к среде
Media access control, или протокол управления доступом к среде используется для различения устройств. Предполагается, что каждое устройство получает уникальный MAC-адрес, который отличает его от любого другого устройства в Интернете.
Присваивание оборудованию MAC-адресов позволяет ссылаться на устройство по уникальному значению, даже если программное обеспечение устройства изменило его имя.
Media access control является одним из базовых протоколов канального уровня.
Протокол IP
Протокол IP – один из основных протоколов сети Интернет. IP-адреса уникальны в каждой сети и позволяют машинам обращаться друг к другу через сеть. Протокол реализован на сетевом уровне модели IP/TCP.
Сети могут быть связаны между собой, но трафик должен быть маршрутизирован при пересечении границ сети. Этот протокол предусматривает небезопасную сеть и несколько путей к тому же адресату.
Существует несколько различных реализаций протокола IP. Наиболее распространенной реализацией является IPv4, хотя из-за нехватки доступных адресов IPv4 и улучшения возможностей протоколов все более популярным становится IPv6.
Протокол ICMP
Протокол ICMP (internet control message protocol) – это протокол, который используется для отправки сообщений между устройствами. Эти пакеты используются многими сетевыми инструментами диагностики (например, ping и traceroute).
Обычно ICMP-пакеты передаются, когда пакет другого типа сталкивается с какой-либо проблемой. В основном, они используются как механизм обратной связи для сетевых коммуникаций.
Протокол TCP
Протокол TCP (transmission control protocol) – протокол управления передачей данных. Он реализован на транспортном уровне модели IP/TCP и используется для установления безопасных соединений.
TCP – один из протоколов, которые помещают данные в пакеты. Затем он передает пакеты удаленному концу соединения, используя методы нижних уровней. На другом конце соединения он может проверять ошибки, запрашивать определенные фрагменты и повторно собирать информацию в один логический элемент для отправки на прикладной уровень.
Протокол создает соединение до передачи данных при помощи трёхэтапного квитирования. Этот способ позволяет участникам соединения подтвердить запрос и согласовать способ обеспечения безопасности данных.
После отправки данных соединение сбрасывается с помощью механизма четырёхэтапного квитирования.
Протокол TCP используется в электронной почте, WWW, FTP, SSH. Можно с уверенностью сказать, что без TCP интернет не был бы таким, каким мы его знаем сегодня.
Протокол UDP
UDP (user datagram protocol) – это протокол пользовательских датаграмм, популярный сопутствующий протокол для TCP, который также реализуется на транспортном уровне.
Основное отличие между UDP и TCP состоит в том, что UDP предоставляет небезопасную передачу данных. Он не проверяет, были ли данные получены на другом конце соединения. Часто это считается серьёзным недостатком, однако некоторым функциям необходим именно такой механизм.
Поскольку UDP не проверяет получения данных, он намного быстрее, чем TCP. Он не устанавливает соединение с удаленными нодами, а просто передаёт данные на этот хост.
Такие простые транзакции используются в простых взаимодействиях (например, для запроса сетевых ресурсов). UDP также является отличным протоколом для передачи данных с одной машины на множество клиентов в режиме реального времени. Он идеально подходит для VOIP, игр и других приложений, которые должны работать без задержки.
Протокол HTTP
HTTP (hypertext transfer protocol) – это протокол передачи гипертекста. Он реализуется на прикладном уровне, который формирует основу для коммуникации в Интернете.
HTTP определяет ряд функций, которые сообщают удаленной системе о запросе. Например, GET, POST и DELETE взаимодействуют с запрошенными данными по-разному.
Протокол FTP
FTP (file transfer protocol) – это протокол передачи файлов. Он также находится на прикладном уровне и обеспечивает способ передачи полных файлов с одного хоста на другой.
Этот протокол по своей природе небезопасен, поэтому его не рекомендуется использовать в любой открытой сети (если только он не реализован как общедоступный ресурс, предназначенный только для загрузки файлов).
Протокол DNS
DNS (domain name system) – это система доменных имен. Этот протокол прикладного уровня предоставляет удобный механизма именования интернет-ресурсов. Он связывает доменное имя с IP-адресом и позволяет вам обращаться к сайтам по имени в вашем браузере.
Протокол SSH
SSH (secure shell) – это протокол шифрования, реализованный на прикладном уровне, который может использоваться для безопасного обмена данными с удаленным сервером. На этом протоколе основано много дополнительных технологий.
Существует много других важных протоколов, которые не охвачены в этой статье. Однако теперь вы знакомы с базовыми сетевыми протоколами и их применением.
Источник
|