ifconfig не показывает все IP-адреса, связанные с машиной

Я настроил несколько 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

10
задан 14 August 2013 в 12:10

2 ответа

Это, скорее всего, ошибка в пакете 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

Эти интерфейсы будут отображаться, как и ожидалось, при запуске [ 113].

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

Примечание: это также не является постоянным при перезагрузке интерфейса, поэтому вам нужно будет повторно запустить команды после перезапуска интерфейса / машины.

0
ответ дан 14 August 2013 в 12:10

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

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

API ядра, используемый в ifconfig и самом инструменте ifconfig, остается для обратной совместимости, но этот интерфейс не учитывает ничего, что не может быть легко сопоставлено со старой моделью.

Причина, по которой ifconfig не показывает вам псевдонимы IP, заключается в том, что похоже, что они добавляются Debian ifupdown (пакет, который обрабатывает /etc/network/interfaces) с использованием другого механизма, который не добавляет метки :1, :2 и т. Д. Таким образом, инструмент ifconfig для них невидим, поскольку старый API предписывал эти метки, и поэтому дополнительные адреса не отображаются на старый API. Из man-страницы ip-address (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.

Ошибки, связанные с ответом maggotbrain, похоже, были сосредоточены вокруг добавления поддержки ifconfig для чтения адресов без меток. Другой подход может заключаться в том, чтобы ifupdown создать адреса с метками, чтобы ifconfig мог видеть их без изменений.

0
ответ дан 14 August 2013 в 12:10

Другие вопросы по тегам:

Похожие вопросы: