ifconfig가 머신에 바인딩 된 모든 IP를 표시하지 않습니다


11

우분투 상자에 여러 개의 IP 주소를 구성했지만 실행할 때 그 ifconfig중 하나만 표시합니다. 그러나이 컴퓨터에 할당 된 다른 모든 주소를 핑 (ping) 할 수 있습니다.

/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 -a가 모든 것을 표시합니까?
Alex R

그것은 단지 eth0를 IP 주소를 보여주는 .. :(
판 카지 샤르마

1
어떤 우분투 릴리스를 실행하고 있습니까? 버그 # 921280에도 정보를 추가하십시오.
jdthood

1
ip addr show작품
xinthose

답변:


20

ifconfig제거 할 계획이 없지만 기본적으로 더 이상 사용되지 않습니다. 대체는 ip명령입니다. ifconfig그 자체로 현대의 동등한 것입니다 ip address list.

ifconfig로 대체 된 이유는 무엇 ip입니까? Linux 네트워킹에는 수십 년 동안 많은 새로운 기능이 추가되었습니다 ifconfig. 여기에는 사용자 공간 도구가 네트워크를 구성하기 위해 커널과 통신 할 수있는 완전히 새로운 API (netlink)가 포함되었습니다. 기존 도구를 사용하여 수정하는 것보다 netlink API를 통해 명령 줄에 새 기능을 더 잘 매핑하기 위해 새 도구를 작성하는 것이 훨씬 실용적이었습니다 ifconfig. 지금 할 수있는 모든 멋진 새 기능에 대해서는 ip (8) 맨 페이지 를 확인하십시오 .

사용하는 커널 API ifconfigifconfig도구 자체는 이전 버전과의 호환성을 위해 남아 있지만이 인터페이스는 이전 모델에 쉽게 매핑되지 않는 모든 항목에 적용되지 않습니다.

이유 ifconfig당신에게 IP 별칭을 표시하지 않습니다 그들이 데비안의 추가되고있는 것처럼 보이는 것입니다 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. 따라서 두 위치에 모두 추가해야합니다.

참고 : 이는 인터페이스 재설정에서도 지속되지 않으므로 인터페이스 / 시스템을 다시 시작할 때 명령을 다시 실행해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.