شبکه XEN

Xen چيست؟ 

  Xen Virtual Machine Monitor( Xen VMM)

يك پروژه اپن سورس است كه در آزمايشگاه هاي كامپيوتر دانشگاه كمبريج انگليس توسعه داده مي شود. خروجي اين پروژه يك برنامه مجازي سازي به نام Xen است كه امكان ساخت و برپاسازي چندين ماشين مجازي با قابليت اجرا توسط سيستم عامل هاي مختلف روي يك سخت افزار واحد را فراهم مي كند. با اين ابزار، سيستم عامل هاي ميهمان به هسته لينوكس (نسخه هاي 2.4 و 2.6) متصل مي شوند و امكان يكپارچه سازي آن ها براي هسته سيستم عامل هاي NetBSD/FreeBSD نيز وجود دارد. نتيجتاً كاربران قادر خواهند بود با برنامه Xen چندين سيستم عامل ميهمان را روي سيستم عامل هاي خانواده يونيكس بدون نياز به تغيير و اصلاح كد و ساختار هسته سيستم عامل مادر راه اندازي نمايند. در اين ميان شركت سان مايكروسيستمز نيز تلاش مي كند Xen را براي سيستم عامل سولاريس سازگار نمايد.

·         رابط های کاربری مجازی (Virtual Ethernet Interfaces )

·         آدرسهای سخت افزاری (MAC addresses )

·         پل ( Bridging )

·         روند جریان بسته در پل (Packet flow in bridging )

·         شبکه - پل (network-bridge )

·         پل - رابط مجازی (vif-bridge )

·         نکته های اضافی  (Additional Notes )

·         پیوند ها (Links )

·         مسیر یابی ( Routing )

·         شبکه – مسیر (network-route )

·         مسیر – vif (vif-route )

·         منبع (Reference )

·         شبکه مجازی (Virtual Network )

·         لینکها (Links)

·         نام های رابط ( Interface names )

·         VLANs

·         اولین متدی که رابط های مجازی برای استفاده vlan دارند.

·         دومین روش برای XEN برای کار با VLAN ها : بررسی اسکریپت network-bridge

·         توضیح تصویری شبکه xen

·         Xen 3.1- Networking

·         Xen 3.2+ Networking

·         Alternative Xen Networking Architecture

·         Xen Networking with vlan

·         Xen Networking with bonding

·         Xen Networking with vlan on bonding

·         مجموعه ای از مثال ها

·         منبع

رابط های کاربری مجازی (Virtual Ethernet Interfaces ):

XEN به طور پیش فرض 7 رابط اترنت مجازی متصل شده ( Connected Virtual Ethernet Interface ) برای استفاده dom0 ایجاد می کند. به این صورت که یک کابل Crossاترنت داخلی به دو رابط اترنت متصل شده است. veth0 به vif0.0 متصل شده ، veth1 به vif0.1 متصل شده و به همین صورت تا veth7 که به vif0.7 متصل شده است. شما می توانید با تنظیم کردن IP و MAC Address به veth# و سپس اضافه کردن vif0.#به پل ( Bridge ) از یک veth دیگر استفاده کنید.

در هر زمان شما می توانید یک نمونه دیگر ازdomU ایجاد کرده و اجرا کنید ، domU به شماره دامین جدید وابسته است. شما نباید آن شماره را حذف یا تغییر دهید. اولین domU با شماره #1 شروع می شود و دومین با شماره #2 و به همین صورت اگر شماره #1 در حال اجرا نباشد.

برای هر domU جدید XEN یک جفت رابط اترنت مجازی متصل شده ( Connected Virtual Ethernet Interface ) ایجاد می کند ، که اولی dom0 و دومی domU می باشد. نام دستگاه domU های لینوکس که می بینید eth0 می باشد. به عبارت دیگر ، هر جفت رابط اترنت مجازی موجود در dom0 به رابط vif<id#>.0 متصل است. به عنوان مثال domU #5 از eth0 به vif5.0 متصل شده است. اگر شما رابط کاربری چندگانه شبکه برای یک domU ایجاد کنید ، به ازای هر رابط کاربری مجازی،eth0 و eth1 و ... ایجاد می شود ، در صورتیکه dom0 با vif<id#>.0 و vif<id#>.1 و ... پایان می پذیرد و همین طور تا آخر رابط های دیگر.

وقتی که یک domU خاموش می شود ، رابط های کاربری مجازی ایجاد شده برای آن نیز از بین می روند.

آدرسهای سخت افزاری (MAC addresses ):

رابط های شبکه مجازی شده در دامنه ها ، آدرس سخت افزاری اترنت دارند. به صورت پیش فرض XEND آدرس تصادفی انتخاب می کند ، که ممکن است بین نمونه های مختلف از دامنه ها متفاوت باشند. اگر نیاز باشد که رابط شبکه ای به آدرس سخت افزاری خاصی نیاز داشته باشد ( مثلا برای استفاده از DHCP ) ، می توان با استفاده از دستور پیکر بندی mac= آن vif را پیکر بندی کرد ( مانند vif = ['mac=aa:00:00:00:00:11'] ).

وقتی که یک MAC آدرس را انتخاب می کنید ، مطمئن شوید که یک آدرس unicast را انتخاب می کنید. آدرس unicast ، آدرسی است با بیتهای کم ارزش ، که اولین هشت تایی (octet) آن با صفر شروع می شود. برای مثال آدرس رشته ای aa: صحیح است و آدرس ab: صحیح نیست. البته این نوع آدرس دهی بهترین حالت محدوده آدرس ( Range ) معرفی شده برای آدرس دهی محلی ( Locally Assigned ) می باشد ( به جای آدرسهای اختصاص داده شده به فروشندگان در سطح جهان ).

به طور خلاصه آدرسی مانند آدرس زیر است :

XY:XX:XX:XX:XX:XX

به جای X هر کدام یک از اعداد هگزادسیمال را قرار داده و به جای Yاعداد 2 , 6 , A یا E را قرار دهید.

پیشنهاد می شود از یک آدرس سخت افزاری در محدوده 00:16:3e:XX:XX:XX استفاده کنید. این محدوده آدرس برای استفاده XEN رزرو شده است.

پل سازی ( Bridging ) :

تنظیمات پیشفرض XEN به نحوی ازپل سازی در داخل dom 0 استفاده می کند که باعث می شود که همه دامین ها یش در شبکه مانند یک host دیده شوند. اگر از IPTable استفاده می کنید ( مانند فایروال ) ممکن است روی پل تأثیر بگذارد زیرا بسته هایی که از پل رد می شوند از زنجیر های IPTable ( Chain ) PREROUTING و FORWARD و POSTROUTING عبور می کنند.

این به این معنی است که بسته هایی که ازطریق پل بین دامین وکارت شبکه خارجی درحال گذر هستند نیاز اجازه عبور از این زنجیره ها را دارند. بیشتر مشکلات زمانی است که IPTable برای DROP یا REJECT کردن بسته ها از زنجیره FORWARDپیکر بندی می شوند. ( که این جدا از مبحث IP forwarding در هسته می باشد )

می توان زنجیره iptableFORWARDing را برای تمام بسته ها غیر فعال کرد.

برای مانع شدن از عملکرد dom0 مانند یک مسیریاب IP ، به این دستور دقت کنید :

echo 0 > /proc/sys/net/ipv4/ip_forward

یک روش دیگر با امنیت بیشتر این است که به بسته های عبوری بین رابط کارت خارجی و vif میزبان اجازه عبور ( در قسمت iptable ) را بدهیم. در سیستم های با یک کارت شبکه برای این کار می توان از دستورات زیر استفاده کرد :

iptables -A FORWARD -m physdev --physdev-in eth0 --physdev-out '!' eth0  -j ACCEPT

iptables -A FORWARD -m physdev --physdev-out eth0 --physdev-in '!' eth0  -j ACCEPT

( لازم است که ماژول ipt_physdev [aka xt_physdev] فعال باشد. )

پروژه ebtables مستنداتی جالب است از کنش و واکنش و تأثیر متقابل پل Bridging و iptable به روی یک دیگر.

روند جریان بسته در پل (Packet flow in bridging ) :

بسته از سخت افزار ، توسط درایور اترنت ایجاد و تغییر پیدا کرده و در peth0 ظاهر شده و به طرف پل هدایت شده و دریافت می شود ، در اینجا بسته از پل عبور کرده. این مرحله روی قسمت اترنت اجرا می شود و نه آدرسهای IP تنظیم شده روی peth0 یا پل.

حالا پل بسته ها را مانند یک سوییچ توزیع می کند. فیلترینگ ممکن است در این مرحله توسط ebtables انجام شود.

الان تعداد زیادی vifX.Y متصل به پل هست ،آن ( پل ) تصمیم می گیردکه بسته ها را بر مبنای MAC های دریافتی ، در کجا قرار دهد.

رابط vif بسته ها را داخل XEN قرار می دهد ، که پس از آن بسته ها را در دامنه ( Domain )  vif مربوطه قرار می دهد. ( همچنین راهی را برای dom0 پیدا می کند ، از اینرو جفت vif0.0->(v)eth0 )

سرانجام قطعه مورد نظر در dom0/domU یک آدرس IP دارد که می توانید فیلترینگ iptables را در آنجا به کار ببرید.

شبکه – پل (network-bridge ) :

وقتی برنامه XEN شروع به کار می کند ، اسکریپت های network-bridge را اجرا می کند ، که :

1-    یک پل جدید با نام xenbr0 ایجاد می کند.

2-    رابط واقعی ( Real ) اترنت eth0 پایین آورده می شود.

3-    IP و MAC آدرسهای eth0 در رابط شبکه مجازی veth0 کپی می شوند.

4-    رابط واقعی eth0 به peth0 تغییر نام پیدا می کند.

5-    رابط مجازی veth0 به eth0 تغییر نام پیدا می کند.

6-    peth0  وvif0.0 به پل xenbr0 اضافه می شوند. لطفا توجه داشته باشید که در XEN 3.3 به صورت پیش فرض ، نام پل مشابه نام همان رابطی است که اضافه شده ( Attach شده ) مانند نام پل eth0 ، eth1 یا ethX.VlanID.

7-    پل peth0 و  eth0و vif0.0 در حال اجرا هستند. ( بالا هستند )

این روش برای داشتن رابط فیزیکی و رابط dom0 مجزا خوب است. بدین صورت که شما می توانید مثلا فایروالی روی dom0 نصب کنید که روی ترافیک domu های دیگر تاثیری نداشته باشد. ( فقط از dom0 محافظت کند. )

پل - رابط مجازی (vif-bridge ) :

وقتی domU شروع به کار می کند ، xend (dom0 را اجرا می کند ) اسکریپت vif-bridgeرا اجرا می‌کند:

1-    vif<id#>.0  را به xenbr0 اضافه می کند.

2-    vif<id#>.0 را راندازی می کند ( بالا می آورد ).

نکته های اضافی (Additional Notes) :

 می توانید نام پل را تغییر دهید به این صورت که در مسیرnetwork-script نام پل را در فایل xend-config.sxp تغییر داده و xend را دوباره راه اندازی می کنیم.

(network-script 'network-bridge bridge=mybridge')

in xend-config.sxp and rebooting or restarting xend

به خاطر داشته باشید که برای اضافه کردن تنظیمات پل به فایل پیکر بندی domUاز قسمت زیر استفاده کنید:

vif=[ 'bridge=mybridge' ]

یا چیزی شبیه به این:

vif=[ 'mac=00:16:3e:01:01:01,bridge=mybridge' ]

می توانید چند رابط شبکه ایجاد کنید ، و آنها را به پل های مختلف اضافه کنید بوسیله :

vif=[ 'mac=00:16:3e:70:01:01,bridge=br0', 'mac=00:16:3e:70:02:01,bridge=br1' ]

اگر شما می خواهید از چند پل استفاده کنید ، اول باید آن را برای خودتان ایجاد کنید ، چه به صورت دستی ، یا بوسیله اسکریپت راه انداز خودتان ، یا بوسیله جایگزین کردن اسکریپت سفارشی خودتان با network-bridge. به طور مثال:

$ cd /etc/xen/scripts

$ cp network-bridge network-custom

$ cpvif-bridge vif-custom

$ vi /etc/xen/xend-config.sxp

(network-script network-custom)

(vif-scriptvif-custom)

$ vi network-custom

# whatever you want

به خاطر داشته باشید که قبل از اینکه رابط فیزیکی را به پل متصل کنید ، آدرس MAC آن را دوباره مقدار دهی کنید و ARP را غیر فعال کنید. برای مثال :

# ip link set eth1 down

# ip link set eth1 mac fe:ff:ff:ff:ff:ffarp off

# brctladdif br1 eth1

# ip link set eth1 up

Xen 3.0 به طور پیش فرض بهترین روش با کمی تغییر برای اضافه کردن پل را دارد. همینطور ببینید XenBug #332 .  برای مثال در شبکه دارای دو پل با eth0 و eth1 ایجاد کنید /etc/xen/scripts/my-network-script با :

#!/bin/sh

dir=$(dirname "$0")

"$dir/network-bridge" "$@" vifnum=0

"$dir/network-bridge" "$@" vifnum=1

این یک اسکریپت برای ایجاد دو را بط مجازی همانند دو رابط شبکه فیزیکی در Xen 3.2.1  ( تست شده روی Debian Etch 4.0r3 ) می باشد .

# xemacs /etc/xen/scripts/network-bridge-wrapper

#!/bin/sh

/etc/xen/scripts/network-bridge "$@" netdev=eth0

/etc/xen/scripts/network-bridge "$@" netdev=eth1

اولین $ از آرگومان XEN ( در فایل پیکر بندی /etc/xen/xend-config.sxp ) استفاده می کند. اگر رابط شبکه فیزیکی وجود داشته باشد ، اسکریپت استاندارد network-bridge از XEN یک vif برای این رابط ایجاد خواهد کرد ، و نه چیز دیگری.

نکته واضح دیگر اینکه فراموش نکنید سطح دسترسی /etc/xen/scripts/my-network-script  ، 755 باشد یا زمانی که شما سیستم را مجددا راه اندازی می کنید این اسکریپت در سکوت و غیر فعال باشد.

در لینوکس SuSE ( آخرین نسخه ) هر اسکریپتی در /etc/sysconfig/network به اسکریپت ifcfg نیاز دارد مثلا   /etc/sysconfig/network/ifcfg-eth1  . در غیر اینصورت network-bridge پل را بدون رابط های اضافه شده ایجاد خواهد کرد.

سپس فایل/etc/xen/xend-config.sxpرا با شرح (network-script my-network-script) تغییر دهید.

قاعده کلی که می توانید به شبکه یک رابطشبکه مجازی بدون یک قطعه فیزیکی اترنت اضافه کنید ، استفاده از رابط ساختگی می باشد :

"$dir/network-bridge" "$@" vifnum=2 netdev=dummy0

پیوند ها (Links ) :

برخی موضو عات مناسب از لیست پست های ارسال شده :

eth0 IP in dom0 2005/01/14

Bridging vs. Routing 2005/01/13

Bridging vs. Routing 2004/07/18

An attempt to explain Xen networking 2006-02-01 ) XEN ( تلاشی برای درک شبکه

Firewall in domU with bridging با پل سازی ) domU ( دیواره آتش در 

Xen and Shorewall (with bridging)

Xen and the Art of Consolidation (with bridging) و هنر تثبیت با پل سازی ) XEN (

Another way for making multiple Xen bridges )  XEN ( راه های دیگر برای ساختن پل های چند گانه

Advanced bridging (2007/05) ( پل سازی حرفه ای )You can also have a look to:

http://searchservervirtualization.techtarget.com/tip/0,289483,sid94_gci1310165,00.html#

مسیر یابی ( Routing ):

این بخش شامل مطالبی است که اگر شما فقط network-route  و vif-routeرا به جای network-bridge  و vif-bridge انتخاب کنید.

مسیریابی یک پیوند های نقطه به نقطه point-to-point بین هر dom0 و domU ایجاد می کند . مسیر های هر domU به جدول مسیر یابی dom0 اضافه شده اند ، همینطور domU باید یک IP ایستا static شناخته شده داشته باشد. DHCP کار نمی کند ، چون ارائه ای در این زمینه ندارد و مسیری ایجاد نخواهد شد.

شبکه – مسیر (network-route ) :

وقتی XEN شروع به کار می کند ( بالا می آید ) network-route را اجرا می کند ، بوسیله :

1-    فعال کردن ip forwarding در dom0 (enables ip forwarding within dom0 )

مسیر –vif (vif-route ):

وقتی domUشروع به کار می کند ( بالا می آید ) ، XEND ( در داخل dom0 ) vif-route را اجرا می کند ، به صورت زیر:

1-    آدرس های IP را از eth0 به vif<id#>.0 کپی می کند.

2-    vif<id#>.0 را راه اندازی می کند ( بالا می آورد).

3-    اضافه کردن مسیرهای استاتیک میزبان برای آدرس های IP مشخص شده domU در فایل پیکر بندی domU، اشاره در رابط vif<id#> .

برای اطلاعات بیشتر درباره vif-route نگاهی بیاندازید به : http://wiki.xensource.com/xenwiki/vif-route

منبع (Reference ):

http://lists.xensource.com/archives/html/xen-users/2006-02/msg00030.html

شبکه مجازی (Virtual Network ):

در حال حاضر نحوه پیکر بندی شبکه مجازی به صورت غیر استاندارد می باشد.

مکان تنظیمات شبکه مجازی همه domU ها ، روی یک شبکه مجازی به اشتراک گذاشته شده با dom0 هستند. با این کار domU اجازه دارد که از سرور DHCP تهیه شده بوسیله dom0 استفاده کند ، بدون اینکه درخواستهای DHCP از domU راه فراری برای دسترسی به شبکه فیزیکی ندارند. ( تا آنجا که من می توانم بگوییم vif0.0 و dummy0 به شدت مورد نیاز نیستند. )

لینکها (Links):

تنظیم سرور DHCP روی dom0 ، ماشین های مجازی domU آدرسهای IPشان را از DHCP می گیرند و به صورت پویا نام میزبان DNS (DNS hostnames ) شان را تنظیم می کنند : Getting Xen up and running: part II (archive.org copy from 2008, article from 2007)

تنظیم  Brouter ( پل به اضافه مسیر یاب ) برای قرار دادن یک شبکه مجازی روی DMZ از opensuse: Xen3 and a Virtual Network (archive.org copy from 2010, article from 2007/2009),version with working images on tr.opensuse.org

نام های رابط (Interface names):

تنظیمات پیش فرض سیستم های XEN برای استفاده از پل سازی است. زمانی که xend شروع به کار می کند پل xen-br0 صدا زده می شود. Xend از eth0 آدرس IP را می گیرد و به xen-br0 اختصاص می دهد ( از رابط dom0 به پل ) ، سپس رابط external-facing خود dom0 که الان xen-br0 هست ، پیکر بندی هر فایروال مطمئنی را که xen-br0 را نشان دهد ایجاد می کند.

VLANs:

اولین متدی که رابط های مجازی برای استفاده ازvlan دارند :

برچسب گذاری چند گانه VLAN ها می تواند توسط پیکر بندی 802.1Q VLAN پشتیبانی شود. یک واسط محلی ( Local Interface ) هر چند که به یک آدرس IP نیاز ندارد ولی به یک VLAN مطلوب نیاز دارد. یک پل می تواند برای هر VLANی تنظیم شود ، و کاربران یا هر درخواست اتصال ( Guests ) می توانند به پل مناسب متصل شوند.

من (JamesBulpin ) متدی را ترجیح می دهم که یک پل را از یک رابط که به صورت اوتوماتیک ایجاد نشده باشد ایجاد ( یا آورده ) باشد. ( برای مثال در سیستم عامل دبیان /etc/network/interfaces به طور اتوماتیک ایجاد entry نشده )

iface xen-br293 inet manual

upvconfig add eth0 293

up /etc/xen/scripts/network start netdev=eth0.293 bridge=xen-br293 antispoof=no

up /sbin/ifconfig eth0.293 up

down /etc/xen/scripts/network stop netdev=eth0.293 bridge=xen-br293 antispoof=no

downvconfig rem eth0.293

سپس من یک اسکریپت init.d را به پل رابط بین xend و شروع کننده های xendomansاضافه می کنم.

دومین روش برای XEN برای کار با VLAN ها : بررسی اسکریپت network-bridge

من (OrianaPalivan) از این متد استفاده می کنم ، به این دلیل که نیاز به استفاده ویژه ( به عقیده من کاملا عمومی ) از ماشین های مجازی داشته ام. امیدوارم این کمکی برای ماشین های مجازی برای شما باشد.

این روش با xen 3.3 آزمایش شده و دبیان نسخه 4.r5 . لطفا دقت کنید که با xen 3.3 ، نام دامنه نام رابط در domain0 هست که اضافه شده (به طور پیش فرض نه در xenbr ).

Domain0 دو رابط دارد :eth0 و eth1 ، که به هر کدام از آنها دو رابط VLAN اضافه شده ، برای مثال eth0.20 ، eth0.21 و eth1.3916 و eth1.3916 .

تنظیمات زیر یک پیکر بندی از ماشین های مجازی است :

•    VM1: eth0 -> domain 0, eth0 / eth1 -> domain 0, eth1

•    VM2: eth0 -> domain 0, eth0.20 / eth1 -> domain 0, eth1.3999

•    VM3: eth0 -> domain 0, eth0.21 / eth1 -> domain 0, eth1.3916

•    VM4: eth0 -> domain 0, eth0 / eth1 -> domain 0, eth1

من نیاز داشتم به domain0 از طریق IP دست پیدا کنم.

در زیر مراحلی را برای اینکه همه رابط های domain0 ( vlan یا غیر از vlan ) که آماده استفاده برای ماشین های مجازی هستند قرار داده شده :

پیکر بند رابط های vlan ( نیاز به بسته های vlan )

تغییر اسکریپت network-script ( در مسیر /etc/xen/script )

برای مثال کپی کردن اسکریپت network-bridge به اسکریپت network-bridge-withvlan .

ویرایش کردن network-bridge-withvlan . توضیح ، هر بار که دستورات ifup  و ifdown اجرا شدند. به این دلیل که ifdown برای رابط های vlan با خطا پایان می پذیرد.

تغییر تابع do_ifup() :

do_ifup() {

#    if ! ifup $1 ; then

if [ -n "$addr_pfx" ] ; then

# use the info from get_ip_info()

ip addr flush $1

ip addr add ${addr_pfx} dev $1

ip link set dev $1 up

[ -n "$gateway" ] && ip route add default via ${gateway}

fi

#fi

}

تغییر تابع op_start() و op_stop() :

op_start () {

[...]

#    if ! ifdown ${netdev}; then

# If ifdown fails, remember the IP details.

get_ip_info ${netdev}

ip link set ${netdev} down

ip addr flush ${netdev}

#    fi

op_stop () {

[...]

#    if ! ifdown ${bridge}; then

get_ip_info ${bridge}

<!-- #    fi

-->

پوشش network-bridge خود را که network-bridge-withvlan نامیده خواهد شد را ایجاد کنید :

<16:39>[root:/etc/xen/scripts]# cat network-bridge-wrapper

#!/bin/sh

/etc/xen/scripts/network-bridge-withvlan "$@" netdev=eth0

/etc/xen/scripts/network-bridge-withvlan "$@" netdev=eth1

/etc/xen/scripts/network-bridge-withvlan "$@" netdev=eth0.20

/etc/xen/scripts/network-bridge-withvlan "$@" netdev=eth0.21

/etc/xen/scripts/network-bridge-withvlan "$@" netdev=eth1.3916

/etc/xen/scripts/network-bridge-withvlan "$@" netdev=eth1.3999#

network-bridge-wrapper جدیدتان را در فایل xend-config.xsp فراخوانی کنید :

(network-script network-bridge-wrapper)

فراموش نکنید ، قبل از اینکه Domain 0 را دوباره راندازی کنید ، transmit checksum offloading را غیر فعال کنید ( به مثال زیر توجه کنید ) :

<16:40>[root:/etc/xen]# cat /etc/init.d/xen-vlan

#!/bin/sh

ethtool -K eth0 tx off

ethtool -K eth1 tx off

در زمان بالا آمدن سیستم عامل ، و قبل از روشن شدن ماشین های مجازیتان تغییرات زیر را اعمال کنید :

/etc/init.d/networking restart

در برخی موارد ، ممکن است مسیر های ایستای شما پس از شروع به کار xend بالا نیایند.

الان می توانید از رابط های vlan ، در فایل تنظیمات ماشین های مجازیتان استفاده کنید :

VM1:

vif = ['type=ioemu, mac=00:16:3E:00:00:13, bridge=eth0' , 'type=ioemu, mac=00:16:3E:00:00:14, bridge=eth1']

VM2:

vif = ['type=ioemu, mac=00:16:3E:00:00:10, bridge=eth0.20' , 'type=ioemu, mac=00:16:3E:00:00:12, bridge=eth1.3999']

VM3:

vif = ['type=ioemu, mac=00:16:3E:00:00:01, bridge=eth0.21' , 'type=ioemu, mac=00:16:3E:00:00:02, bridge=eth1.3916']

VM4:

vif = ['type=ioemu, mac=00:16:3E:00:00:03, bridge=eth0' , 'type=ioemu, mac=00:16:3E:00:00:04, bridge=eth1']

توضیح تصویری شبکه xen :

Xen 3.1- Networking :

نکته : vif0.0 کاملا از vif1.0 جداست و متفاوت هستند. زمانی که vif1.0 بوسیله netback ایجاد شد ، vif0.0 بوسیله netloop ایجاد می شود.

Xen 3.2+ Networking :

نکته : eth0 و eth1 نام پل هستند ، که کمی گیج کننده است.

Alternative Xen Networking Architecture  :

نکته :

به طور پیش فرض در xen 3.3 نام پل به xenbr0 و xenbr1 و ... تغییر کرده.

xenbrX یک آدرس فعال دارد که برای ارتباط با بیرون استفاده می شود.

Xen Networking with vlan :

نکته :

با این تنظیمات ، Domu ها بدون اطلاع با یک vlan عمل می کنند ، کل شبکه به خوبی با پل های Dom0 کار می کند.

به این دلیل که xenbrX یک آدرس فعال دارد ، Dom0 از ترافیک های vlan مطلع می باشد. برای ممانعت از این کار به آدرس فعال به xenbrX ندهید ، ولی یک رابط اضافی را برای مدیریت پیکر بندی کنید.

برای پیکر بندی ممکن است دوچیز مورد نیاز باشد :

اگر کارت اترنت شما از برچسب گذاری های vlan پشتیبانی نمی کند ، شما باید مقدار حداکثر  MTU تا 1496 برای ایجاد فضایی برای برچسب ، تنظیم کنید. با دستور :

# ifconfig eth0 mtu 1496

DumU ها با پل به vlan های مرتبط می شوند ، به همین دلیل نیاز است که بعضی از بهبود سازی ها غیر فعال شوند یا ارتباط های tcp و udp دچار خطا می شوند. این کار با غیر فعال کردن transmit checksum offloading  انجام می شود :

# ethtool -K eth0 tx off

احتیاج به تست های بیشتری در محیط عملی است.

Xen Networking with bonding :

نکته : به آزمایشات خطرناک بیشتری نیاز دارد.

Xen Networking with vlan on bonding :

نکته :

ارتباطات در پورت های بالای سوئیچ - شاید روی 2 سوئیچ با یک ISL

bond0 ، eth0 و eth1 را دارد ؛ bond1 ، eth1 و eth2 را دارد

در ماشین های مجازی eth0 به bond0.100 متصل می شود و eth1 به  bond1.200

پروتکل های یک سرویس VLAN (100) و یک  mgmt VLAN (200) پیشنهاد می کنند

مجموعه ای از مثال ها :

در اینجا مجموعه ای از مثال های پیکر بندی که به فهم شما در مورد چگونگی کار کردن با جزئیات و توسعه سریع یکی از روشها کمک می کند آورده شده است.

    http://wiki.xensource.com/xenwiki/XenNetRoutingWithPrivateNetwork

Local Address

منبع :

http://wiki.xensource.com/xenwiki/XenNetworking

local Address

isatisserver ایساتیس سرور

Created By Ahmad Hemmati

 

 

بازدید 6371 بار

رسانه

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید

"«قیمتی که در هنگام سفارش مشتري در پیش‌فاکتور منظور گرديده است، معتبر مي‌باشد»."