루트 없는 컨테이너를 위한 podman 사용자 정의 라우팅

루트 없는 컨테이너를 위한 podman 사용자 정의 라우팅

Podman 컨테이너의 모든 트래픽을 지정된 게이트웨이로 라우팅하고 싶습니다. 포인트 앤 클릭 장치를 사용하면 쉽게 이 작업을 수행할 수 있습니다. 그러나 루트 없는 모드에서 Podman을 실행할 때 컨테이너 내부의 Tap 장치는 볼 수 있지만 호스트(라우팅을 구현할 곳)의 장치는 볼 수 없습니다.

Podman 트래픽이 이동하는 호스트의 인터페이스를 지정하는 방법이 있습니까?

또한 컨테이너별로 이 작업을 수행하고 싶습니다. 즉, 각 컨테이너에는 서로 다른 인터페이스가 있습니다. 여러 컨테이너가 하나의 포드로 그룹화되어 있는 경우 해당 포드에 대해 이 구성을 한 번만 수행하고 싶습니다.

답변1

일반적으로 루트가 아닌 사용자는 호스트에서 인터페이스를 생성할 수 없습니다. 장치는 tap애플리케이션에 연결된 가상 장치입니다. Podman의 경우 애플리케이션은 slirp4netns다음과 같습니다.여기.

즉, "호스트에 인터페이스"가 없습니다. 즉, 루팅되지 않은 컨테이너의 트래픽이 로 흘러 들어가 slirp4netns트래픽을 원격 대상으로 전달하는 역할을 담당합니다.

게시된 포트는 다음에서 제공됩니다.루트 포트 없음프로세스.

이는 Podman 런타임에서 사용하는 구성과 매우 다릅니다 root(이 경우 veth인터페이스를 사용하여 컨테이너를 호스트 브리지에 연결하고 netfilter 규칙을 사용하여 포트 게시를 처리함).

사용자 정의 라우팅을 설정하려면 Podman을 root.

관련 정보