Во всех дистрибутивах Linux имеются команды, которые обеспечивают простой способ настройки сети через командную строку. Этот набор команд доступен из пакета net-tools и включает такие команды, как: ifconfig, route, nameif, netstat и другие.
Так как ядро Linux быстро развивается, то часть команд из набора становятся не актуальными и устаревшими. Но имеется альтернатива, которая существует достаточно давно и более мощной, чем любая из этих команд.
Эта альтернатива - ifconfig. В статье я так же сравню её с одной из команд из пакета net-tools.
Команда ip – замена для команды ifconfig
ifconfig часто и давно использовался пользователями для настройки, отображения и управления сетевыми интерфейсами. Но сейчас в дистрибутивах Linux есть более мощная команда, на мой взгляд – команда ip из пакета iproute2util.
Команда ip функционально организована на двух уровнях сетевого стека, на уровне 2 (канальный уровень) и на уровне 3 (сетевой уровень). Выполняет работу всех вышеупомянутых команд из пакета net-tools.
Хотя ifconfig в основном отображает или изменяет интерфейсы системы, эта команда может выполнять следующие задачи:
- Отображение или изменение свойств интерфейса.
- Добавление, удаление записей ARP Cache вместе с созданием новой записи Static ARP для узла.
- Отображение MAC-адресов, связанных со всеми интерфейсами.
- Отображение и изменение таблиц маршрутизации ядра.
Основное отличие команду ip от – 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-адрес 10.0.10.15
интерфейсу eth0.
ifconfig – добавление / удаление IP-адреса
ifconfig eth0 add 10.0.10.15
Команда добавления/удаления интерфейса с помощью команды ifconfig:
ifconfig eth0 add 10.0.10.15
ifconfig eth0 del 10.0.10.15
ip -добавление / удаление IP-адреса
ip a add 10.0.10.15 dev eth0
Команда для добавления / удаления интерфейса с помощью команды ip:
ip a add 10.0.10.15 dev eth0
ip a del 10.0.10.15 eth0
3. Настройка иных конфигураций сетевого интерфейса
Помимо настройки IP-адреса или физического адреса, другие конфигурации, которые могут быть применены к интерфейсу, включают в себя:
- MTU (максимальная единица передачи)
- Многоадресный флаг
- Длина очереди передачи
- Режим Promiscuous
- Включение или отключение всех режимов многоадресной рассылки
а. Установка значения MTU на 2000.
ifconfig – Сетевые конфигурации MTU
ifconfig eth0 mtu 2000
IP – Сетевые конфигурации MTU
ip link set dev eth0 mtu 2000
б. Включение или отключение флага многоадресной рассылки.
ifconfig – флаг многоадресной рассылки
ifconfig eth0 multicast
IP – флаг многоадресной рассылки
ip link set dev eth0 multicast on
с. Установка длины очереди передачи.
ifconfig – очередь передачи
ifconfig eth0 txqueuelen 1200
IP – очередь передачи
ip link set dev eth0 txqueuelen 1200
d. Включение или отключение режима Promiscuous.
ifconfig – режим Promiscuous
ifconfig eth0 promisc
IP – режим Promiscuous
ip link set dev eth0 promisc on
е. Включение или отключение всех режимов многоадресной рассылки.
ifconfig – многоадресная рассылки
ifconfig eth0 allmulti
IP – многоадресная рассылки
ip link set dev eth0 allmulti on
Продолжение следует...
#linux #linuxfx #linuxmin #linuxvswindows