LXD public ip 到容器使用路由
LXD public ip to container using routed
我正在尝试使用 LXD 中的路由 nictype 将 public ip 设置到容器,
基本上我启动了一个新容器,运行 lxc config device add c1 eth0 nic nictype=routed parent=eth0 ipv4.address=my.public.ip
然后启动容器,它瞬间在 IPV4 部分显示正确的 ip,运行 一个 lxc 列表再次显示它消失为空白。所以它*被正确设置,至少到 lxc,但启动后几秒钟它就消失了。
我的猜测是容器内部可能存在一些 DHCP 风格的废话,试图从主机 lxd 机器获取 ip?任何想法都是有用的我对网络了解不多
要routed
正常工作,您需要在LXD中进行一些配置,在容器中进行一些配置。创建包含配置的两个部分的 LXD 配置文件更容易。
这是一个 LXD 配置文件示例。上半部分是关于容器的配置,下半部分是LXD为容器配置routed
需要知道的
config:
user.network-config: |
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.200/32
nameservers:
addresses:
- 8.8.8.8
search: []
routes:
- to: 0.0.0.0/0
via: 169.254.0.1
on-link: true
description: Default LXD profile
devices:
eth0:
ipv4.address: 192.168.1.200
nictype: routed
parent: enp6s0
type: nic
name: routed_192.168.1.200
used_by:
要使用此配置文件创建容器,您需要 运行
lxc launch ubuntu: mycontainer --profile default --profile routed_192.168.1.200
参考文献:https://blog.simos.info/how-to-get-lxd-containers-get-ip-from-the-lan-with-routed-network/
我正在尝试使用 LXD 中的路由 nictype 将 public ip 设置到容器,
基本上我启动了一个新容器,运行 lxc config device add c1 eth0 nic nictype=routed parent=eth0 ipv4.address=my.public.ip
然后启动容器,它瞬间在 IPV4 部分显示正确的 ip,运行 一个 lxc 列表再次显示它消失为空白。所以它*被正确设置,至少到 lxc,但启动后几秒钟它就消失了。
我的猜测是容器内部可能存在一些 DHCP 风格的废话,试图从主机 lxd 机器获取 ip?任何想法都是有用的我对网络了解不多
要routed
正常工作,您需要在LXD中进行一些配置,在容器中进行一些配置。创建包含配置的两个部分的 LXD 配置文件更容易。
这是一个 LXD 配置文件示例。上半部分是关于容器的配置,下半部分是LXD为容器配置routed
需要知道的
config:
user.network-config: |
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.200/32
nameservers:
addresses:
- 8.8.8.8
search: []
routes:
- to: 0.0.0.0/0
via: 169.254.0.1
on-link: true
description: Default LXD profile
devices:
eth0:
ipv4.address: 192.168.1.200
nictype: routed
parent: enp6s0
type: nic
name: routed_192.168.1.200
used_by:
要使用此配置文件创建容器,您需要 运行
lxc launch ubuntu: mycontainer --profile default --profile routed_192.168.1.200
参考文献:https://blog.simos.info/how-to-get-lxd-containers-get-ip-from-the-lan-with-routed-network/