取消共享並將連接埠轉送到命名空間

取消共享並將連接埠轉送到命名空間

我正在玩是unshare為了更好地理解容器。作為普通用戶,是否可以建立一個程式可以偵聽連接埠的名稱空間123,並在「主」名稱空間上將連接埠重新1234導向到它?

我想應該是這樣,因為 Podman 是無根容器引擎並且可以做到。尋找man veth沒有幫助。

答案1

Podman 的工作原理是使用slirp4netns管理一個水龍頭裝置在非特權容器內。來自 slirp4netns 的自述文件:

從 Linux 3.8 開始,非特權使用者可以network_namespaces(7)建立user_namespaces(7).然而,非特權網路命名空間並不是很有用,因為veth(4)跨主機和網路命名空間建立對仍然需要 root 權限。 (即沒有網路連線)

slirp4netns 允許透過將網路命名空間中的 TAP 設備連接到使用者模式TCP/IP 堆疊(「slirp」),以完全無特權的方式將網路命名空間連接到 Internet。

為了實現您的目標,您需要做類似的事情。

相關內容