Podmanで実行されるルートレスコンテナを使用して、ホストからコンテナに1:1でマッピングすることにより、UDPポートの範囲を公開する方法があるかどうか疑問に思っています。
利用可能なリソースにはTCPポートの情報が含まれていますが、UDPに関する情報を見つけることができませんでした。また、podman port
は、rootlessを実行しているときに、ブリッジではなく名前空間「magic」を使用しているように見えます。
ホストIPv4アドレスの10000..20000(UDP)などの範囲を、同じ範囲のポートとしてコンテナーにマップしたいと思います。
今では古典的なVMではiptables
を自由に使うことができますが、 slirp4netns ではこれはオプションではありません。
どうすればそれを達成できますか、またはUDPは実際には不可能であり、これはルートレスコンテナの厳しい制限です。
ものを検索しているときにこれに遭遇した、多分私は助けることができます:
Podmanは、ルートレスネットワーキングのツールをルートレスキットに切り替えました(少なくともバージョン> 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 }]"
だからそれはうまくいくはずです。
また、ブリッジなどのよりネイティブなネットワークモードが機能するには、rootが必要です(コンテナのネットワークデバイスを作成するため)。