
我正在玩是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。
為了實現您的目標,您需要做類似的事情。