피드로 돌아가기
Exploring Linux Network Namespaces and Virtual Ethernet
Dev.toDev.to
Infrastructure

Linux Network Namespace와 veth pair를 통한 컨테이너 네트워크 격리 구현

Exploring Linux Network Namespaces and Virtual Ethernet

Turjo Chowdhury2026년 5월 15일5intermediate

Context

호스트 시스템 내에서 네트워크 스택을 논리적으로 분리하여 독립적인 통신 환경을 구축해야 하는 필요성 대두. 단순한 프로세스 격리를 넘어 인터페이스, 라우팅 테이블, 방화벽 규칙이 완전히 분리된 독립적 네트워크 환경 설계 요구.

Technical Solution

  • Network Namespace 생성을 통한 IP 주소, 라우팅 테이블, ARP 테이블의 완전한 논리적 격리 구현
  • veth pair(Virtual Ethernet) 도입을 통해 호스트-네임스페이스 간 L2 계층의 가상 케이블 연결 통로 확보
  • veth pair의 한쪽 끝단을 생성된 Namespace로 할당하여 격리된 환경과 외부 세계를 연결하는 인터페이스 구조 설계
  • 양단 인터페이스에 각각 고유 IP 주소를 할당하여 L3 계층의 통신 가능 상태 구축
  • 호스트 커널의 Routing Table에 목적지 IP와 veth 인터페이스를 매핑하여 패킷 전달 경로를 명시적으로 정의

- 컨테이너 네트워크 통신 장애 시 ip route show를 통해 패킷 전달 경로의 정합성 확인 - 네트워크 격리 환경 구축 시 ip link set 명령어를 통한 인터페이스 활성화(up) 상태 검증 - veth pair 설정 후 호스트와 네임스페이스 간 상호 Ping 테스트를 통한 L3 연결성 검증

원문 읽기