리눅스에서 특정 IP를 다운하는 방법은 무엇입니까?

리눅스에서 특정 IP를 다운하는 방법은 무엇입니까?

안녕하세요 여러분, 저는 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 주소를 특정 레이블/별칭과 연결할 수 있습니다. 별칭은 우리의 편의를 위한 것입니다.

아래 사례에서는 레이블이 IP 주소 eth0:1와 연결되어 있습니다 . 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

관련 정보