Arch-Linux

為 LXC 容器設置 DHCP

  • December 15, 2021

我有幾個需要網路訪問的 lxc 容器。目前,我在相關配置文件中手動為它們分配 IP 地址,如下所示:

lxc.network.type = veth
lxc.network.flags = up
lxc.network.name = eth0
lxc.network.link = br0 
lxc.network.ipv4 = 192.168.1.6/24                                                              
lxc.network.ipv4.gateway = 192.168.1.1

這有效,但無法擴展,並且可能與我的路由器 DHCP 分配衝突。我嘗試通過省略 lxc.network.ipv4 行(如其他地方線上描述)來使用我的路由器 dhcp,並且容器啟動但 dhcpcd 報告沒有運營商。lxc-ls –fancy 也沒有顯示我的容器有 IP 地址。新娘起床並在配置文件中設置了 lxc.network.link。

如何在容器中使用 DHCP?是否可以使用我的路由器 DHCP,或者我是否需要在我的主機上執行伺服器?我的一些容器確實需要從外部訪問,而有些只需要與其他容器/主機通信。

我正在執行 arch linux,大多數線上幫助似乎都是特定於 ubuntu 的。

確保在容器中安裝了 netctl 和 dhcpcd(pacman -Q netctl dhcpcd),然後在容器中執行以下命令:

cat > /etc/netctl/eth0
Connection=ethernet
IP=dhcp
Interface=eth0

按 CTRL-D 寫入文件。然後通過執行啟用配置文件:

netctl enable eth0

最後重新啟動容器,你應該有一個 DHCP 分配的 IP 地址。

cat <<\EOF >> /etc/netctl/eth
Connection=ethernet
IP=dhcp
Interface=eth0
EOF

我認為這將是創建文件的更好方法。

引用自:https://unix.stackexchange.com/questions/287350