Docker iptables 방화벽 구성

Docker iptables 방화벽 구성

Docker가 iptables를 사용해 컨테이너 네트워킹을 제어하는 방법과, iptables 방화벽 규칙을 관리하는 방법을 설명한 문서예요.

출처: Docker and iptables

본문

Docker는 컨테이너 네트워크 격리와 포트 게시를 위해 iptables를 자동으로 사용해요. 이 문서는 그 동작을 이해하고 iptables 기반 방화벽에서 Docker와 올바르게 상호작용하는 방법을 안내해요.

Docker가 만드는 규칙

  • Docker는 브리지 네트워크의 포워딩, 포트 게시(DNAT), 호스트 방화벽 통합을 위해 FORWARD, NAT 체인에 규칙을 추가해요.
  • 게시된 포트는 DOCKER 체인에서 호스트 포트에서 컨테이너 IP/포트로의 변환 규칙으로 구현돼요.

방화벽과의 상호작용

  • 호스트에 방화벽(iptables 정책)이 있으면 Docker 규칙과 충돌할 수 있어요.
  • FORWARD 체인 정책이 DROP이면 컨테이너 간/외부 통신이 막힐 수 있어요. Docker는 이에 대응하기 위해 규칙을 추가하지만, 방화벽 관리 툴과 함께 쓸 때 주의가 필요해요.

Docker iptables 비활성화

daemon.json에서 "iptables": false로 설정하면 Docker가 규칙을 만들지 않아요. 단, 그 경우에는 포트 게시나 컨테이너 네트워킹을 위해 수동으로 규칙을 관리해야 해요.

방화벽과 Docker를 함께 사용할 때 트래픽이 예상대로 흐르게 하려면 이 문서의 지침을 확인하세요.

더 알아보기