Linux 서버를 운영하다 보면 갑자기 네트워크가 끊기거나, Ping 응답이 불안정하고 SSH 접속이 반복적으로 실패하는 경우가 있습니다. 이러한 현상의 대표적인 원인 중 하나가 Duplicate IP(중복 IP) 입니다.
Duplicate IP는 동일한 네트워크에서 두 개 이상의 장비가 같은 IP 주소를 사용하는 상황을 의미합니다. 이 경우 ARP 테이블이 계속 변경되면서 패킷이 잘못된 서버로 전달될 수 있으며, 서비스 장애로 이어질 수 있습니다.
이번 글에서는 Linux에서 Duplicate IP가 발생하는 원인과 확인 방법, 해결 방법을 실무 중심으로 알아보겠습니다.
Duplicate IP란?
네트워크에서는 하나의 IP 주소가 하나의 장비만 사용해야 합니다.
정상적인 구조는 다음과 같습니다.
192.168.10.10 → Server A
192.168.10.20 → Server B
192.168.10.30 → Server C
하지만 Duplicate IP가 발생하면 다음과 같은 상황이 됩니다.
192.168.10.20
↓
Server A
↓
Server B
동일한 IP를 두 서버가 사용하게 되면서 ARP 정보가 계속 변경됩니다.
Duplicate IP가 발생하는 주요 원인
대표적인 원인은 다음과 같습니다.
- 수동 IP 설정 실수
- DHCP 설정 오류
- VM 복제(Clone)
- Docker 네트워크 충돌
- Kubernetes Node 설정 오류
- Static IP 중복
- Failover 설정 오류
- Proxy ARP 문제
- 잘못된 네트워크 복원
- IP 관리 미흡
실무에서는 수동 IP 설정 실수와 가상머신 복제가 가장 흔한 원인입니다.
1. ARP 상태 확인하기
현재 ARP 정보를 확인합니다.
ip neigh
또는
arp -a
동일한 IP의 MAC 주소가 계속 변경된다면 Duplicate IP를 의심해야 합니다.
2. arping으로 중복 확인하기
가장 많이 사용하는 방법입니다.
arping -D -I eth0 192.168.10.100
중복이 없다면
0 response
중복이 있다면
Received reply
와 같은 메시지가 출력됩니다.
3. MAC 주소 확인하기
현재 인터페이스의 MAC 주소를 확인합니다.
ip link
또는
cat /sys/class/net/eth0/address
ARP 결과와 비교하여 동일한 IP에서 서로 다른 MAC 주소가 응답하는지 확인합니다.
4. tcpdump로 ARP 분석하기
ARP 패킷을 캡처합니다.
tcpdump -i eth0 arp
예를 들어 다음과 같은 상황이 반복되면 중복 IP일 가능성이 높습니다.
ARP Reply
00:11:22:33:44:55
↓
ARP Reply
AA:BB:CC:DD:EE:FF
동일한 IP에 대해 서로 다른 MAC 주소가 응답하는 것입니다.
5. DHCP 서버 확인하기
DHCP 환경이라면 임대 정보를 확인합니다.
Linux DHCP Server에서는
cat /var/lib/dhcp/dhcpd.leases
를 확인합니다.
동일한 IP가 여러 장비에 할당되지 않았는지 점검합니다.
6. 인터페이스 확인하기
현재 인터페이스 상태를 확인합니다.
ip addr
설정된 IP가 의도한 주소인지 확인합니다.
7. Switch MAC Table 확인하기
관리형 스위치에서는 MAC Address Table을 확인합니다.
동일한 IP에 대해 여러 포트에서 MAC이 계속 변경된다면 Duplicate IP 가능성이 매우 높습니다.
8. Docker 및 Kubernetes 확인하기
Docker
docker network ls
Kubernetes
kubectl get nodes -o wide
Overlay Network나 CNI 설정 오류로 중복 IP가 발생하지 않았는지 확인합니다.
9. 로그 확인하기
커널 로그를 확인합니다.
journalctl -k
또는
dmesg | grep -i duplicate
일부 배포판에서는 Duplicate Address Detection(DAD) 관련 로그가 출력될 수 있습니다.
10. IP 변경 후 테스트하기
중복이 확인되면 IP를 변경합니다.
ip addr add 192.168.10.200/24 dev eth0
기존 IP는 제거합니다.
ip addr del 192.168.10.100/24 dev eth0
변경 후 Ping과 SSH 연결을 다시 확인합니다.
Duplicate IP 점검 순서
실무에서는 다음 순서대로 점검하는 것이 좋습니다.
- ARP 확인
- arping 실행
- MAC 주소 비교
- tcpdump 분석
- DHCP 확인
- 인터페이스 확인
- Switch 확인
- Docker/Kubernetes 확인
- 로그 확인
- IP 변경 후 재확인
Duplicate IP 사용 시 주의사항
다음 사항을 고려해야 합니다.
- DHCP와 Static IP를 혼용할 경우 IP 관리 정책을 명확히 한다.
- VM을 복제한 후 네트워크 설정을 반드시 변경한다.
- ARP Cache만 삭제해서는 근본적인 문제가 해결되지 않는다.
- Docker Overlay Network의 IP Pool도 함께 확인한다.
- Kubernetes에서는 Pod CIDR과 Node IP가 충돌하지 않는지 확인한다.
- IP 주소 관리(IPAM)를 체계적으로 운영하는 것이 중요하다.
Duplicate IP는 작은 설정 실수 하나로 전체 서비스 장애를 일으킬 수 있으므로 사전에 예방하는 것이 가장 중요합니다.
Duplicate IP와 ARP Cache 문제의 차이
| 항목 | Duplicate IP | ARP Cache 문제 |
|---|---|---|
| 원인 | 동일한 IP를 여러 장비가 사용 | 잘못된 MAC 정보 저장 |
| 영향 | ARP가 계속 변경됨 | 오래된 ARP 정보 사용 |
| 해결 방법 | IP 변경 | ARP Cache 삭제 |
| 재발 가능성 | 높음 | 비교적 낮음 |
Duplicate IP는 IP 충돌 자체가 원인이며, ARP Cache 문제는 캐시 정보가 오래되거나 잘못된 경우입니다.
자주 묻는 질문
Duplicate IP가 발생하면 Ping은 되는데 SSH가 안 될 수도 있나요?
네. ARP 정보가 계속 변경되면서 패킷이 다른 서버로 전달될 수 있기 때문에 Ping은 간헐적으로 성공하지만 SSH는 실패하는 경우가 자주 발생합니다.
arping만으로 Duplicate IP를 확인할 수 있나요?
대부분의 경우 가능합니다. 다만 방화벽이나 네트워크 장비 설정에 따라 응답이 제한될 수 있으므로 tcpdump와 ip neigh도 함께 확인하는 것이 좋습니다.
가상머신을 복제하면 Duplicate IP가 발생할 수 있나요?
네. VM을 복제한 뒤 네트워크 설정을 변경하지 않으면 동일한 IP와 MAC 주소를 그대로 사용하는 경우가 있어 Duplicate IP 문제가 발생할 수 있습니다.
마무리
Duplicate IP는 Linux 서버에서 예상보다 자주 발생하는 네트워크 장애 원인 중 하나입니다. arping, ip neigh, tcpdump 등을 활용하면 중복 여부를 빠르게 확인할 수 있으며, DHCP 관리와 IP 주소 체계를 명확히 유지하면 대부분의 문제를 예방할 수 있습니다.