- به صورت پیشفرض با نصب LXD و ساخت یک کانتینر درون آن، کانتینتر به یک شبکهی داخلی NAT متصل میشود. یعنی ارتباط با بیرون دارد اما بیرون از هاست اصلی نمیتواند ارتباط با کانتینرها برقرار کند چون شبکه از جنس NAT است.
- برای این که یک شبکهی bridged داشته باشیم ابتدا باید یک کارت bridged ایجاد کنیم.
- چون مراحل آموزش درون ubuntu 20.04 است لذا ساخت کارت شبکهی bridged یا br0 توسط netplan باید انجام شود.
- برای این منظور در هاست اصلی پروندهی زیر را باز کنید :
# /etc/netplan/*.yaml
- پروندهی بالا را به شکل زیر ویرایش کنید :
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
bridges:
br0:
dhcp4: yes
interfaces:
- enp3s0
# netplan apply
- حال یک کارت شبکهی br0 ایجاد شده است که میتواند برای سناریو استفاده شود.
- برای ساخت یک profile برای lxd به صورت زیر عمل کنید :
# lxc profile create extbridge
- برای ویرایش profile ساخته شده به صورت زیر عمل کنید :
# lxc profile edit extbridge
- تغییرات زیر را به صورت زیر اعمال کنید :
config: {}
description: Lets containers use public network interface
devices:
eth0:
name: eth0
nictype: bridged
parent: br0
type: nic
name: extbridge
used_by: []
- برای تخصیص profile به یک کانتینری که موجود است به صورت زیر عمل کنید :
# lxc profile assign myexistingcontainer default,extbridge
- تست شده بر روی ubuntu 20.04
- مطالعهی بیشتر در اینجا
- مطالعهی بیشتر در اینجا