Команда ifconfig — примеры использования
Команда ifconfig очень долго использовалась для настройки сети в операционных системах семейства Linux. С помощью нее вы можете включать или выключать сетевые интерфейсы, настраивать их параметры, переключать режимы и многое другое. Потом была разработана утилита ip, которая содержит больше функций, и имеет совсем другой синтаксис.
Но многие пользователи привыкли использовать ifconfig, тем более, что ее синтаксис более простой. Прочитать про утилиту ip вы можете в статье утилита ip в Linux. В этой же статье мы рассмотрим как используется ее более старый аналог — утилита ifconfig linux.
Установка ifconfig
С появлением утилиты ip, ifconfig была удалена из многих дистрибутивов. Но в большинстве она все еще поставляется по умолчанию. Установка ifconfig в Ubutnu выполняется командой:
sudo apt install net-tools
Синтаксис ifconfig
Утилита ifconfig имеет очень простой синтаксис при вызове без параметров, она возвратит список подключенных к системе сетевых интерфейсов и их характеристики, например, ip адрес, адрес шлюза, размер пакета, частоту для беспроводных сетей и другие параметры. Если указать интерфейс и нужные команды, то можно изменять различные настройки интерфейса. Вот сам синтаксис:
$ ifconfig опции интерфейс команда параметры адрес
Интерфейс — это сетевой интерфейс, о котором вы хотите посмотреть информацию или изменить его параметры. Все это можно сделать с помощью команд. Давайте рассмотрим основные из них:
- up — включить интерфейс;
- down — выключить интерфейс;
- (-)arp — включить или выключить использование протокола ARP для интерфейса;
- (-)promisc — включить или выключить неразборчивый режим для интерфейса;
- (-)allmulti — включить или выключить режим multicast;
- metric — изменить параметр metric;
- mtu — изменить максимальный размер пакета;
- netmask — установить маску сети;
- add — добавить ip адрес для интерфейса;
- del — удалить ip адрес интерфейса;
- media — установить тип внешнего протокола;
- [-]broadcast — установить широковещательный адрес или отключить эту функцию;
- hw — установить MAC адрес для интерфейса;
- txqueuelen — размер очереди интерфейса;
Параметры и адрес необязательны и зависят от используемой команды. А опции влияют на поведение утилиты более глобально. Опций всего несколько, рассмотрим их:
- -a — применять команду ко всем интерфейсам, например, полезно, если вы хотите отключить или включить все сетевые интерфейсы;
- -s — вывести краткий список интерфейсов.
Обратите внимание, что для использования утилиты вам понадобятся права суперпользователя. А теперь давайте рассмотрим несколько примеров.
Примеры использования ifconfig
Для начала давайте просмотрим список интерфейсов, подключенных к вашей системе и активированных в данный момент. Для этого достаточно выполнить команду без параметров:
Вы можете вывести только информацию про определенный интерфейс, например, про eth0:
Чтобы посмотреть список интерфейсов с минимальной информацией о них используйте опцию -s:
С помощью опции -a вы можете вывести все интерфейсы, даже те, которые сейчас отключены:
Чтобы включить интерфейс используется команда ifconfig eth0 up:
Чтобы отключить — down:
Вы можете получить более подробную информацию об ошибках с помощью опции -v:
Включить поддержку протокола ARP для интерфейса:
Включить неразборчивый режим, в котором интерфейс принимает все, проходящие через него пакеты:
sudo ifconfig eth0 promisc
sudo ifconfig eth0 -promisc
С помощью команды netmask вы можете установить маску сети для интерфейса:
sudo ifconfig eth0 netmask 255.255.255.0
Чтобы добавить ip адрес для интерфейса используйте просто укажите его после интерфейса:
sudo ifconfig eth0 192.168.1.11
Команда broadcast позволяет установить широковещательный адрес:
sudo ifconfig eth0 broadcast 192.168.1.255
С помощью команды hw вы можете установить аппаратный адрес или так называемый, MAC адрес. Здесь, кроме самого адреса нужно указать тип сети. Это ether для проводного подключения Ethernet, ax25 (AMPR AX.25), ARCnet и netrom (AMPR NET/ROM). Например:
sudo ifconfig eth0 hw ether BC:AE:C5:BE:8B:B7
С помощью mtu вы можете изменить максимальный размер пакета:
sudo ifconfig eth0 mtu 1000
Это были все основные примеры. В отличие от ip, команда ifconfig не содержит всех необходимых возможностей для полноценной настройки сети и поэтому вам еще придется использовать такие утилиты, как route или arp.
Фактически, настройка ifconfig сети будет выполняться в несколько команд. Допустим, мы будем настраивать интерфейс eth0:
sudo ifconfig eth0 up
$ sudo ifconfig eth0 add 192.168.1.10
$ sudo ifconfig eth0 netmask 255.255.255.0
$ sudo ifconfig eth0 broadcast 192.168.1.255
$ sudo route add default gw 192.168.1.1
Здесь мы используем ip адрес для компьютера 192.168.1.10, сетевую маску 255.255.255.0 и шлюз для выхода в сеть 192.168.1.1. После этих настроек осталось указать сервер DNS и интернет должен работать.
Выводы
В этой статье мы рассмотрели как работает команда ifconfig и что с ее помощью мы можем настроить. Я, как и раньше рекомендую использовать утилиту ip, так как она новее, и применяется в большинстве дистрибутивов по умолчанию. Но Linux — свободная система и вы можете использовать те инструменты, которые вам нравятся.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Заметка Команда ifconfig на примерах Linux.
Что такое команда ifconfig?
Команда ifconfig очень давно используется для настройки сети в операционных системах Linux. С её помощью вы можете включать или отключать сетевые интерфейсы, настраивать их параметры, переключать режимы и многое другое. Затем была разработана IP — утилита, которая содержит больше функций и имеет совершенно другой синтаксис.
Но многие пользователи привыкли использовать ifconfig, тем более что её синтаксис проще.
В некоторых дистрибутивах выдает — ifconfig command not found.
С появлением утилиты ip ifconfig была удален из многих дистрибутивов. Но по большей части она по-прежнему устанавливается по умолчанию. Если команда ifconfig не найдена, вы можете вернуть ее, установив.
Установка ifconfig в Kali,Debian,Ubutnu выполняется с помощью команды:
sudo apt install net-tools
В Arch Linux:
sudo pacman -S net-tools
Синтаксис ifconfig очень прост при вызове без параметров, он возвращает список сетевых интерфейсов, подключенных к системе, и их характеристики, такие как IP-адрес, адрес шлюза, размер пакета, частоту для беспроводных сетей и другие параметры. Если вы укажете интерфейс и необходимые команды, вы можете изменить различные настройки интерфейса.
$ ifconfig опции параметры команды интерфейс адрес
Интерфейс — это сетевой интерфейс, информацию о котором вы хотите просмотреть или изменить его параметры. Все это можно сделать с помощью команд.
Посмотрим на основные из них:
up — включить интерфейс;
down — выключить интерфейс;
(-) arp — включить или отключить использование протокола ARP для интерфейса;
(-) promisc — включить или выключить неразборчивый режим для интерфейса;
(-) allmulti — включить или отключить режим многоадресной рассылки;
metric — изменить параметр метрики;
mtu — изменить максимальный размер пакета;
netmask — установить маску сети;
add — добавить ip-адрес интерфейса;
del — удалить ip-адрес интерфейса;
media — установить тип внешнего протокола;
[-] broadcast — установить широковещательный адрес или отключить эту функцию;
hw — установить MAC-адрес интерфейса;
txqueuelen — размер очереди интерфейса;
Параметры и адрес не являются обязательными и зависят от используемой команды. И параметры влияют на поведение утилиты более глобально. Вариантов всего несколько, рассмотрите их:
-a — применить команду ко всем интерфейсам, например, полезно, если вы хотите отключить или включить все сетевые интерфейсы;
-s — отобразить краткий список интерфейсов.
Обратите внимание, что для использования утилиты вам потребуются права root. Рассмотрим несколько примеров.
Во-первых, давайте рассмотрим список интерфейсов, которые подключены к вашей системе и в настоящее время активированы. Для этого просто запустите команду без параметров:
Вы можете отображать только информацию о конкретном интерфейсе, например, об eth0:
sudo ifconfig eth0
Чтобы просмотреть список интерфейсов с минимальной информацией о них, используйте параметр -s:
sudo ifconfig -s
С параметром -a вы можете отобразить все интерфейсы, даже те, которые в данный момент отключены:
ifconfig -a
Чтобы включить интерфейс, используйте команду ifconfig eth0 up:
sudo ifconfig eth0 up
Для отключения — down:
sudo ifconfig eth0 down
Вы можете получить более подробную информацию об ошибке с параметром -v:
sudo ifconfig -v
Включите поддержку протокола ARP для интерфейса:
sudo ifconfig eth0 arp
Отключить поддержку ARP:
sudo ifconfig eth0 -arp
Включить неразборчивый режим, в котором интерфейс принимает все пакеты, проходящие через него:
sudo ifconfig eth0 promisc
И отключить:
sudo ifconfig eth0 -promisc
С помощью команды netmask вы можете установить сетевую маску для интерфейса:
sudo ifconfig eth0 сетевая маска 255.255.255.0
Чтобы добавить IP-адрес для интерфейса, просто используйте его после интерфейса:
sudo ifconfig eth0 192.168.1.11
Команда широковещания позволяет установить широковещательный адрес:
sudo ifconfig eth0 broadcast 192.168.1.255
С помощью команды hw вы можете установить аппаратный адрес или так называемый MAC-адрес. Здесь помимо самого адреса нужно указать тип сети. Например:
sudo ifconfig eth0 hw ether BC: AE: C5: BE: 8B: B7
С помощью mtu вы можете изменить максимальный размер пакета:
sudo ifconfig eth0 mtu 1000
Всё, это были главные примеры. В отличие от ip, команда ifconfig не содержит всех необходимых возможностей для полной настройки сети, и поэтому вам все равно придется использовать такие утилиты, как route или arp.
Фактически настройка сети ifconfig будет производиться несколькими командами. Допустим, мы настроим интерфейс eth0:
sudo ifconfig eth0 up
sudo ifconfig eth0 add 192.168.1.10
sudo ifconfig eth0 netmask 255.255.255.0
sudo ifconfig eth0 broadcast 192.168.1.255
sudo route add default gw 192.168.1.1
Здесь мы используем IP-адрес компьютера 192.168.1.10, маску сети 255.255.255.0 и шлюз для доступа к сети 192.168.1.1. После этих настроек осталось указать DNS сервер и интернет должен работать.
Заключение.
Мы рассмотрели, как работает команда ifconfig и что с ее помощью можно настроить. Я рекомендую использовать утилиту ip , так как она новее и используется по умолчанию в большинстве дистрибутивов.