리눅스에서 ip 명령으로 IP 제거


12

이처럼 두 개의 IP를 추가하면 :

ip addr add 1.1.1.1/24 dev eth2
ip addr add 1.1.1.2/24 dev eth2

그런 다음 다음 중 하나를 삭제하려고합니다.

ip addr del 1.1.1.2/24 dev eth2

두 IP가 모두 삭제되며 처리 방법을 모르겠습니다.

아무도 그것을 해결하는 방법을 알고 있습니까?


당신의 요구 사항이 명확하지 않습니다. 여기서 예상되는 결과가 무엇인지 알 수 있습니까?
Guru

둘 중 하나가 아닌 하나의 IP 만 삭제하기 위해 ip를 말해야합니다.
Hamed JML

ip addr show출력 추가
Gevial

답변:


10

인터페이스에서 기본 IP 주소를 삭제하면 기본적으로 동일한 서브넷의 다른 모든 주소가 삭제됩니다.

이것은 12-Mar-13에 대한 답변을 제공 한 사용자가보고 한 REHL 버그 1136733에 대한 회신입니다 .

동일한 서브넷에 여러 주소를 추가하므로 두 번째 및 그 이후의 주소가 보조가됩니다. 이것은 "ip addr show"출력에서 볼 수 있습니다. 해당 주소 옆에 "secondary"라는 키워드가 있습니다.

기본적으로 기본 주소를 삭제하면 커널은 모든 해당 보조 항목도 삭제합니다.

보조 삭제 중 하나를 기본 삭제시 새 기본으로 승격 시키려면 net.ipv4.conf.eth9.promote_secondaries sysctl을 설정하십시오.


sudo systemctl net.ipv4.conf.eth0.promote_secondaries알 수없는 작업 net.ipv4.conf.eth0.promote_secondaries.
Laryx Decidua

@LaryxDecidua의 systemctl는 전혀 다른 명령입니다 sysctl을
yahol

7

삭제시 / 24 네트워크 마스크를 사용하기 때문에 발생합니다. 입력 한 주소에 적용됩니다. 다음을 시도하십시오 :

ip addr del 1.1.1.2/32 dev eth2

/ 32 마스크는 정확히 하나의 호스트를 정의합니다.


시스템에 / 24 넷 마스크가 / 32가 아니기 때문에 작동하지 않습니다.
Hamed JML

넷 마스크없이 시도해보십시오 :ip addr del 1.1.1.2 dev eth2
Gevial

다시 두 IP를 모두 삭제합니다 !!
Hamed JML

이상한. 내 테스트에서 넷 마스크없이 CentOS 상자를 성공적으로 삭제했습니다. / 24로 삭제해도 하나의 주소에만 영향을 미쳤습니다. 어떤 배포판을 사용하고 있습니까?
Gevial

1
저는 우분투 12.04를 사용하고 있습니다
Hamed JML

2

나는 이것을 확인할 eth2가 없지만 eth0에서 올바르게 작동하며 eth2가 마술이어야하는 이유가 없다. ip로 추가 된 추가 주소를 표시하지 않는 것처럼 사용 ip addr show dev eth2하고 있다고 가정합니다 ifconfig eth2.

내가 주목 한 것은 주소를 만들거나 삭제하는 순서가 중요하다는 것입니다. 기본 주소가 삭제되면 동일한 네트워크 내에 추가 된 두 번째 및 이후 주소가 삭제됩니다. 고려 ...

    inet 1.1.1.1/24 scope global eth0
    inet 1.1.2.3/24 scope global eth0
    inet 1.1.1.2/24 scope global secondary eth0
    inet 1.1.1.3/24 scope global secondary eth0

1.1.1.1을 삭제하면 1.2 및 1.3 주소도 삭제됩니다. 다른 주소를 삭제하면 해당 주소 만 삭제됩니다.


다른 주소를 제거하지 않고 첫 번째 주소를 어떻게 삭제합니까?
Hamed JML

0

나는 다음을 시도 할 것이다 :

ip addr del 1.1.1.2 dev eth2


0

@bvs대답은 문제의 올바른 방향을 정확하게 지적하고 나를 위해 해결했습니다. 정확한 명령에 대한 자세한 내용은 다음과 같습니다. 많은 기본 인터페이스는 eth0입니다. 다음 명령 eth2에서 원래 질문 으로 대체해야합니다 .

임시 솔루션 (재부팅까지)의 경우

sudo sysctl -w net.ipv4.conf.eth0.promote_secondaries=1

재부팅 후에도 지속되는 영구 솔루션의 경우 다음 컨텐츠 로 파일 /etc/sysctl.d/ip-promote.conf(또는로 끝나는 다른 파일 이름 .conf)을 작성하십시오.

# The following makes that a second IP on the eth0 interface
# is promoted as primary IP instead of being removed.
net.ipv4.conf.eth0.promote_secondaries=1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.