Podman으로 실행되는 루트 없는 컨테이너를 사용하여 호스트에서 컨테이너로 1:1로 매핑하여 다양한 UDP 포트를 노출할 수 있는 방법이 있는지 궁금합니다.
사용 가능한 리소스에는 TCP 포트에 대한 정보가 포함되어 있지만 UDP에 대한 정보는 찾을 수 없습니다. 또한 podman port
루트 없이 실행 시 브릿지 대신 네임스페이스 "magic"이 사용되는 것으로 보입니다.
10000..20000(UDP)과 같은 호스트 IPv4 주소 범위를 동일한 포트 범위로 컨테이너에 매핑하고 싶습니다.
이제 클래식 가상 머신을 사용하면 사람들이 iptables
원하는 대로 사용할 수 있지만slirp4netns이것은 옵션이 아닙니다.
어떻게 구현할 수 있습니까? 아니면 UDP가 실제로 불가능합니까? 이는 루트 없는 컨테이너의 엄격한 제한 사항입니까?
답변1
물건을 검색하는 동안 우연히 이것을 발견했습니다. 아마도 제가 도움을 드릴 수 있을 것입니다.
Podman은 루트리스 네트워킹 도구를 rootlesskit(최소 버전 >1.8)으로 전환합니다.
그리고
-p 35010-35013:35010-35013/udp
알겠어요
DEBU[0000] rootlessport: time="2020-05-08T23:05:17Z" level=info msg="exposing ports [{35010 35010 udp } {35011 35011 udp } {35012 35012 udp } {35013 35013 udp }]"
그래서 작동해야합니다.
또한 브리징과 같은 기본 네트워킹 모드가 작동하려면(컨테이너용 네트워크 장치를 생성하기 위해) 루트가 필요합니다.