안녕하세요 여러분, 사용 가능한 IP 집합에서 특정 IP를 제거하려고 합니다. 어떻게 해야 합니까? 예를 들어, 다음과 같은 IP(동일한 순서)가 있다고 가정해 보겠습니다. 1.2.3.4 1.2.3.5 1.2.3.6 x=4,5,6인 경우 "ifconfig etho:x 1.2.3.x up"을 사용하여 이 작업을 수행합니다. 이제 첫 번째 IP인 1.2.3.4만 다운시키려고 합니다. "ifconfig eth0:4 down"으로 시도했습니다. 문제는 이로 인해 원하는 IP뿐만 아니라 그 아래의 모든 IP도 다운된다는 것입니다. 저는 Linux RedHat에서 일하고 있습니다. 미리 감사드립니다...
답변1
ip addr del 1.2.3.4/24 dev eth0:4
이는 eth0:n
실제로 인터페이스가 아니며 레이블(또는 별칭)이라고 합니다. 동일한 인터페이스에 여러 주소를 할당할 수 있으므로 레이블은 IP의 목적을 구별하는 데 도움이 될 수 있습니다. 이것은 또한 레이블을 설정할 때 실제로 eth0과 대화하기 때문에 다른 모든 것이 따르는 이유를 설명합니다.
답변2
대부분의 운영 체제에서는 IP 별칭 또는 논리 네트워크 인터페이스라고 하는 단일 인터페이스에 여러 IP 주소를 할당할 수 있습니다. 여러 IP 주소를 특정 레이블/별칭과 연결할 수 있습니다. 별칭은 우리 자신의 편의를 위한 것입니다.
아래 예에서 레이블은 eth0:1
IP 주소와 연결되어 있습니다. 192.168.1.1 to 192.168.1.3
그리고 eth0:2
라벨은 와 연관되어 있습니다 192.168.1.4 to 192.168.1.6
.
# ip addr add 192.168.1.1/24 dev eth0 label eth0:1
# ip addr add 192.168.1.2/24 dev eth0 label eth0:1
# ip addr add 192.168.1.3/24 dev eth0 label eth0:1
# ip addr add 192.168.1.4/24 dev eth0 label eth0:2
# ip addr add 192.168.1.5/24 dev eth0 label eth0:2
# ip addr add 192.168.1.6/24 dev eth0 label eth0:2
$ ip addr ls dev eth0
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1
inet 192.168.1.3/24 scope global secondary eth0:1
inet 192.168.1.4/24 scope global secondary eth0:2
inet 192.168.1.5/24 scope global secondary eth0:2
inet 192.168.1.6/24 scope global secondary eth0:2
특정 IP 주소를 인터페이스에 연결하거나 여러 IP 주소를 별칭에 연결할 수 있습니다.
다음 명령은 레이블과 연결된 모든 IP 주소를 나열합니다 eth0:1
.
$ ip addr ls label eth0:1
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1
inet 192.168.1.3/24 scope global secondary eth0:1
특정 IP 주소를 제거할 수 있습니다.
$ sudo ip addr del 192.168.1.3/24 dev eth0
$ sudo ip addr ls label eth0:1
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1