I6ptables 규칙은 Docker 컨테이너 액세스 인터페이스를 차단합니다.

I6ptables 규칙은 Docker 컨테이너 액세스 인터페이스를 차단합니다.

문맥:

  • 여러 도커 컨테이너가 모든 인터페이스를 수신합니다.
  • wg0IPv6 주소를 사용하는 wireguard 인터페이스
  • 궁극적으로 NFS는 wg0클라이언트에게 파일 서비스를 제공합니다.

질문:

나중에 클라이언트가 wg0이러한 컨테이너에 액세스할 수 있습니다. 나는 이것을 피하고 이 인터페이스 뒤에 있는 호스트에 액세스하는 도커 컨테이너를 피하고 싶습니다.

이를 필터링하는 가장 쉬운 방법은 도커 컨테이너와 Wireguard 인터페이스 사이에 패킷을 삭제하는 것입니다. 그러나 다음 규칙은 작동하지 않습니다.

iptables -I DOCKER-USER -i wg0 -j DROP

처음 이 질문을 썼을 때는 왜 그런지 잘 몰랐는데 알고 보니 wg0IPv6 주소만 사용하고 있어서 rule 을 사용해야 하는데 거기에는 체인이 없는 ip6tables것 같습니다 .DOCKER-USER


관련 질문:이것잘못된 입력 체인이 사용되었습니다.저것본질적으로 동일한 질문이지만 변경하고 싶지 않은 apache-mesos 특정 방식으로 공식화되었습니다.


고려해야 할 추가 상황 및 솔루션

  • 아무래도 방화벽 문제인 것 같은데, iptable 규칙이 작동하지 않는 이유를 알고 싶습니다.
  • nftables이 제외 규칙은 또는 기타 BPF 도구를 사용하여 지정할 수 있습니다 . 문법이 궁금해요
  • 네임스페이스가 작동할 수 있습니다. 여전히 많은 문제가 있지만 단순화를 위해 이를 피하는 것이 현명할 것이며 wg-quick은 이를 지원하지 않습니다. 또한 이것이 NFS와 상호 작용할 것인지 확실하지 않습니다.
  • Wireguard 호스트에서 IP 범위를 차단해 볼 수 있습니다. 이는 더 복잡하고 유지 관리가 더 어려워 보입니다.
  • 컨테이너 서비스는 특정 IP를 수신할 수 있습니다. 유연성이 떨어지고 유지 관리가 더 어려워집니다.

관련 정보