Kubernetes
[kubernetes] icmp destination unreachable
su''@
2025. 2. 23. 23:50
- vm에서 네트워크를 설정한 후 ping 테스트
- 자기 자신(192.168.56.100)과 8.8.8.8로는 PING이 날아갔고, apt 명령어로 tool도 설치 됨.
- but, 192.168.56.2 호스트로는 ping이 날아가지 않고 icmp destination unreachable 문제가 발생하는 것을 확인
ping 192.168.56.2
- 문제 원인과 해결방법을 찾아봤는데, 대부분 네트워크 구성의 문제이며, 특히 직접 연결된 네트워크에서 호스트를 찾을 수 없을 때 발생한다고 한다.
원인
- 직접 연결된 네트워크의 통신 문제:
- 목적지 호스트가 같은 네트워크에 있지만 통신할 수 없는 상태1
- ARP(Address Resolution Protocol) 해결 실패로 MAC 주소를 얻지 못한 경우
- 라우팅 문제:
- 라우팅 테이블에 목적지로 가는 경로가 없거나 잘못 설정된 경우
- 게이트웨이 설정이 잘못되었거나 누락된 경우
- 네트워크 인터페이스 설정 문제:
- 네트워크 어댑터가 잘못된 네트워크에 연결된 경우
- 인터페이스가 다운되었거나 비활성화된 상태
- VLAN 또는 네트워크 분리:
- 같은 네트워크처럼 보이지만 VLAN이나 다른 방식으로 분리되어 있는 경우4
- 스위치 설정에서 통신이 차단된 경우
현재 vm 네트워크 상태
- 네트워크 설정 확인
# 인터페이스 상태 확인
ip link show
# ARP 캐시 초기화
bashsudo ip neigh flush all
# 라우팅 테이블 확인
ip route show
# 방화벽 설정 확인
sudo ufw status
- VirtualBox 네트워크 설정 확인
- VirtualBox 관리자에서 네트워크 어댑터 설정 확인
- '호스트 전용 어댑터' 설정이 올바른지 확인
- DHCP 서버 설정 확인
- 네트워크 구성파일 확인
# 네트워크 설정 확인
cat /etc/netplan/*.yaml # Ubuntu의 경우
# 시스템 로그 확인
sudo journalctl -xe
dmesg | grep enp0s8
- 현재 네트워크 상태를 정리해보면
- 네트워크 인터페이스 상태
- enp0s8 인터페이스가 UP 상태이고 1000Mbps Full Duplex로 작동 중
- IP 주소는 192.168.56.100/24로 할당됨
- MTU는 1500으로 설정됨
- 라우팅 테이블
- default via 10.0.2.2 dev enp0s3 (메트릭 100)
- default via 192.168.56.2 dev enp0s8 (메트릭 20101)
- 192.168.56.0/24 네트워크는 enp0s8 인터페이스로 라우팅됨
- 시스템 로그
- NetworkManager가 비활성화됨
- DNS 서버 8.8.8.8에 대한 UDP+EDNS0 대신 UDP 사용 중
- 방화벽(ufw)은 비활성화 상태
- 문제점
- 192.168.56.2로의 라우팅이 설정되어 있지만 통신이 되지 않는 상태
- 중복된 기본 게이트웨이 경로가 존재하여 라우팅에 문제가 있을 수 있음
- NetworkManager 서비스가 비활성화되어 네트워크 관리에 제한이 있을 수 있음
- 네트워크 인터페이스 상태
해결방법
# 중복된 게이트웨이 제거
sudo ip route del default via 192.168.56.2 dev enp0s8
# ARP 캐시 초기화 - MAC 주소 해결 문제를 해결 가능
sudo ip neigh flush all
# MTU 크기 조정
sudo ip link set dev enp0s8 mtu 1400
# 네트워크 인터페이스 재시작
sudo ip link set enp0s8 down
sudo ip link set enp0s8 up
- 해결방법을 따라했는데도,, 문제가 해결되지 않는다,,,ㅜㅜ 뭐가 문제인건지…
- virtualBox의 호스트 전용 네트워크를 확인해보기로 했다.
VBoxManage list hostonlyifs
C:\\Program Files\\Oracle\\VirtualBox>VBoxManage list hostonlyifs
Name: VirtualBox Host-Only Ethernet Adapter #2
GUID: 23ac7b63-ff95-489b-9c93-5ca577d8af20
DHCP: Disabled
IPAddress: 192.168.194.1
NetworkMask: 255.255.255.0
IPV6Address: fe80::5f19:68e5:c331:ff8c
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:04
MediumType: Ethernet
Wireless: No
Status: Up
VBoxNetworkName: HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #2
Name: VirtualBox Host-Only Ethernet Adapter #3
GUID: 6041985b-821b-4148-82db-98fbe93525d4
DHCP: Disabled
IPAddress: 192.168.1.1
NetworkMask: 255.255.255.0
IPV6Address: fe80::78de:bea5:b270:cd8f
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:0a
MediumType: Ethernet
Wireless: No
Status: Up
VBoxNetworkName: HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #3
Name: VirtualBox Host-Only Ethernet Adapter
GUID: 851a4a1b-0b17-4d06-b9fa-2ac19f7c678f
DHCP: Disabled
IPAddress: 192.168.56.1
NetworkMask: 255.255.255.0
IPV6Address: fe80::b00a:b83:ff27:2976
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:0d
MediumType: Ethernet
Wireless: No
Status: Up
VBoxNetworkName: HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter
- 현재 상황:
- 192.168.56.1이 할당된 "VirtualBox Host-Only Ethernet Adapter"가 있는데 DHCP가 모든 어댑터에서 비활성화(Disabled) 상태
- 세 개의 서로 다른 호스트 전용 네트워크가 존재
- 문제점:
- DHCP가 비활성화되어 있어서 자동 IP 할당이 안됨
- 여러 호스트 전용 네트워크가 있어 혼선이 있을 수 있음
- 일단 vm을 끄고 virtualBox에서 호스트 네트워크를 다시 설정해보기로 했다.
- 해결 방법:
- VirtualBox 관리자에서:
- 파일 > 호스트 네트워크 관리자 실행
- "VirtualBox Host-Only Ethernet Adapter" 선택
- DHCP 서버 활성화
- IP 주소 범위 설정 (192.168.56.2 ~ 192.168.56.254)
- VM 설정에서:
- VM을 종료
- 네트워크 설정에서 사용하지 않는 어댑터 제거
- "VirtualBox Host-Only Ethernet Adapter"만 사용하도록 설정
- VirtualBox 관리자에서:
다 확인해봤지만,, 결국 해결을 못했다,,, 재설치해보고 문제 발생하는지 확인해봐야겠다..
k8s 구성하기를 재시도 해봤다.
드디어 icmp 통신이 되지 않는 이유를 알았는데, 방화벽 문제였다..
파일 및 프린터 공유(에코 요청 - ICMPv4-in) 개인, 공용 / 파일 및 프린터 공유(에코 요청 - ICMPv6-in) 개인, 공용을 허용해주었더니 icmp 통신이 잘 되는 걸 확인 할 수 있었다..ㅜㅜ