15 полезных команд ifconfig для настройки сетевого интерфейса в Linux
Утилита ifconfig «interface configuration» используется для администрирования системы/сети в операционных системах Unix/Linux для настройки, управления и запроса параметров сетевого интерфейса через интерфейс командной строки или в сценариях настройки системы.
Команда «ifconfig» используется для отображения информации о текущей конфигурации сети, настройки IP-адреса, сетевой маски или широковещательного адреса для сетевого интерфейса, создания псевдонима для сетевого интерфейса, настройки аппаратного адреса и включения или отключения сетевых интерфейсов.
В этой статье рассматриваются «15 полезных команд ifconfig» с их практическими примерами, которые могут быть очень полезны для вас при управлении и настройке сетевых интерфейсов в системах Linux.
ВАЖНО: Сетевая команда ifconfig устарела и заменена командой ip в большинстве дистрибутивов Linux. Читайте также: ifconfig или ip: в чем разница и их сравнение, 10 полезных «IP» команд для настройки сетевых интерфейсов.
1. Просмотр всех настроек сети
Команда ifconfig без аргументов отобразит все подробности об активных интерфейсах. Команда ifconfig также используется для проверки назначенного IP-адреса сервера:
2. Отображение информации обо всех сетевых интерфейсах
Следующая команда ifconfig с аргументом -a отобразит информацию обо всех активных или неактивных сетевых интерфейсах на сервере. Она отображает результаты для eth0, lo, sit0 и tun0:
3. Просмотр настроек сети для определенного интерфейса
Использование имени интерфейса (eth0) в качестве аргумента с командой «ifconfig» покажет вам детали конкретного сетевого интерфейса:
4. Как включить сетевой интерфейс?
Флаг «up» или «ifup» с именем интерфейса (eth0) активирует сетевой интерфейс, если он не находится в активном состоянии и позволяет вам отправлять и получать информацию. Например, «ifconfig eth0 up» или «ifup eth0» активирует интерфейс eth0:
5. Как отключить сетевой интерфейс?
Флаг «down» или «ifdown» с именем интерфейса (eth0) деактивирует указанный сетевой интерфейс. Например, команда «ifconfig eth0 down» или «ifdown eth0» деактивирует интерфейс eth0, если он находится в активном состоянии:
6. Как назначить IP-адрес сетевому интерфейсу?
Чтобы назначить IP-адрес определенному интерфейсу, используйте следующую команду с именем интерфейса (eth0) и IP-адресом, который вы хотите установить. Например, «ifconfig eth0 172.16.25.125» установит IP-адрес для интерфейса eth0:
7. Как назначить маску сети для сетевого интерфейса?
Использование команды «ifconfig» с аргументом «netmask» и именем интерфейса (eth0) позволяет определить маску сети для данного интерфейса. Например, «ifconfig eth0 netmask 255.255.255.224» установит маску сети для данного интерфейса eth0:
8. Как назначить широковещательный адрес на сетевом интерфейсе?
Использование аргумента «broadcast» с именем интерфейса установит широковещательный адрес для данного интерфейса. Например, команда «ifconfig eth0 broadcast 172.16.25.63» устанавливает широковещательный адрес для интерфейса eth0:
9. Как назначить IP-адрес, маску подсети и широковещательный адрес для сетевого интерфейса?
Чтобы назначить IP-адрес, адрес подсети и широковещательный адрес одновременно, используйте команду «ifconfig» со всеми аргументами, как указано ниже:
10. Как изменить MTU для сетевого интерфейса?
Аргумент «mtu» устанавливает максимальную единицу передачи для интерфейса. MTU позволяет вам установить предельный размер пакетов, которые передаются по интерфейсу. Например, «ifconfig eth0 mtu 1000» установит максимальный объем пакета для данного интерфейса (то есть 1000). Не все сетевые интерфейсы поддерживают настройки MTU:
11. Как включить Promiscuous режим?
Что происходит в обычном режиме, когда пакет, полученный сетевой картой, при проверке узнаёт, что пакет принадлежит ему самому? Он отбрасывает этот пакет, но Promiscuous режим используется для приема абсолютно всех пакетов, которые проходят через сетевую карту.
Большинство современных сетевых инструментов использует Promiscuous режим для захвата и анализа пакетов, которые проходят через сетевой интерфейс. Чтобы установить Promiscuous режим, используйте следующую команду:
12. Как отключить Promiscuous режим?
Чтобы отключить Promiscuous режим, используйте ключ «-promisc», который возвращает обычную работу сетевого интерфейса:
13. Как добавить новый псевдоним в сетевой интерфейс?
Утилита ifconfig позволяет вам настраивать дополнительные сетевые интерфейсы, используя функцию псевдонимов «Alias«. Чтобы добавить псевдоним сетевого интерфейса eth0, используйте следующую команду. Обратите внимание, что псевдоним сетевого адреса находится в той же маске подсети. Например, если ваш IP-адрес сети eth0 равен 172.16.25.125, то IP-адрес псевдонима должен быть 172.16.25.127:
Проверьте вновь созданный адрес сетевого интерфейса псевдонима, используя команду «ifconfig eth0:0».
14. Как удалить псевдоним для сетевого интерфейса?
Если вам больше не нужен псевдоним сетевого интерфейса или вы неправильно настроили его, вы можете удалить его с помощью следующей команды:
15. Как изменить MAC-адрес сетевого интерфейса?
Чтобы изменить MAC-адрес (Media Access Control) сетевого интерфейса eth0, используйте следующую команду с аргументом «hw ether»:
Это наиболее полезные команды для настройки сетевых интерфейсов в Linux, для получения дополнительной информации об использования команды ifconfig загляните в man-страницу «man ifconfig» с помощью терминала.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Команда ifconfig — примеры использования
Команда ifconfig очень долго использовалась для настройки сети в операционных системах семейства Linux. С помощью нее вы можете включать или выключать сетевые интерфейсы, настраивать их параметры, переключать режимы и многое другое. Потом была разработана утилита ip, которая содержит больше функций, и имеет совсем другой синтаксис.
Но многие пользователи привыкли использовать ifconfig, тем более, что ее синтаксис более просто. Прочитать про утилиту ip вы можете в статье утилита ip в Linux. В этой же статье мы рассмотрим как используется ее более старый аналог — утилита ifconfig linux.
Установка ifconfig
С появлением утилиты ip, ifconfig была удалена из многих дистрибутивов. Но в большинстве она все еще поставляется по умолчанию. Установка ifconfig в Ubutnu выполняется командой:
sudo apt install net-tools
sudo pacman -S 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:
sudo ifconfig eth0
Чтобы посмотреть список интерфейсов с минимальной информацией о них используйте опцию -s:
С помощью опции -a вы можете вывести все интерфейсы, даже те, которые сейчас отключены:
Чтобы включить интерфейс используется команда ifconfig eth0 up:
sudo ifconfig eth0 up
Чтобы отключить — down:
sudo ifconfig eth0 down
Вы можете получить более подробную информацию об ошибках с помощью опции -v:
Включить поддержку протокола ARP для интерфейса:
sudo ifconfig eth0 arp
Отключить поддержку ARP:
sudo ifconfig eth0 -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 — свободная система и вы можете использовать те инструменты, которые вам нравятся.