Посібник з використання 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. Якщо у вас є додаткові команди, які можуть бути корисними і не перераховані в цьому посібнику, будь ласка, опублікуйте їх у розділі коментарів. Я буду радий оновити їх тут.