PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اشتباه رایج فروشندگان سرور مجازی در مجازی ساز kvm فعال کردن nat



NetworkFA
October 13th, 2018, 01:24
با سلام

امروز مطلع شدم که همکاران عزیز زمانی که برروی سرور اختصاصی Hetzner مجازی ساز KVM نصب میکنند به دلیل اینکه مثل مجازی ساز ESXi نمیتوانند از روتر استفاده کنند

وقتی یک ساب نت مثلا /27 از دیتاسنتر دریافت میکنند آنرا با ساب نت 255.255.255.0 را وارد IP Pool میکنند و قسمت NAT را هم فعال میکنند.

علت را که جویا شدم به این دلیل بود که در غیر این صورت کار نمیکند.


اما این کار کاملا اشتباه است

اولین دلیل استفاده از NAT یا همان Network Address Translation میباشد که درواقع یک SNAT و یک DNAT انجام میگیرد (زیاد وارد این موضوع نمیشوم )

دوم استفاده از ساب نت مسک 255.255.255.0 است این باعث میشود اولا برادکست دامین بزرگ تری داشته باشید. دوم اینکه نتوانید به مابقی آیپی های که خارج از /27 شما و داخل /24 اصلی هستند ارتباط بر قرار کنید



علت : وقتی دیتاسنتر یک ساب نت به شما اختصاصی میدهد آن را به صورت یک استاتیک روت Static Route به سمت آیپی اصلی سرور شما روت میکند
پس تا اینجا وقتی یک پکت به سمت یکی از آیپی های شما ارسال میشود در میسر داده شده تا سرور اصلی شما میرسد ولی به مقصد نمیرسد به دلیل آن که هیچ روت مشخصی در سرور شما برای آن وجود ندارد

وقتی شما از NAT استفاده میکنید یک رابط برای آن بوجود میاورید که پکت به مقصدش برسد ولی این کار درست نیست و راه درست آن اضافه کردن یک Static Route داخل سرور به سمت سرور های مجازی میباشد

به این صورت




ip route add 192.168.0.0/27 via 10.10.10.1 dev viifbr0



در مثال بالا 192.168.0.0/27 ساب نت روت شده از سمت دیتاسنتر
و 10.10.10.1 آیپی سرور اصلی میباشد (البته میتوان از Private آیپی ها برای gateway استفاده کرد درصورتی که آیپی مورد نظر روی اینترفیس سرور ست شده باشد )

این قسمت ماجرا حل شد

قسمت دوم ساب نت مسک

2راه حل وجود دارد :

یک هدر رفت 3 آیپی
اولین آیپی usable را بر روی اینترفیس بریج ست کرده و آن راه به عنوان Default Route در IP Pool استفاده میکنیم که این کار 3آیپی را بلا استفاده میکند ( در روت بالا هم باید بجای 10.10.10.1 آیپی که به عنوان Default gateway ست شده است استفاده شود) ساب نت مسک هم به صورت 255.255.255.224 وارد میشود


روش دوم

استفاده از ساب نت مسک 255.255.255.255
در این روش تمامی 32 عدد آیپی قابل استفاده برای ماشین های مجازی میباشد
کافیست در هنگام وارد کردن IP Pool ساب نت مسک را 255.255.255.255 داده و Default gateway را آیپی سرور اصلی قرارد دهید و در آخر گزینه Use Routed network را فعال نمایید
این قسمت Use Routed network باعث میشود در ماشین مجازی یک استاتیک روت برای Default gateway ساخته شود که مشکلی برای اتصال به سرور مجازی به وجود نیاید.


با تشکر

tikweb.ir
October 14th, 2018, 00:11
سلام ضمن تشکر از اموزشتون ما قبلا از روش دوم استفاده میکردیم (هدر رفت سه ایپی و خب کار میکرد)

ip pool ی که از قبل ایجاد شده بود رو ادیت کردیم و به شکل routed network در اوردیم و نت ماسک هم 255.255.255.255
گیتوی هم ایپی اصلی سرور
ایپی اول سابنت رو برای تست اد کردیم و یه ماشین مجازی ساختیم
اما نت نگرفته

البته ماشینای مجازی قبلی نت دارن و مشکلی نیست (با ریبوت شاید بپره !؟)
داخل vm های قبلی نتورک توسط ویرچوالیزور بصورت دستی ست شده(راه حل؟)

مورد دیگه وقتی دستور زیرو زدیم (ایپی اصلی و سابنت جایگزین کردیم)

ip route add 192.168.0.0/27 via 10.10.10.1 dev viifbr0
ارور زیر رو داد

RTNETLINK answers: File exists


مشکل چیه؟
راه حلی به نظرتون میرسه؟
فایل /etc/sysconfig/network-scripts/ifcfg-viifbr0 باید حذف بشه قبلش؟

NetworkFA
October 14th, 2018, 02:26
سلام ضمن تشکر از اموزشتون ما قبلا از روش دوم استفاده میکردیم (هدر رفت سه ایپی و خب کار میکرد)

ip pool ی که از قبل ایجاد شده بود رو ادیت کردیم و به شکل routed network در اوردیم و نت ماسک هم 255.255.255.255
گیتوی هم ایپی اصلی سرور
ایپی اول سابنت رو برای تست اد کردیم و یه ماشین مجازی ساختیم
اما نت نگرفته

البته ماشینای مجازی قبلی نت دارن و مشکلی نیست (با ریبوت شاید بپره !؟)
داخل vm های قبلی نتورک توسط ویرچوالیزور بصورت دستی ست شده(راه حل؟)

مورد دیگه وقتی دستور زیرو زدیم (ایپی اصلی و سابنت جایگزین کردیم)

ip route add 192.168.0.0/27 via 10.10.10.1 dev viifbr0
ارور زیر رو داد

RTNETLINK answers: File exists


مشکل چیه؟
راه حلی به نظرتون میرسه؟
فایل /etc/sysconfig/network-scripts/ifcfg-viifbr0 باید حذف بشه قبلش؟

سلام
اول اینکه چک کنید که اسم اینترفیس بریج viifbr0 باشه
دوم دستور route را به تنهای وارد کنید و روت های موجود در سرور را چک کنید که آیا این روت وجود دارد یا نه


اگر درست نشد داخل تلگرام پیام بدید باهم چک کنید
https://t.me/ah_foroozani