이처럼 두 개의 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가 모두 삭제되며 처리 방법을 모르겠습니다.
아무도 그것을 해결하는 방법을 알고 있습니까?
ip addr show
출력 추가
이처럼 두 개의 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가 모두 삭제되며 처리 방법을 모르겠습니다.
아무도 그것을 해결하는 방법을 알고 있습니까?
ip addr show
출력 추가
답변:
인터페이스에서 기본 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.
삭제시 / 24 네트워크 마스크를 사용하기 때문에 발생합니다. 입력 한 주소에 적용됩니다. 다음을 시도하십시오 :
ip addr del 1.1.1.2/32 dev eth2
/ 32 마스크는 정확히 하나의 호스트를 정의합니다.
ip addr del 1.1.1.2 dev eth2
나는 이것을 확인할 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 주소도 삭제됩니다. 다른 주소를 삭제하면 해당 주소 만 삭제됩니다.
@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