Настройка сети в Linux – команда ifconfig

В системах Linux, как и в остальных операционных системах (ОС) предусмотрены широкие возможности для организации сетей. В частности, необходимо конфигурировать сетевые интерфейсы для построения сети на сетевом уровне. С этой задачей успешно справляется команда ifconfig. Она предназначена для выполнения отключений/подключений сетевых интерфейсов, а также указания IP-адресов, масок подсетей, протоколов и других параметров работы сети.

Как работает ifconfig

При старте системы, на этапе начальной загрузки (в большинстве случаев) выполняется запуск ifconfig. При этом в качестве аргументов используются данные из конфигурационного файла по-умолчанию, либо переопределённые администратором/пользователем.

Если при запуске команды, получите ошибку «bash: ifconfig: команда не найдена», то необходимо установить пакет net-tools

yum install net-tools -y

Для указания самого сетевого интерфейса в команде ifconfig используются имена, состоящие из двух или трёх символов, за которыми следует цифра, например: ln0, lo, lan0, eth0, ie0, we0 и т. д., однако в современных Linux-дистрибутивах всё чаще встречаются и более длинные наименования сетевых интерфейсов. Интерфейс lo в Linux обозначает интерфейс с обратной связью. Чтобы узнать, какие в системе используются сетевые интерфейсы, достаточно просто  дать команду ifconfig, но стоит помнить, что в этом случае будут выведены только активные или включенные сети, т. е. если, к примеру в системе отключен какой-либо сетевой интерфейс (модуль беспроводной связи Wi-Fi/Bluetooth, например), то он в этом случае выведен не будет. Для получения списка всех сетевых интерфейсов, известных системе с их настройками нужно использовать команду ifconfig -a. Чтобы получить сведения о конкретном интересующем интерфейсе, следует явно указать в команде ifconfig его наименование:

$ ifconfig eth0

В данном выводе флаг RUNNING указывает, что eth1 является активным — т. е. имеет активные соединения и пропускает трафик. Флаг BROADCAST означает широковещательное соединение. Другими важными сведениями являются IP-адреса в семействах протоколов IPv4 (inet), IPv6 (inet6), подсеть — netmask, а также диапазон широковещательного соединения broadcast. Для анализа активности служат строки  RX/TX.

Синтаксис и основные опции

В большинстве UNIX-подобных систем (в том числе и Linux) команда ifconfig имеет следующий синтаксис:

ifconfig интерфейс [семейство] адрес опции . . .

Так, например, следующая команда:

ifconfig eno1 192.168.0.100 netmask 255.255.255.0 up

задаст IP-адрес 192.168.0.100 для устройства eno1, используемого соответствующей сетевой картой, назначит подсеть для данного узла с помощью опции netmask и задействует его — опцией up. В данном случае параметр [семейство] не задан, т. к. по-умолчанию используется inet – протокол IPv4. Для одного интерфейса можно задавать несколько протоколов, но конфигурировать их нужно по отдельности. В качестве адреса можно также использовать и имена узлов. Опция up в данном примере задана явно, хотя при назначении адреса его активация/включение происходит по-умолчанию. Для отключения используется опция down.

Для команды ifconfig существует много опций и многие из них требуют дополнительных параметров, которые вводятся сразу после имени опции через символ пробела. Вот некоторые из них:

Опция

Назначение

add

Добавляет адрес для сетевого интерфейса.

del

Удаляет адрес для сетевого интерфейса.

io_addr

Устанавливает начальный адрес для ввода-вывода сетевого устройства.

bootproto

Задаёт способ получения IP-адреса. В качестве параметров используются static или dhcp.

media

Задаёт физический порт для использования сетевым устройством. Обычно в качестве значений используются 10base2 – коаксиальный Ethernet-кабель, 10baseT – витая пара до 10 Мбит/сек или AUX – внешний передатчик.

up

Включает указанный сетевой интерфейс или перезапускает его, если он был до этого отключен опцией down.

down

Отключает сетевой интерфейс, при этом вся информация о маршрутах, связанная с этим интерфейсом сохраняется.

netmask

Задаёт подсеть с помощью маски.

pointopoint

Используется для организации point-to-point соединений, в качестве параметра передаётся адрес.

broadcast

Задаёт широковещательный адрес.

irq

Задаёт номер прерывания для устройства сетевого интерфейса.

metric

Обычно используется для задания метрического значения в записи таблицы маршрутизации.

mtu

Задаёт максимальную длину передаваемого пакета (MTU), по-умолчанию равно 1500 для Ethernet и 296 для SLIP

arp

Позволяет использовать протокол ARP для поиска физического адреса устройства в сети. Включен по-умолчанию для широковещательных сетей. О выключенном ARP говорит флаг NOARP в выводе ifconfig.

-arp

Отключает использование ARP для выбранного интерфейса/устройства.

promisc

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

-promisc

Отключает режим  promiscuous для сетевого интерфейса.

allmulti

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

hw

Задаёт аппаратный (MAC) для сетевого устройства. Необходимо также указывать класс устройства: ether – для Ethernet, netrom – для AMPR NET/ROM, ax25 – для AMPR AX.25. Может не поддерживаться драйвером устройства.

-allmulti

Запрещает режим multicast.

Ifconfig примеры

Включение и отключение сетевого интерфейса на примере eth0 и eno1:

$ ifconfig eth0 up
$ ifconfig eno1 down

Изменение параметра MTU для eth0:

$ ifconfig eth0 mtu 1000

Задание MAC-адреса для eth0:

$ ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF

Настройка PLIP-интерфейса для связи компьютера с IP-адресом 10.24.205.18 c компьютером, у которого IP-адрес 10.24.105.20:

$ ifconfig plip0 10.24.205.18 pointopoint 10.24.105.20

Назначение IP-адреса сетевой карте eth0:

$ ifconfig eth0 10.24.205.18

Снятие адреса с eth0:

$ ifconfig eth0 del 10.24.205.18

Задание IP-адреса, подсети, и широковещательного адреса для eth0:

$ ifconfig eth0 10.24.205.18 netmask 255.255.255.0 broadcast 10.24.205.10

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: