인터페이스와 연결된 주소가 없는 경우에도 "ip addr" 명령은 "UP"을 표시합니다.

인터페이스와 연결된 주소가 없는 경우에도 "ip addr" 명령은 "UP"을 표시합니다.

네트워크 인터페이스 업이 무엇을 의미하는지 알고 싶습니다. ip addror ifconfig명령은 연결된 IP가 없더라도 인터페이스가 작동 중인 것으로 표시하기 때문입니다 .

예를 들어 RHEL7의 경우:

[root@IDCDVAM887 ~]# ifconfig ens256
ens256: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:50:56:9e:19:5b  txqueuelen 1000  (Ethernet)
        RX packets 229406  bytes 59265584 (56.5 MiB)
        RX errors 0  dropped 229454  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(또는)

[root@IDCDVAM887 ~]# ip addr show ens256
5: ens256: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:50:56:9e:19:5b brd ff:ff:ff:ff:ff:ff

인터페이스에 IP가 전혀 없을 때 UP을 표시하는 실제 목적은 무엇입니까? IP가 없으면 통신이 불가능하다고 생각하시나요? 그럼 그것은 무엇을 위해 사용됩니까?

답변1

LOWER_UP상태이더넷링크(또는 다른 링크 계층 프로토콜). 로 정의되며 Driver signals L1 up이는 기본적으로 케이블이 설치되어 있으며 케이블 반대편에 다른 장치가 보이는 것을 의미합니다.

UP활성화되었음을 나타냅니다 . 이는 ip link set <device> upof 명령을 사용하여 사용자(또는 스크립트)가 제어할 수 있습니다 ifconfig <device> up.

다음과 같은 다른 프로토콜이 있습니다.IPX이더넷이 사용되지만 인터넷 프로토콜 스택의 일부가 아니기 때문에 IP 주소는 없습니다. 따라서 UP링크가 IP 주소를 가지지만 IP 주소를 가지지 않는 것은 완벽하게 허용됩니다.

답변2

상태 UP관리인터페이스의 상태, 즉 인터페이스가 활성화되어 있는지 여부입니다. 예를 들어 다음을 사용하여 모든 인터페이스를 활성화할 수 있습니다.

ip l s eth0 up

케이블이 연결되고 링크가 설정되면 인터페이스도 다음을 얻습니다.작동하다상태 RUNNING.

많은 카드는 관리 상태가 가 아니면 발신 반송파 생성을 비활성화 UP하고 인터페이스도 그렇게 UP할 수 없으므로 RUNNING다음과 같이 설정합니다.

ip l s eth0 down

내 로컬 인터페이스가 동시에 손실되고 원격 측의 해당 인터페이스도 더 이상 존재하지 않기를 원합니다 UP( RUNNING그러나 RUNNING여전히 UP내 측을 다시 활성화하면 링크를 얻게 됩니다).

그러나 이것은 단지 이더넷 링크일 뿐입니다. 링크에는 다양한 프로토콜이 바인딩될 수 있으며 그 중 하나가 IPv4입니다. 기본적으로 IPv4는 이 프로토콜 제품군을 지원하는 모든 인터페이스에 바인딩됩니다.

프로토콜을 바인딩한 후에는 인터페이스에 할당된 모든 주소로 패킷을 보내고 받을 수 있습니다. 주소가 할당되지 않은 경우 이는 단순히 나가는 패킷에 사용할 수 있는 유효한 주소가 없거나(따라서 패킷 전송 실패) 들어오는 패킷의 주소가 시스템에서 로컬로 인식되는 유니캐스트 주소로 지정될 수 있음을 의미합니다(따라서 수신만 가능함). 브로드캐스트/멀티캐스트 패킷).

이는 링크만 설정하므로 링크 레이어와는 아무런 관련이 없습니다.

일부 프로그램(예: DHCP 클라이언트)에는 임의로 형식이 지정된 패킷을 보내고(가상의 소스 주소를 입력할지 여부) 0.0.0.0로컬 컴퓨터로 향하는지 여부에 관계없이 도착하는 패킷을 받을 수 있는 특별한 권한이 있습니다. 이는 자동 IP 주소 구성 중에 사용됩니다. 여기서 DHCP 요청은 소스 주소를 사용하여 전송되고 0.0.0.0서버의 응답은 브로드캐스트 주소로 전송됩니다 255.255.255.255.

따라서 인터페이스에 바인딩된 주소가 없더라도 IP 패킷을 교환하는 유효한 사용 사례가 있습니다.

IPv4 외에도 IPv6, IPX, AppleTalk 등이 있으며 모두 동일한 물리 계층을 공유할 수 있습니다. 링크가 설정되면 더 높은 수준의 프로토콜은 자체 활성화 시퀀스를 사용하여 작동 상태로 들어갈 수 있습니다.

답변3

주소나 케이블이 없어도 인터페이스가 "표시"될 수 있습니다. "작동" 상태는 운영 체제에서 장치를 활성화했는지 여부를 나타냅니다.

RUNNING 또는 LOWER_UP은 데이터 링크 계층(계층 2라고도 함)을 나타내며, 이는 이더넷 패킷을 보내고 받을 수 있음을 의미합니다. IP는 그 위에 구축된 것입니다.

인터페이스가 작동 중이지만 IP가 없는(그리고 IP를 할당해서는 안 되는) 구성의 예는 인터페이스가 브리지 슬레이브인 것입니다.

답변4

마술은 -4또는 옵션을 지정하면 -oneline실제로 상상한 대로 "실행" 인터페이스가 표시된다는 것입니다.

읽기 쉽게 옵션을 사용했지만 -brief결론은 중요하지 않습니다.

옵션 결과를 보면 up여전히 DOWN장치가 표시됩니다.

ubuntu@ubuntu:~$ ip -brief address show up
lo               UNKNOWN        127.0.0.1/8 ::1/128
eno1             DOWN
enp130s0f0       UP             100.79.223.150/26 fe80::a9e:1ff:fed9:2864/64

옵션 결과를 보면 -4모두 주소가 있고 DOWN장치가 없습니다.

ubuntu@ubuntu:~$ ip -4 -brief address show
lo               UNKNOWN        127.0.0.1/8
enp130s0f0       UP             100.79.223.150/26

-online모두 주소가 있고 DOWN장치는 없지만 주소를 IPv4와 IPv6로 분할한 옵션의 결과를 봅니다 .

ubuntu@ubuntu:~$ ip -oneline address show
1: lo    inet 127.0.0.1/8 scope host lo\       valid_lft forever preferred_lft forever
1: lo    inet6 ::1/128 scope host \       valid_lft forever preferred_lft forever
4: enp130s0f0    inet 100.79.223.150/26 brd 100.79.223.191 scope global enp130s0f0\       valid_lft forever preferred_lft forever
4: enp130s0f0    inet6 fe80::a9e:1ff:fed9:2864/64 scope link \       valid_lft forever preferred_lft forever

관련 정보