Openvz

託管服務提供商如何給每個容器一個唯一的公共 IP?

  • March 28, 2015

我正在尋找創辦自己的託管公司;即使我只是在經驗中獲得報酬。

起初,我想我會創建 shell 腳本來自動創建 OpenVZ 容器。但後來我意識到我還需要為每個容器設置自定義 IpTables 規則,並使用 DNAT/SNAT 讓每個容器訪問外部世界。

但是,這意味著每個容器都必須通過非正常的埠號來操作和執行服務。為什麼託管服務提供商可以為多個容器提供一個公共 IP 地址,並且所有容器都可以通過埠 22 訪問服務(例如 ssh)?

更重要的是,必須靜態創建 IPtables 規則。什麼是有人登錄並想要執行自己的服務?他們通常會如何解釋這一點?

我只能假設我錯過了一些對理解大局至關重要的東西。

與使用 NAT 不同,容器被分配了一個虛擬乙太網設備,具有自己的 MAC 地址,然後可以充當網路上的獨立主機,並具有自己的可路由 IP 地址。

物理主機提供了一個虛擬網橋,它透明地將包轉發到它所連接的物理網路和容器,而無需任何特定的埠、協議等知識。

引用自:https://serverfault.com/questions/678808