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