ifconfig не відображає всіх IP-адрес, прив'язаних до машини


11

Я налаштував кілька IP-адрес у вікні ubuntu, але коли я запускаю, ifconfigвін показує лише одну з них. Однак я в змозі пропрасувати всі інші адреси, призначені для цієї машини.

/etc/network/interface вміст:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
     address 192.168.202.11
     netmask 255.255.255.0
     network 192.168.202.0
     broadcast 192.168.202.255
     gateway 192.168.202.1

# dns-* options are implemented by the resolvconf package, if installed   
dns-search idil.dz1.da

auto eth0:1    
iface eth0:1 inet static
     address 192.168.202.12   
     netmask 255.255.255.0

auto eth0:2
iface eth0:2 inet static
     address 192.168.202.13
     netmask 255.255.255.0

auto eth0:3
iface eth0:3 inet static
     address 192.168.202.14
     netmask 255.255.255.0

auto eth0:4
iface eth0:4 inet static
     address 192.168.202.15
     netmask 255.255.255.0

auto eth0:5
iface eth0:5 inet static
     address 192.168.202.16   
     netmask 255.255.255.0

Однак вихід ifconfigмає лише:

192.168.202.11


ifconfig - відобразити все?
Алекс R

він показує лише eth0 ip адресу .. :(
pankaj sharma

1
Який реліз Ubuntu ви використовуєте? Будь ласка, додайте свою інформацію до помилки # 921280.
jdthood

1
ip addr showтвори
xinthose

Відповіді:


20

ifconfigпо суті є застарілим, хоча я не знаю планів, щоб позбутися цього. Заміна - це ipкоманда. Сучасний еквівалент сам ifconfigпо собі є ip address list.

Чому ifconfigйого замінили ip? Багато нових функціональних можливостей було додано до мереж Linux протягом десятиліть, відколи їх ifconfigбуло написано. Це стосувалося абсолютно нового API (netlink) для інструменту простору користувачів, щоб говорити з ядром для налаштування мережі. Набагато практичніше було написати новий інструмент, щоб краще відобразити нову функціональність через API netlink та вниз до командного рядка, ніж намагатися адаптувати старий ifconfigінструмент. Перегляньте сторінку ip (8) на всі нові цікаві речі, які ви можете зробити зараз.

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

Причина , по якій ifconfigпостане перед вами IP - псевдоніми, що він виглядає , як вони додаються по Debian - х ifupdown(пакет, ручка /etc/network/interfaces) з використанням іншого механізму , яка не додає міток :1, :2і т.д. Таким чином, ifconfigінструмент сліпий до них, оскільки старий API призначав ці мітки, і тому додаткові адреси не збігаються зі старим API. З манпайту ip-адреси (8) :

          Each address may be tagged with a label string.  In order to
          preserve compatibility with Linux-2.0 net aliases, this string
          must coincide with the name of the device or must be prefixed
          with the device name followed by colon.

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


0

Це, швидше за все, помилка в пакеті net-tools і ifconfigконкретно.

Дивіться помилки на панелі запуску тут і тут для отримання додаткової інформації.

Якщо ви вводите свої інтерфейси вручну, з командного рядка, використовуючи ifconfigтакий (слідуючи наведеній вище конфігурації):

sudo ifconfig eth0:1 192.168.202.12 netmask 255.255.255.0
sudo ifconfig eth0:2 192.168.202.13 netmask 255.255.255.0
sudo ifconfig eth0:3 192.168.202.14 netmask 255.255.255.0
sudo ifconfig eth0:4 192.168.202.15 netmask 255.255.255.0
sudo ifconfig eth0:5 192.168.202.16 netmask 255.255.255.0

Ці інтерфейси відображатимуться, як очікувалося, під час роботи ifconfig.

/etc/network/interfacesОднак ці зміни не відображатимуться у ваших . Отже, вам потрібно буде їх додати в обох місцях.

Примітка. Це також не підтримується для всіх скидів інтерфейсу, тому вам потрібно буде перезапустити команди при перезапуску інтерфейсу / машини.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.