在 ubuntu 20.04 TLS 上啟動 docker 容器後設定網路路由

在 ubuntu 20.04 TLS 上啟動 docker 容器後設定網路路由

啟動 docker 容器後,是否可以使用 docker 工具集向主機表(ubuntu 20.04 LTS)新增額外的路由?

情境:

  • Docker 版本 20.10.12,內部版本 e91ed57
  • 安裝wireguard作為容器(圖:lscr.io/linuxserver/wireguard)
  • wireguard 容器的 IP 為 172.19.0.2
  • wireguard網路是10.14.14.0
  • wireguard 主機對等點的 IP 為 10.14.14.1
  • wireguard 用戶端對等點有 10.14.14.2 3 4 等等
  • 將會建立一個標準路由以從主機網路路由到容器網路(192.168.2.0 → 172.19.0.0)
  • 到目前為止,只要所有連線都是由wireguard客戶端建立的(它們可以連接到家庭網路中的NAS等CIFS、WebDav、Webfrontend),設定就可以運作

一旦我想使用 RDP、VoIP 客戶端或伺服器(例如 rdp 伺服器)想要建立回客戶端(例如 rdp 客戶端)的連接的其他協議,設定就不再起作用。

除了我啟動 IP 轉送並透過 172.19.0.2 設定到 10.14.14.0 的路由,然後 RDP 等也可以工作。

到目前為止一切順利…但是重新啟動後,路線消失/當然不再存在了。我無法透過 netplan 等設定路由,因為目標不可用。需要先啟動容器。

docker 工具集是否有選項或可能性可以在wireguard 容器啟動後立即執行帶有路由語句的腳本?也許我錯過了什麼。

與使用標準 Linux 方法相比,這將是一個更優雅的選擇,因為它與 docker 上下文相關。

如果docker工具集沒有解決方案,我怎麼能在容器啟動後設定路由?

謹致問候並感謝您的支持

相關內容