
도커 네트워크 통신 과정 추적 (2부)
안녕하세요! 이번 글에서는 도커 네트워크 통신 과정을 실습을 통해 추적해보겠습니다.
1부에서 다룬 Docker0 (브릿지 네트워크), veth (가상 네트워크 인터페이스), eth0 (컨테이너 내부 네트워크 인터페이스) 구조를 기반으로 내부망 통신과 외부망 통신을 직접 확인해 보겠습니다. 아직 1부를 보지 않으셨다면 먼저 확인하신 후 진행하시면 더욱 이해하기 쉬울 것입니다. 🚀
1. 내부망 통신 분석
1) 컨테이너 확인 및 기본 패키지 설치
docker ps
-
실행 중인 컨테이너 목록 확인
docker exec -it container1 bash sudo apt update && sudo apt install -y iputils-ping traceroute curl net-tools
-
핑(ping), 트레이스 라우트(traceroute), 네트워크 도구(net-tools) 설치
ip addr show eth0
-
컨테이너 내부 네트워크 IP 주소 확인 (
172.17.0.4
등으로 할당됨)
2) 내부 컨테이너 간 통신 테스트
ping -c 3 172.17.0.3
-
다른 컨테이너 (
172.17.0.3
)에 핑을 보내 통신 여부 확인
traceroute 172.17.0.3
-
통신 경로 추적 (브릿지를 경유하여 연결됨 확인 가능)
3) 패킷 캡처를 통한 통신 흐름 확인
호스트에서 패킷 캡처 도구를 설치하고 실행합니다.
sudo dnf install -y wireshark-cli
-
CLI 환경에서 사용할 TShark (Wireshark의 터미널 버전) 설치
sudo tshark -i docker0
-
Docker0 인터페이스에서 패킷 캡처 시작
ping -c 3 172.17.0.3
-
패킷이 Docker0를 거쳐 컨테이너 간 이동하는 과정 확인 가능
2. 외부망 통신 분석
1) 외부 네트워크 접속 확인
curl -I https://www.google.com
-
구글 웹서버에 HTTP 요청을 보내 네트워크 연결 확인
sudo tshark -i docker0
-
패킷 캡처를 통해 SYN, SYN-ACK, ACK 등의 통신 흐름 확인
traceroute -n 8.8.8.8
-
라우팅 경로 추적 (Docker0 → 호스트 → 인터넷 게이트웨이 순으로 연결됨 확인 가능)
3. 도커 네트워크 정책 및 방화벽 설정 점검
도커의 네트워크 연결은 Linux Netfilter(IPTables) 기반으로 동작합니다.
1) 현재 도커 네트워크 방화벽 규칙 확인
sudo iptables -L -n
-
도커의 기본 네트워크 포워딩 정책 확인
2) 강제 차단 실험
sudo iptables -F
-
모든 네트워크 정책 초기화 (통신 차단됨)
ping -c 3 8.8.8.8 curl -I https://www.google.com
-
통신 불가 상태 확인
3) 도커 네트워크 재설정 및 해결
sudo systemctl restart docker
-
도커 서비스 재시작하여 네트워크 정책 복원
docker ps -a -q | xargs docker start
-
모든 컨테이너 재시작
ping -c 3 8.8.8.8
-
외부망 통신 정상 복구 확인
4. 결론 및 마무리
✅ 도커 네트워크 구조를 활용해 내부망 & 외부망 통신 과정 추적 가능
✅ Wireshark & Traceroute로 패킷 흐름 분석 및 네트워크 경로 확인
✅ IPTables 방화벽 설정을 통해 네트워크 문제 해결 방법 습득
이제 도커 네트워크의 기본 개념과 내부 구조를 깊이 이해할 수 있습니다! 🛠️
추가적으로 도커, 쿠버네티스 및 네트워크 전반을 깊이 공부하고 싶다면 리얼리눅스 네트워크 완전정복 강의를 참고하세요. https://reallinux.co.kr/course/se_docker