Site icon IT Education Center Blog – блог навчального центру DevOps – ITEDU by NETFORCE Group

Команда ifconfig: як використовувати

Команда ifconfig в Unix та подібних системах використовується для налаштування та виведення параметрів мережевого інтерфейсу для мережі за допомогою TCP/IP. Її можна використовувати, щоб призначити адресу мережевому інтерфейсу, налаштувати або переглянути інформацію про його конфігурацію. Як це зробити — розкажемо на прикладах.

Утиліта вважається застарілою, але все одно зустрічається в багатьох інструкціях для налаштування мережі. Ifconfig зручна: з простим синтаксисом і зрозумілим виведенням інформації.

Команда ifconfig не знайдена

Щоб використати команду, потрібно ввести sudo ifconfig. При цьому ви можете отримати помилку “ifconfig команда не знайдена”. У цього може бути декілька причин:

  1. Утиліта встановлена в системі, але інтерпретатор bash не знаходить її. Все тому, що вона може зберігатися в папці з утилітами, доступ до яких є тільки у користувача з правами root. Якщо виконати команду від імені суперкористувача, інтерпретатор її знайде.
  2. Якщо ви все одно отримуєте помилку — програма не встановлена.

Установка ifconfig

Ifconfig хоч і застаріла, але багато системних адміністраторів звикли працювати з нею. Утиліта була видалена з багатьох дистрибутивів після появи ip, тому може бути не встановлена ​​у вас за замовчуванням. Хоч в ip більше можливостей, у неї складніший синтаксис. 

* ip — утиліта командного рядка в Linux, яка дозволяє налаштовувати мережеву підсистему та замінює утиліти ifconfig, route та arp.

Щоб використовувати ifconfig, спочатку потрібно встановити пакет net-tools, до якого входять програми ifconfig, netstat, dig, hostname, route, arp та iptunnel. Ці програми є основою мереж Linux.

Встановити ifconfig в Ubuntu і Debian можна командою:

$ sudo apt install net-tools

В ArchLinux:

$ sudo pacman -S net-tools

У CentOS 7:

$ sudo yum install net-tools

У Fedora:

$ sudo dnf install net-tools

Після цього можна користуватися утилітою і жодної помилки не буде.

Синтаксис команди ifconfig

Синтаксис утиліти дуже простий. Якщо викликати її без параметрів, вона видасть список мережевих інтерфейсів, підключених до системи. Також ви побачите їх характеристики: IP-адресу, адресу шлюзу, розмір пакета, частоту для бездротових мереж та інші параметри. 

Дізнатися в нашій статті який з браузерів надає максимальну конфіденційність користувачу

Налаштування інтерфейсу можна змінювати, якщо вказати потрібний інтерфейс та відповідні команди. 

Синтаксис виглядає так:

$ ifconfig опції інтерфейс команда параметри адреса

Інтерфейс — мережевий інтерфейс, параметри якого ви хочете змінити або подивитися про нього інформацію.

Які можуть бути команди:

Параметри та адреса потрібні не для кожної команди. Опції — більш глобальні аргументи. Їх дві:

Приклади використання команди ifconfig

Розберемо найкорисніші команди для налаштування мережевих інтерфейсів у Linux. 

Для цього використаємо команду ifconfig без параметрів. Це виведе список активних інтерфейсів з усіма подробицями про них. Ще так можна перевірити призначену IP-адресу сервера: 

Якщо Вас цікавить стаття про порівняння raid 10 vs raid 5, читайте на сайті IT Education Blog.

$ sudo ifconfig  

Якщо використовувати команду нижче, то ми отримаємо інформацію про активні та неактивні мережеві інтерфейси на сервері: 

$ sudo ifconfig -a

Для прикладу візьмемо інтерфейс eth0, тоді команда виглядатиме так:

$ sudo ifconfig eth0

Вводимо в ifconfig опцію -s:

$ sudo ifconfig -s

Використовуємо команду up та вказуємо інтерфейс, щоб увімкнути його:

$ sudo ifconfig eth0 up

Або команду down, щоб його вимкнути:

$ sudo ifconfig eth0 down

У команді ifconfig прописуємо ім’я інтерфейсу eth0 та IP-адресу, яку хочемо встановити. Наприклад: sudo ifconfig eth0 172.16.25.126 

Додаємо в ifconfig команду netmask та ім’я інтерфейсу — eth0: 

$ sudo ifconfig eth0 netmask 255.255.224.0

Якщо додати до ifconfig команду broadcast, то ми встановимо широкомовну адресу для даного інтерфейсу:

$ sudo ifconfig eth0 broadcast 192.168.0.255

mtu встановить максимальну одиницю передачі для інтерфейсу. Це дозволить встановити ліміт розмірів пакетів, що передаються інтерфейсом. Щоб встановити 1000 як максимальний об’єм для інтерфейсу, використовуємо sudo ifconfig eth0 mtu 1000

Promiscuous або нерозбірливий режим дозволяє приймати абсолютно всі пакети, що проходять через інтерфейс.

Багато мережевих інструментів використовують такий режим, щоб отримувати та аналізувати пакети, що проходять через мережевий інтерфейс. Ввімкнути його можна командою:

$ sudo ifconfig eth0 promisc

І ось так вимкнути:

$ sudo ifconfig eth0 -promisc

Щоб одночасно призначити інтерфейсу, наприклад, IP-адресу, адресу підмережі та широкомовну адресу, виконайте команду ifconfig у такому вигляді:

$ sudo ifconfig eth0 172.16.25.125 netmask 255.255.254.0 broadcast 172.16.25.63

За допомогою функції alias в ifconfig можна налаштувати додаткові мережеві інтерфейси. Щоб додати псевдонім для eth0, виконайте:

$ sudo ifconfig eth0:0 172.16.25.127

Важливо: псевдонім адреси знаходиться в тій же масці підмережі. Якщо IP-адреса мережі eth0 — 172.16.25.125, то адреса псевдоніма має бути 172.16.25.127.

Видалити псевдонім можна так:

$ sudo ifconfig eth0:0 down

Щоб це зробити, додайте до ifconfig параметр hw. Ще треба вказати тип мережі: ether для дротового підключення Ethernet, ax25, ARCnet та netrom. Наприклад:

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

Для цього додамо опцію -v:  sudo ifconfig -v

Щоб увімкнути: sudo ifconfig eth0 arp 

Щоб вимкнути: sudo ifconfig eth0 -arp

Це основні приклади використання ifconfig. Вона не дає всіх можливостей для повноцінного налаштування мережевих інтерфейсів, як це робить ip. Працюючи з ifconfig, доведеться використовувати ще такі утиліти, як route або arp.

По суті, налаштування за допомогою ifconfig виглядатиме так:

$ sudo ifconfig eth0 up

$ sudo ifconfig eth0 add 192.168.1.10

$ sudo ifconfig eth0 netmask 255.255.254.0

$ sudo ifconfig eth0 broadcast 192.168.1.255

$ sudo route add default gw 192.168.1.1

У прикладі ми налаштували інтерфейс eth0, де використали IP-адресу для комп’ютера 192.168.1.10, мережну маску 255.255.254.0 і шлюз для виходу в мережу 192.168.1.1. Залишилося вказати DNS-сервер і інтернет має працювати.

Підсумок

Тепер ви знаєте, що таке команда ifconfig, що вона робить та як її використовувати. Ви можете спробувати працювати з нею або розібратися з новішою утилітою ip, щоб вибрати для себе комфортний варіант.

Якщо ви вирішите зупинитися на ifconfig, то вам може знадобитися повна інструкція для цієї команди. Щоб її отримати, можете викликати man ifconfig через термінал.

Чи стикалися ви до цього з командою ifconfig? Наскільки зручною вона вам здалася?

Exit mobile version