Ifconfig (скор. interface configuration) — команда UNIX і UNIX-подібних операційних систем, що використовується для налаштування мережевих інтерфейсів.

Синтаксис ред.

ifconfig [interface] 
ifconfig interface [aftype] options | address ... 

Опис ред.

Команда ifconfig використовується для конфігурування мережевих інтерфейсів ядра. Вона використовується на етапі завантаження операційної системи при необхідності налаштування інтерфейсів. Після цього вона зазвичай використовується тільки при налагодженні або налаштуванні продуктивності системи.

Якщо аргументи не передані, ifconfig видає інформацію про стан активних інтерфейсів. Якщо вказаний один аргумент інтерфейс, видається інформація тільки про стан цього інтерфейсу; якщо вказаний один аргумент, видається інформація про стан всіх інтерфейсів, навіть відключених. Інакше команда конфігурує вказаний інтерфейс.

У ядрі Linux також є утиліта IP, яка дозволяє керувати великою кількістю налаштувань мережевого інтерфейсу.

Команда ifconfig повинна використовуватися при завантаженні системи для задання адреси кожному інтерфейсу системи. Вона також може використовуватися в подальшому для перевизначення адреси інтерфейсу та інших параметрів його роботи.

ifconfig вимагає вказати існуючий мережевий пристрій (інтерфейс) або -a як перший аргумент. При використанні аргументу -a вибираються всі проініціалізовані мережеві карти. При виклику без опцій ifconfig видає повідомлення про використання. Якщо вказано сімейство протоколів (наприклад, inet), ifconfig буде повідомляти тільки деталі, пов'язані з даними сімейством протоколів. Тільки привілейований користувач може змінювати конфігурацію мережного інтерфейсу.

Оскільки інтерфейс може отримувати передачі різних протоколів, кожен з яких може вимагати своїх схем іменування, параметри і адреси інтерпретуються відповідно до правил деякого сімейства протоколів, що задається параметром сімейство протоколів. В наш час[коли?] підтримується сімейство протоколів inet. Якщо сімейство протоколів не вказано, передбачається inet.

Для сімейства DARPA Internet (inet), адреса являє собою або ім'я хоста, що є в базі даних хостів, або адреса DARPA Internet, представлений в стандартному точковому записі Internet. Зазвичай, адрес Internet, представлений в точковому записі, буде складатися з номера мережі вашої системи і унікального номера хоста для машини. Типовий адресу Internet — 192.9.200.44, де 192.9.200 являє собою номер мережі, а 44 — номер хоста для машини.

Якщо крім параметра адреса вказана параметр цільовий адрес, він задає адресу відповідної машини на іншому кінці зв'язку точка-точка.

Сімейство протоколів ред.

Якщо першим після імені інтерфейсу йде ім'я підтримуваного сімейства адрес, це сімейство адрес використовується для декодування і видачі всіх адрес протоколу. В наш час[коли?] підтримуються сімейства адрес inet (TCP/IP, використовується по замовчуванні), inet6 (IPv6), ax25 (AMPR Packet Radio), ddp (Appletalk Phase 2), ipx ( Novell IPX) і netrom (AMPR Packet Radio).

Опції ред.

Опція Опис
Interface Ім'я інтерфейсу. Зазвичай це ім'я драйвера, за яким йде номер пристрою, наприклад, eth0 для першого інтерфейсу Ethernet.
Up Позначає інтерфейс як включений. Це можна використовувати для включення інтерфейсу після ifconfig down. Це відбувається автоматично при установці першого адресу інтерфейсу. Якщо інтерфейс був переустановлений при попередній позначці як відключений, апаратне забезпечення буде переініціалізіровано.
Down Позначає інтерфейс як відключений. Коли інтерфейс позначений як відключений, система не намагається пересилати повідомлення через цей інтерфейс. При можливості, інтерфейс буде переустановлений, щоб відключити також прийом. Ця дія не відключає автоматично маршрути, що використовують даний інтерфейс.
Arp Включає використання протоколу визначення адреси (Address Resolution Protocol) при зіставленні адрес на рівні мережі і адрес на рівні зв'язку (використовується по замовчуванню). В наш час[коли?] це реалізується шляхом зіставлення адрес DARPA Internet і адрес Ethernet 10 Мбіт / с.
-Arp Вимикає використання протоколу визначення адреси (Address Resolution Protocol).
Promisc Поміщає інтерфейс в стан promiscuous. У широкомовної мережі це змушує інтерфейс отримувати всі пакети незалежно від того, чи були вони призначені для цієї машини чи ні. Це дозволяє, використовуючи фільтри пакетів, аналізувати мережевий трафік. Зазвичай, це гарна техніка полювання на мережеві проблеми, які інакше важко відловити. Тут дуже корисна утиліта tcpdump. З іншого боку, це дозволяє хакерам досліджувати рух паролів по мережі і робити інші чорні справи. Одна захист проти цього типу нападу: не дозволяти приєднуватися до мережі чужим комп'ютерам. Інший спосіб: використовувати безпечні розпізнавальні протоколи, типу Kerberos, або SRA login. Ця опція відповідає прапорцю PROMISC.
-Promisc Забороняє режим promiscuous.
Allmulti Включає або відключає режим all-multicast. У цьому режимі всі багатоадресні (multicast) пакети в мережі будуть прийматися цим інтерфейсом.
-Allmulti Вимикає режим all-multicast.
Metric N Встановлює вартість маршрутизації для інтерфейсу рівній n, замість стандартного значення 0. Вартість маршрутизації (routing metric) використовується протоколом маршрутизації. Великі вартості роблять маршрут менш задовільним; вартості враховуються як додаткові пересилки на шляху до цілей мережі або хосту.
Mtu N Цей параметр встановлює максимальний розмір пакету (Maximum Transfer Unit - MTU) для інтерфейсу. Зазвичай немає необхідності міняти значення цього параметра, але, в деяких випадках, зменшення значення MTU дозволяє досягти стійкої роботи абонентів з дуже низьким рівнем сигналу. Крім того, він може використовуватися для зміни параметрів тунельних інтерфейсів.
Dstaddr addr Встановлює віддалений IP-адрес для двохточкового зв'язку (наприклад, за протоколом PPP). Це ключове слово зараз вважається застарілим; використовуйте замість нього ключове слово pointopoint.
Netmask addr Встановлює маску мережі IP для цього інтерфейсу. За замовчуванням використовується звичайна маска мережі класу A, B або C (що визначається за IP-адресою інтерфейсу), але можна встановити будь-яке значення.
Add addr / prefixlen Додає адресу IPv6 для інтерфейсу.
Del addr / prefixlen Видаляє адресу IPv6 для інтерфейсу.
Tunnel aa.bb.cc.dd Створює новий пристрій SIT (IPv6-в-IPv4) - тунель до зазначеної мети.
Irq Встановлює апаратне переривання, що використовується цим пристроєм. Не для всіх пристроїв можна динамічно змінювати значення IRQ.
Io_addr addr Встановити початкову адресу введення-виведення для цього пристрою.
Mem_start addr Встановити початкову адресу пам'яті, що розділяється, використовуваної цим пристроєм. Це потрібно лише для небагатьох пристроїв.
Media type Встановлює фізичний порт чи тип носія, що використовується пристроєм. Не для всіх пристроїв можна змінювати цей параметр, і для різних пристроїв можуть підтримуватися різні значення. Типові значення типу - 10base2 (коаксіальний кабель Ethernet), 10baseT (вита пара Ethernet 10 Мбіт / сек), AUI (зовнішній передавач) і т. д. Спеціальний тип носія auto можна використовувати , щоб вимагати від драйвера автоматично оприділяти тип носія. Не всі драйвери можуть це робити.
Broadcast [addr] Встановлює широкомовну адресу. Широкомовна адреса зазвичай створюється з мережевої адреси встановленням усіх біт частини машини. Деякі реалізації IP використовують іншу схему, ця опція допомагає пристосуватися до цих дивних середах. Якщо широкомовний (broadcast) адреса був встановлений, ifconfig показує прапорець BROADCAST.
Pointopoint [addr] Це ключове слово включає двоточковим (point-to-point) режим інтерфейсу, що означає, що він забезпечує безпосередній зв'язок між двома машинами, яку ніхто не прослуховує. Якщо вказано також аргумент адреси, встановлює відповідний протокол адреси іншої сторони зв'язку, як і застаріле ключове слово dstaddr. В іншому випадку, встановлює або скидає прапорець IFF_POINTOPOINT для інтерфейсу.
-Pointopoint [addr] Це ключове слово відключає двохточковим (point-to-point) режим інтерфейсу
Hw class address Встановлює апаратну адресу відповідного інтерфейсу, якщо драйвер пристрою підтримує таку можливість. Після ключового слова hw необхідно вказати ім'я класу обладнання, а також апаратний адреса в текстовому вигляді. В наш час[коли?] підтримується обладнання класів ether (Ethernet), ax25 (AMPR AX.25), ARCnet і netrom (AMPR NET / ROM).
Multicast Встановлює у інтерфейсі прапорець підтримки групової передачі даних. Зазвичай в цьому немає потреби, оскільки драйвер сам виставляє цей прапорець.
Address IP-адрес, який присвоюється інтерфейсу.
Txqueuelen length Встановлює довжину черги передачі для пристрою. Це дозволяє встановити менші значення для більш повільних пристроїв з тривалими затримками (модемні лінії, ISDN), щоб швидка передача великих обсягів даних не надто заважала передачі даних інтерактивних сеансів, наприклад, telnet.

Приклади ред.

# Ifconfig eth0 inet 192.168.10.15 netmask 255.255.255.0 
# Ifconfig eth0 up 
# Ifconfig 
eth0 Link encap: Ethernet HWaddr 00:18: F3: BE: 18:1 E 
          inet addr: 192.168.10.15 Bcast: 192.168.10.255 Mask: 255.255.255.0 
          inet6 addr: fe80:: 218: f3ff: febe: 181e/64 Scope: Link 
          UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1 
          RX packets: 39456 errors: 0 dropped: 0 overruns: 0 frame: 0 
          TX packets: 45730 errors: 0 dropped: 0 overruns: 0 carrier: 0 
          collisions: 0 txqueuelen: 1000 
          RX bytes: 25457904 (24.2 Mb) TX bytes: 6540945 (6.2 Mb) 
          Interrupt: 20 
 
lo Link encap: Local Loopback 
          inet addr: 127.0.0.1 Mask: 255.0.0.0 
          inet6 addr::: 1 / 128 Scope: Host 
          UP LOOPBACK RUNNING MTU: 16436 Metric: 1 
          RX packets: 182 errors: 0 dropped: 0 overruns: 0 frame: 0 
          TX packets: 182 errors: 0 dropped: 0 overruns: 0 carrier: 0 
          collisions: 0 txqueuelen: 0 
          RX bytes: 12812 (12.5 Kb) TX bytes: 12812 (12.5 Kb) 
 
# 

Див. також ред.

Посилання ред.

  • ifconfig(8). Руководство программиста Linux. 2003. Архів оригіналу за 18 лютого 2012. Процитовано 9 квітня 2011.
  • Linux / Unix ifconfig command (англ.) . Computer Hope. Архів оригіналу за 22 червня 2011. Процитовано 9 квітня 2011.
  • ifconfig(8) (англ.) . Сторінка довідки man системного адміністратора FreeBSD. Архів оригіналу за 12 липня 2013. Процитовано 9 квітня 2011.
  • ifconfig(8) (англ.) . Сторінка довідки man системного адміністратора FreeBSD. Архів оригіналу за 12 липня 2013. Процитовано 9 квітня 2011.