Поиск по сайту:

ifconfig против ip: в чем разница и сравнение конфигурации сети


Дистрибутивы на базе Linux содержат набор команд, которые позволяют легко и эффективно настраивать сеть с помощью командной строки. Этот набор команд доступен в пакете net-tools, который уже давно присутствует практически во всех дистрибутивах и включает в себя такие команды, как: ifconfig, route<, nameif, iwconfig, iptunnel, netstat, arp.

Этих команд почти достаточно для настройки сети так, как хотелось бы любому новичку или опытному пользователю Linux, но из-за развития ядра Linux за последние годы и невозможности поддержки этого упакованного набора команд они устаревают и становятся более мощными. появляется альтернатива, способная заменить все эти команды.

Эта альтернатива также существует уже довольно давно и намного мощнее любой из этих команд. В остальных разделах эта альтернатива будет выделена и сравнена с одной из команд из пакета net-tools, то есть ifconfig.

ip — замена ifconfig

ifconfig существует уже давно и до сих пор многими используется для настройки, отображения и управления сетевыми интерфейсами, но теперь в дистрибутивах Linux существует новая альтернатива, которая намного мощнее его. Альтернативой является команда ip из пакета iproute2util.

Хотя на первый взгляд эта команда может показаться немного сложной, но ее функциональность гораздо шире, чем ifconfig. Функционально он организован на двух уровнях сетевого стека: Уровень 2 (Уровень связи), Уровень 3 (Уровень IP). >) и выполняет работу всех вышеперечисленных команд из пакета net-tools.

Хотя ifconfig в основном отображает или изменяет интерфейсы системы, эта команда способна выполнять следующие задачи:

  1. Отображение или изменение свойств интерфейса.
  2. Добавление и удаление записей в кэше ARP вместе с созданием новой записи статического ARP для хоста.
  3. Отображение MAC-адресов, связанных со всеми интерфейсами.
  4. Отображение и изменение таблиц маршрутизации ядра.

Одним из основных моментов, отличающих его от своего древнего аналога ifconfig, является то, что последний использует ioctl для настройки сети, что является менее ценным способом взаимодействия с ядром, в то время как первый использует его преимущества. механизма сокетов netlink для того же самого, который является гораздо более гибким преемником ioctl для взаимодействия между ядром и пользовательским пространством с использованием rtnetlink (который добавляет возможность манипулирования сетевой средой).

Теперь мы можем начать освещать возможности ifconfig и то, как они эффективно заменяются командой ip.

ip против команд ifconfig

В следующем разделе описаны некоторые команды ifconfig и их замена с помощью команд ip:

1. Отображение всех сетевых интерфейсов в Linux

Здесь одна из отличительных особенностей ip и ifconfig заключается в том, что ifconfig показывает только включенные интерфейсы, а ip показывает все интерфейсы, независимо от того, включены они или отключены.

команда ifconfig
ifconfig

IP-команда
ip a

2. Добавление или удаление IP-адреса в Linux

Команда ниже назначает IP-адрес 192.168.80.174 интерфейсу eth0.

ifconfig — добавить/удалить IP-адрес
ifconfig eth0 add 192.168.80.174

Синтаксис добавления/удаления интерфейса с помощью команды ifconfig:

ifconfig eth0 add 192.168.80.174
ifconfig eth0 del 192.168.80.174
ip – добавить/удалить IP-адрес
ip a add 192.168.80.174 dev eth0

Синтаксис добавления/удаления интерфейса с помощью команды ip:

ip a add 192.168.80.174 dev eth0
ip a del 192.168.80.174 dev eth0

4. Добавьте аппаратный MAC-адрес в сетевой интерфейс.

Приведенная ниже команда устанавливает аппаратный адрес интерфейса eth0 в значение, указанное в команде. Это можно проверить, проверив значение HWaddr в выходных данных команды ifconfig.

ifconfig — добавить MAC-адрес

Вот синтаксис добавления MAC-адреса с помощью команды ifconfig:

ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip — добавить MAC-адрес

Вот синтаксис добавления MAC-адреса с помощью команды ip:

ip link set dev eth0 address 00:0c:29:33:4e:aa

4. Настройка других конфигураций сетевого интерфейса

Помимо установки IP-адреса или аппаратного адреса, к интерфейсу можно применить следующие конфигурации:

  1. MTU (максимальная единица передачи)
  2. Флаг многоадресной рассылки
  3. Длина очереди передачи
  4. Беспорядочный режим
  5. Включить или отключить все режимы многоадресной рассылки
ifconfig — другие конфигурации сети
ip — другие конфигурации сети

<центр>

а. Установите значение MTU на 2000.

ifconfig eth0 mtu 2000
ip link set dev eth0 mtu 2000

<центр>

б. Включить или отключить флаг многоадресной рассылки.

ifconfig eth0 multicast
ip link set dev eth0 multicast on

<центр>

в. Установка длины очереди передачи.

ifconfig eth0 txqueuelen 1200
ip link set dev eth0 txqueuelen 1200

<центр>

д. Включение или отключение беспорядочного режима.

ifconfig eth0 promisc
ip link set dev eth0 promisc on

<центр>

е. Включите или отключите режим многоадресной рассылки.

ifconfig eth0 allmulti
ip link set dev eth0 allmulti on

5. Включение или отключение сетевого интерфейса

Приведенные ниже команды включают или отключают определенный сетевой интерфейс.

ifconfig – отключить/включить сетевой интерфейс

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

ifconfig eth0 down

Чтобы снова включить интерфейс, просто замените down на up.

ifconfig eth0 up
ip – отключить/включить сетевой интерфейс

Приведенная ниже команда ip является альтернативой ifconfig для отключения определенного интерфейса. Это можно проверить по выводам команды 'ip a', которая по умолчанию показывает все интерфейсы, включенные или выключенные, но выделяет их статус вместе с описанием.

ip link set eth0 down

Чтобы снова включить интерфейс, просто замените down на up.

ip link set eth0 up

6. Включить или отключить использование протокола ARP.

Приведенные ниже команды включают или отключают протокол ARP на определенном сетевом интерфейсе.

ifconfig — включить/отключить протокол ARP

Эта команда позволяет использовать протокол ARP с интерфейсом eth0. Чтобы отключить эту опцию, просто замените arp на -arp.

ifconfig eth0 arp
ip – включить/отключить протокол ARP

Эта команда является альтернативой ip для включения ARP для интерфейса eth0. Чтобы отключить, просто замените on на off.

ip link set dev eth0 arp on

Заключение

Таким образом, мы выделили возможности команды ifconfig и то, как их можно реализовать с помощью команды ip. В настоящее время дистрибутивы Linux предоставляют пользователю обе команды, чтобы он мог использовать их по своему усмотрению. Итак, какую команду вы предпочитаете использовать? Упомяните об этом в своих комментариях.

Если вы хотите узнать больше об этих двух командах, вам следует просмотреть наши предыдущие статьи, в которых более подробно показаны некоторые практические примеры команд ifconfig и ip.

Не пропустите: 15 примеров «ifconfig» для настройки сетевого интерфейса в Linux

Не пропустите: 10 примеров команд «ip» для настройки сетевого интерфейса в Linux