Create bridged network for LXD containers

  • به صورت پیشفرض با نصب 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
  • مطالعه‌ی بیشتر در اینجا
  • مطالعه‌ی بیشتر در اینجا

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *