대상 OS: Rocky Linux 9

`Docker`나 `Podman` 같은 컨테이너 런타임에서 네트워크 격리와 브리지 구성을 이해하는 것은 운영의 핵심입니다. 특히 공용망과 관리망을 구분하고, 가상 네트워크를 안정적으로 유지하는 방법은 중급 운영자에게 필수 스킬입니다. 아래 글은 실전 환경에서 바로 적용 가능한 네트워크 격리/브리지 설정 팁을 다룹니다.

1. 브리지 네트워크 기본 원리와 구성 요소

- 브리지 인터페이스: br0, 브리지에 연결된 인터페이스들
- 가상 인터페이스: veth, macvlan, ipvlan
- 컨테이너 네트워크 네임스페이스와 호스트 네트워크 간 트래픽 흐름

예시 구성은, 관리망은 br0, 외부 네트워크는 호스트의 eth0, 컨테이너는 br0에 연결하는 방식.

2. Docker vs Podman 네트워크 차이점

- Docker는 기본적으로 docker0 브리지를 사용하지만, 사용자 정의 브리지를 수동으로 구성하기도 쉽습니다.
- Podman은 기본적으로 루트리스 모드(Rootless)에서도 네트워킹이 가능하며, CNI 플러그인을 통한 확장이 용이합니다.

3. 핵심 명령과 설정 예시

- 브리지 생성 및 인터페이스 연결

    # 브리지 생성
    nmcli connection add type bridge ifname br0
    nmcli connection add type ethernet slave-type bridge master br0 ifname ens38
    # IP 할당(예: DHCP)
    nmcli connection modify br0 ipv4.method auto
    nmcli connection up br0
    

- 컨테이너 연결 예시 (Podman 기준, 네트워크 네임스페이스 공유)

    # Podman에서 브리지 사용 예
    podman network create isolated-net
    podman run --network isolated-net alpine sleep 1h
    

4. NAT/라우팅과 보안 고려사항

- 외부로 나가는 트래픽은 SNAT/LAN 간 NAT 규칙 관리
- 방화벽 규칙에서 브리지 인터페이스를 묶지 않도록 주의

5. 성능·운영 체크리스트

- 브리지 인터페이스의 MTU 일관성 확인
- 컨테이너 인터페이스의 ARP 경고 여부 점검
- 네트워크 트래픽 모니터링: ifstat, sar, iperf3 활용