Посібник з використання ifconfig та ip на Linux

Посібник з використання ifconfig та ip на Linux

 

Ласкаво просимо до посібника з використання ifconfig vs ip на Linux. ifconfig та команди ip в основному корисні при управлінні мережею в системах Linux/Unix. Команда ip існує вже деякий час, але більшість людей все ще дотримуються ifconfig для щоденних конфігурацій мережі та усунення несправностей у Linux. У цій статті я спробую дати вам основи, необхідні для освоєння команди ip, і покажу порівняння між ними.

У двох словах, інструмент ip повинен бути заміною ifconfig, оскільки ifconfig вважається застарілим і жодна активна розробка на ньому не ведеться. У останніх версіях систем Linux команда ifconfig відсутня і може бути встановлена з пакета net-tools. Установка на різні ОС відбувається так, як показано нижче.

Встановлення ifconfig на Arch Linux

На Arch Linux інструмент ifconfig надається пакетом net-tools, який можна встановити за допомогою наведених нижче команд.

$ sudo pacman -S net-tools
$ sudo pacman -Qi net-tools
Name : net-tools
Version : 1.60.20160710git-1
Description : Configuration tools for Linux networking
Architecture : x86_64
URL : http://net-tools.sourceforge.net/
Licenses : GPL2
.....

Щоб підтвердити, що інструмент встановлений, просто видайте команду ifconfig на терміналі.

Встановлення ifconfig на Ubuntu Linux

Якщо у вашій версії Ubuntu відсутня команда ifconfig, ви можете встановити її за допомогою:

sudo apt-get install net-tools

Установка ifconfig на Fedora / CentOS

### CentOS ###
sudo yum install net-tools

### Fedora ###
sudo dnf install net-tools

Для команди ip, якщо вона відсутня з будь-якої причини, ви також можете встановити її.

Встановити команду ip на Ubuntu

ip команда на Ubuntu забезпечується пакетом iproute2, який встановлюється з apt-get.

sudo apt-get install iproute2

Встановити команду ip на CentOS / Fedora

Пакет, який надає команду ip, це iproute, який можна встановити або оновити за допомогою yum/dnf

sudo yum -y install iproute

Порівняння команд ip і ifconfig

Для цього порівняння ми використаємо кілька прикладів, щоб продемонструвати, як все робиться з командою ip та подібними командами, що використовуються з ifconfig. Оскільки обидві команди доступні у всіх дистрибутивах Linux, ви можете використовувати те, що вам зручно. Якщо ви вже давно користуєтеся ifconfig, цей посібник познайомить вас із командами, достатніми для початку роботи з ip tool.

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

Відображення мережевих інтерфейсів та інформації про ip-адресу

Щоб отримати всю інформацію, пов’язану з IP-адресою, за допомогою ip/ifconfig, використовуються ці команди.

$ ifconfig
$ ip addr

Вимкнути/підняти мережевий інтерфейс:

Якщо ви хочете видалити або викликати інтерфейс, це часто робиться при зміні конфігурацій мережі, ви можете використовувати наведені нижче команди. Інтерфейс eth0 може бути замінений будь-яким іншим ім’ям інтерфейсу.

sudo ifconfig eth0  {up|down}
sudo ip link set dev eth0 {up|down}

Встановіть статичний IP і маску мережі:

Налаштування статичного IP можна виконати за допомогою ip або ifconfig. Але зауважте, що зміни, внесені за допомогою цих команд, не є стійкими проти перезавантаження. Дізнайтеся більше про налаштування статичної IP-адреси за допомогою інструменту nmcli або змінивши файл конфігурації мережі у вашому дистрибутиві для постійних змін.

sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0
sudo ip addr add 192.168.1.10/34 dev eth0

Видалити статичну IP-адресу:

Щоб очистити інформацію про IP-адресу для синтаксису команд інтерфейсу, наведений нижче для обох інструментів:

sudo ifconfig eth0 del 192.168.1.10
sudo ip addr del 192.168.1.10/24 dev eth0

Встановити мережевий MTU

MTU – це абревіатура від maximum transmission unit. У мережі це розмір найбільшої одиниці даних протоколу мережевого рівня, яка може бути передана в одній мережевій транзакції. У цьому прикладі встановлено розмір mtu 1500 байт. Більші значення MTU є звичайними для серверів/систем зберігання даних.

sudo ifconfig eth0 mtu 1500
sudo ip link set dev eth0 mtu 1500

Увімкнути Promiscuous Mode

Promiscuous mode – це режим роботи в мережі, при якому кожен переданий пакет даних може бути прийнятий і прочитаний мережевим адаптером. Це часто використовується для моніторингу мережевої активності.

sudo ifconfig eth0 promisc
sudo ip link set dev eth0 promisc on

Увімкнути ARP

Протокол роздільної здатності адрес — це протокол зв’язку, який використовується для виявлення адреси канального рівня, пов’язаної з певною адресою IPv4, що є критично важливою функцією в комп’ютерних мережах за протоколом Інтернету. Щоб увімкнути його, виконайте команди:

sudo ifconfig eth0 arp
sudo ip link set dev eth0 arp on

Встановити MAC-адресу

ip та ifconfig можуть виконувати зміну MAC-адреси під час виконання. У цьому прикладі ми встановлюємо MAC-адресу як aa:bb:cc:dd:ee:ff. Зауважте, що кожен NIC має фіксовану mac-адресу, яку не можна змінити, змінювати адресу mac не рекомендується, оскільки це може спричинити проблеми з мережевим зв’язком рівня 2, якщо існує будь-яке колізії.

sudo ifconfig eth0 hw ether  aa:bb:cc:dd:ee:ff
sudo ip link set dev eth0 address aa:bb:cc:dd:ee:ff

Додати маршрут за замовчуванням через IP-адресу шлюзу

Маршрут за замовчуванням може бути встановлений за допомогою команд ip та ifconfig для пунктів призначення без визначення статичних маршрутів.

sudo route add default gw 192.168.1.1
sudo ip route add default via 192.168.1.1

Встановити статичний маршрут

Статичний маршрут визначає пункт призначення до певної мережі. У цьому прикладі ми вказуємо, що всі пакети, призначені для мережі 192.168.3.0/24, повинні проходити через шлюз 192.168.1.1. Мережевий інтерфейс до шлюзу за замовчуванням – eth0.

sudo route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.1
sudo ip route add 192.168.3.0/24 via 192.168.1.1 dev eth0

Перегляд сусідів (за допомогою ARP і NDP):

Щоб перевірити таблицю ARP, запустіть:

$ ip neighbor show

Відобразити поточний маршрут за замовчуванням.

$ ip route show | head -n 1

Видалити gw за замовчуванням

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

$ ip route del default via 62.12.113.1 dev eth1

Висновок

Сподіваюся, цей посібник – ifconfig vs ip посібник з використання Linux був корисним для ознайомлення з інструментами командного рядка ip та ifconfig, які використовуються для керування мережею в Linux. Якщо у вас є додаткові команди, які можуть бути корисними і не перераховані в цьому посібнику, будь ласка, опублікуйте їх у розділі коментарів. Я буду радий оновити їх тут.

Прокрутка до верху