تنظیمات شبکه VirtualBox
در این دنیای تجاری مدرن، شبکه یک جزء حیاتی از عملیات کامپیوتری تعاملی است. تصور اینکه چگونه می توان داده ها را بین رایانه های بدون شبکه در دنیایی که همه چیز با سرعت فزاینده ای در حال تغییر است، مبادله کرد، دشوار است. یکی از ایدههای کانونی اصلی در پشت مجازیسازی سختافزار، امکان استفاده از ماشینهای مجازی تقریباً در همه مواردی است که رایانههای فیزیکی نیز میتوانند استفاده شوند.
بنابراین ماشین های مجازی باید بتوانند با آداپتورهای شبکه مجازی خود به شبکه های فیزیکی و مجازی متصل شوند. ماشین های مجازی که روی VirtualBox کار می کنند می توانند به شبکه های مختلف متصل شوند. VirtualBox چندین حالت شبکه را برای ماشین های مجازی فراهم می کند. این پست وبلاگ تنظیمات شبکه VirtualBox را پوشش می دهد تا به شما کمک کند VirtualBox را به بهترین شکل ممکن مطابق با نیازهای خود پیکربندی کنید.
با پردیس پارس، مجری خدمات راه اندازی شبکه و پشتیبانی شبکه سایر خدماتی مانند: نصب و راهاندازی ایمیل سرور، شبکههای مایکروسافت، تنظیم تجهیزات سیسکو، خدمات میکروتیک، نصب و راهاندازی فایروالهای نرمافزاری و سختافزاری، راهاندازی و خدمات مانیتورینگ شبکه، مجازیسازی سرور و دسکتاپ، و خدمات راهاندازی و پشتیبانی VoIP همراه باشید.
آداپتورهای شبکه مجازی
هر VirtualBox VM می تواند از هشت آداپتور شبکه مجازی استفاده کند که هر کدام به نوبه خود به عنوان کنترلر رابط شبکه (NIC) شناخته می شوند. چهار آداپتور شبکه مجازی را می توان در رابط کاربری گرافیکی VirtualBox (رابط کاربری گرافیکی) پیکربندی کرد. تمام آداپتورهای شبکه مجازی (تا 8 عدد) را می توان با دستور VBoxManage modifyvm پیکربندی کرد. VBoxManage یک ابزار مدیریت خط فرمان VirtualBox است که می تواند برای پیکربندی تمام تنظیمات VirtualBox از جمله تنظیمات شبکه VirtualBox استفاده شود. تنظیمات آداپتور شبکه VirtualBox در تنظیمات ماشین مجازی قابل دسترسی است (VM خود را انتخاب کنید، Settings را بزنید و به بخش Network در پنجره تنظیمات VM بروید).
در آنجا باید چهار برگه آداپتور را ببینید. یک آداپتور شبکه مجازی پس از ایجاد دستگاه مجازی به طور پیش فرض فعال می شود. می توانید کادر انتخاب “Enable Network Adapter” را تیک بزنید تا آداپتور را فعال کرده و کادر انتخاب را غیرفعال کنید (این کادر انتخاب تعریف می کند که آیا یک دستگاه آداپتور شبکه مجازی به VM متصل است یا خیر).
برای گسترش تنظیمات پیشرفته آداپتور شبکه VirtualBox روی Advanced کلیک کنید.
انواع آداپتورهای شبکه مجازی در VirtualBox
آداپتور شبکه مجازی یک دستگاه فیزیکی شبیه سازی شده با نرم افزار است. شش نوع آداپتور مجازی وجود دارد که می تواند توسط VirtualBox مجازی سازی شود.
AMD PCnet-PCI II (Am79C970A). این آداپتور شبکه مبتنی بر تراشه AMD است و در بسیاری از موقعیت ها قابل استفاده است. در مورد مهمان های ویندوز، این آداپتور شبکه را می توان برای نسخه های قدیمی ویندوز (مانند ویندوز 2000) استفاده کرد زیرا نسخه های جدید ویندوز مانند ویندوز 7، 8 و 10 دارای درایور داخلی برای این آداپتور نیستند. در اصل، دستگاه PCI Am79C970A حاوی یک کنترلر 10 مگابیتی تک تراشه بود و موتور DMA یکپارچه شده بود. این آداپتور شبکه همچنین از فناوری Magic Packet AMD برای بیدار شدن از راه دور پشتیبانی می کند.
AMD PCnet-FAST III (Am79C973). این آداپتور شبکه مجازی تقریباً توسط تمام سیستم عامل های مهمان که می توانند روی VirtualBox اجرا شوند پشتیبانی می شود. GRUB (بوت لودر) می تواند از این آداپتور برای بوت شبکه استفاده کند. مشابه آداپتور شبکه قبلی، این آداپتور مبتنی بر تراشه AMD است.
دسکتاپ Intel PRO/1000 MT (82540EM). این آداپتور با ویندوز ویستا و نسخه های جدیدتر ویندوز کاملاً کار می کند. اکثر توزیع های لینوکس از این آداپتور نیز پشتیبانی می کنند.
سرور Intel PRO/1000 T (82543GC). ویندوز XP این آداپتور را بدون نصب درایورهای اضافی تشخیص می دهد.
سرور Intel PRO/1000 MT (82545EM). این مدل آداپتور برای وارد کردن قالبهای OVF از سایر پلتفرمها مفید است و میتواند فرآیند واردات را تسهیل کند.
آداپتور شبکه Paravirtualized (Virtio-Net) یک مورد خاص است. به جای مجازی سازی سخت افزار شبکه ای که توسط اکثر سیستم عامل ها پشتیبانی می شود ، یک سیستم عامل مهمان باید یک رابط نرم افزاری ویژه برای محیط های مجازی فراهم کند. این رویکرد به شما امکان می دهد از پیچیدگی سخت افزار شبکه سازی جلوگیری کنید و در نتیجه می تواند عملکرد شبکه را بهبود بخشد.
درایورهای شبکه استاندارد صنعتی virtIO توسط VirtualBox پشتیبانی می شوند. درایورهای شبکه VirtIO بخشی از پروژه KVM هستند و منبع باز هستند. این درایورها برای لینوکس با هسته 2.6.25 یا جدیدتر و ویندوز شامل نسخه های قدیمی تر مانند Windows 2000، XP و Vista در دسترس هستند.
پشتیبانی از فریم های جامبو
VirtualBox پشتیبانی محدودی از فریم های جامبو ارائه می دهد (فریم های اترنت که می توانند بسته هایی با اندازه بیش از 1500 بایت را حمل کنند). اگر نیاز به استفاده از فریم های جامبو دارید، یک آداپتور شبکه مجازی سازی شده اینتل را انتخاب کنید و آن آداپتور را برای کار در حالت پل پیکربندی کنید. آداپتورهای شبکه مجازی مبتنی بر AMD از فریم های جامبو پشتیبانی نمی کنند. اگر بخواهید فریم های جامبو را برای آداپتورهای شبکه مجازی مبتنی بر AMD فعال کنید، فریم های جامبو برای ترافیک ورودی و خروجی بی صدا حذف می شوند. فریم های جامبو به طور پیش فرض غیرفعال هستند.
حالت های شبکه VirtualBox
حالت های شبکه VirtualBoxVirtualBox لیست طولانی از حالت های شبکه را ارائه می دهد که یکی از جالب ترین ویژگی های تنظیمات شبکه VirtualBox است. هر آداپتور شبکه مجازی را می توان به طور جداگانه پیکربندی کرد تا در حالت شبکه متفاوتی کار کند. برای مثال، میتوانید حالت NAT را برای آداپتور 1 و حالت Host-only را برای آداپتور 2 تنظیم کنید. میتوانید حالت شبکه را در منوی کشویی Attached to انتخاب کنید.
بیایید هر حالت شبکه VirtualBox را با جزئیات در نظر بگیریم.
پیوست نشده است
یک آداپتور شبکه مجازی در یک ماشین مجازی نصب شده است، اما اتصال شبکه وجود ندارد، دقیقاً مانند زمانی که کابل شبکه اترنت را هنگام استفاده از یک آداپتور شبکه فیزیکی جدا میکنید. این حالت می تواند برای تست مفید باشد. به عنوان مثال، می توانید این حالت شبکه را برای مدت کوتاهی فعال کنید تا جدا کردن کابل را شبیه سازی کنید. هنگامی که حالت Not Attached را با تغییر حالت شبکه دیگر غیرفعال می کنید، اتصال شبکه دوباره در دسترس می شود. همچنین می توانید بررسی کنید که آیا یک سرویس گیرنده DHCP آدرس IP را به درستی دریافت کرده است یا خیر، آیا برنامه مناسب می تواند پس از قطع لینک یا از دست دادن بسته، بارگیری را از سر بگیرد و غیره.
به جای استفاده از حالت شبکه متصل نشده، میتوانید از هر حالت شبکه دیگری بدون علامت زدن چک باکس Cable Connected استفاده کنید. هنگامی که یک ماشین مجازی در حال اجرا است، می توانید تیک باکس را بردارید (تصویر صفحه بالا را ببینید). فراموش نکنید که برای اعمال تغییرات در پیکربندی شبکه VM، OK را بزنید.
NAT
این حالت شبکه به طور پیش فرض برای یک آداپتور شبکه مجازی فعال است. یک سیستم عامل مهمان در یک VM می تواند با استفاده از یک دستگاه مجازی NAT (ترجمه آدرس شبکه) به میزبان ها در یک شبکه محلی فیزیکی (LAN) دسترسی داشته باشد. شبکه های خارجی، از جمله اینترنت، از یک سیستم عامل مهمان قابل دسترسی هستند. وقتی از حالت NAT برای شبکهسازی VirtualBox استفاده میشود، ماشین مهمان از طریق ماشین میزبان یا سایر ماشینهای موجود در شبکه قابل دسترسی نیست. این حالت شبکه پیشفرض برای کاربرانی که میخواهند از VM فقط برای دسترسی به اینترنت استفاده کنند، کافی است.
آدرس IP آداپتور شبکه VM از طریق DHCP به دست می آید و آدرس های IP شبکه مورد استفاده در این حالت شبکه را نمی توان در رابط کاربری گرافیکی تغییر داد. VirtualBox دارای سرور داخلی DHCP و موتور NAT است. یک دستگاه NAT مجازی از آداپتور شبکه فیزیکی میزبان VirtualBox به عنوان یک رابط شبکه خارجی استفاده می کند. آدرس پیشفرض سرور DHCP مجازی مورد استفاده در حالت NAT 10.0.2.2 است (این آدرس IP دروازه پیشفرض یک ماشین مجازی نیز هست). ماسک شبکه 255.255.255.0 است.
اگر آداپتورهای شبکه دو یا چند ماشین مجازی را برای استفاده از حالت NAT پیکربندی کنید، هر ماشین مجازی آدرس IP 10.0.2.15 را در شبکه ایزوله خود در پشت یک دستگاه NAT مجازی خصوصی به دست خواهد آورد. دروازه پیش فرض برای هر ماشین مجازی 10.0.2.2 است. در VirtualBox آدرس های IP با استفاده از حالت NAT تغییر نمی کنند، همانطور که در زیر مشاهده می کنید:
برای فعال کردن حالت NAT برای VM با VBoxManage، دستور زیر را اجرا کنید:
VBoxManage modifyvm VM_name –nic1 nat
جایی که:
VM_name نام ماشین مجازی شماست.
nic1 شماره آداپتور شبکه مجازی است.
nat نام حالت شبکه VirtualBox است که باید تنظیم کنید.
انتقال پورت را می توان مستقیماً از پنجره تنظیمات شبکه VirtualBox VM با کلیک کردن روی دکمه حمل و نقل پورت (در تصویر بالا مشاهده می شود) پیکربندی کرد. اطلاعات دقیق در مورد پیکربندی حمل و نقل پورت در تنظیمات شبکه VirtualBox که در زیر می توانید بعد از بخش حالت های شبکه بیابید.
شبکه NAT
این حالت شبیه حالت NAT است که برای پیکربندی روتر استفاده می کنید. اگر از حالت شبکه NAT برای چندین ماشین مجازی استفاده می کنید، آنها می توانند از طریق شبکه با یکدیگر ارتباط برقرار کنند. ماشین های مجازی می توانند به هاست های دیگر در شبکه فیزیکی دسترسی داشته باشند و می توانند به شبکه های خارجی از جمله اینترنت دسترسی داشته باشند. هر ماشینی از شبکههای خارجی و همچنین ماشینهایی که از یک شبکه فیزیکی که ماشین میزبان به آن متصل است، نمیتوانند به ماشینهای مجازی که برای استفاده از حالت شبکه NAT پیکربندی شدهاند دسترسی داشته باشند (همانطور که وقتی یک روتر را برای دسترسی به اینترنت از شبکه خانگی خود پیکربندی میکنید). هنگام استفاده از حالت شبکه NAT نمیتوانید از دستگاه میزبان به دستگاه مهمان دسترسی داشته باشید (مگر اینکه در حال پیکربندی انتقال پورت در تنظیمات شبکه جهانی VirtualBox باشید). روتر VirtualBox NAT داخلی از یک کنترلر رابط فیزیکی شبکه میزبان VirtualBox به عنوان یک رابط شبکه خارجی استفاده می کند (همانطور که در حالت NAT وجود دارد).
آدرس و نام شبکه را می توان در تنظیمات جهانی VirtualBox (File > Preferences) تغییر داد. در پنجره سمت چپ پنجره Preferences، Network را برای دسترسی به تنظیمات شبکه جهانی VirtualBox انتخاب کنید، سپس برای ویرایش تنظیمات، روی شبکه NAT موجود خود دوبار کلیک کنید (همچنین می توانید یک شبکه جدید اضافه کنید یا یک شبکه موجود را با کلیک کردن روی نمادهای + یا x حذف کنید).
در پنجره پاپ آپ کوچکی که ظاهر می شود، امکان فعال/غیرفعال کردن DHCP، IPv6 و پیکربندی ارسال پورت نیز وجود دارد.
آدرس پیش فرض NatNetwork 10.0.2.0/24 است.
IP پیش فرض دروازه 10.0.2.1 است (الگوی x.x.x.1 برای اختصاص IP پیش فرض دروازه استفاده می شود). به عنوان مثال، اگر یک شبکه مجازی جدید برای حالت NAT Network در VirtualBox ایجاد کنید و آدرس شبکه 192.168.22.0/24 را تنظیم کنید، آدرس IP دروازه در این شبکه 192.168.22.1 خواهد بود. شما نمی توانید آدرس IP دروازه را برای شبکه مورد استفاده در حالت شبکه NAT تغییر دهید و دامنه آدرس های IP صادر شده توسط سرور DHCP را تغییر دهید. به طور مشابه، آدرس IP سرور DHCP به طور پیش فرض 10.0.2.3 است (از قالب x.x.x.3 استفاده می شود).
پیکربندی IP ماشین مجازی ویندوز 7 در حال اجرا در VirtualBox با یک آداپتور شبکه مجازی پیکربندی شده در حالت شبکه NAT روی تصویر نمایش داده می شود.
اگر نمی خواهید تنظیمات شبکه VirtualBox را در رابط کاربری گرافیکی ویرایش کنید، می توانید یک شبکه NAT جدید با VBoxManage با استفاده از دستور اضافه کنید:
VBoxManage natnetwork add –netname natnet1 –network “192.168.22.0/24” –enable
جایی که:
natnet1 نام شبکه NAT است.
192.168.22.0/24 آدرس آن شبکه NAT است.
اگر می خواهید یک آداپتور شبکه VM را برای استفاده از حالت شبکه NAT با VBoxManage پیکربندی کنید، دستور زیر را اجرا کنید:
VBoxManage modifyvm VM_name –nic1 natnetwork
جایی که:
nic1 اولین آداپتور شبکه مجازی (کنترل کننده رابط شبکه) است.
natnetwork نام حالت شبکه VirtualBox است.
ممکن است لازم باشد قبل از اعمال این تنظیمات، VM را خاموش کنید.
به منظور جلوگیری از تکرار دستور مشابه با VBoxManage هنگام انتخاب حالت شبکه برای آداپتور شبکه مجازی یک ماشین مجازی در هر بخش از مقاله، نام تمام حالتهای شبکه مجازی VirtualBox را در نظر بگیرید: هیچ، null، nat، natnetwork، bridged، intnet، hostonly، عمومی.
انتقال پورت یکی دیگر از گزینه هایی است که می توان از این پنجره به آن دسترسی پیدا کرد و پیکربندی کرد. انتقال پورت می تواند برای پیکربندی دسترسی از ماشین میزبان و سایر میزبان های همان شبکه فیزیکی به سرویس های در حال اجرا در سیستم عامل مهمان در داخل ماشین مجازی استفاده شود (جزئیات زیر را ببینید). همانطور که می بینید، مکان تنظیمات ارسال پورت برای حالت NAT و حالت NAT Network در رابط کاربری گرافیکی VirtualBox متفاوت است. تنظیمات حمل و نقل پورت برای حالت NAT در VM > تنظیمات > شبکه موجود است، در حالی که تنظیمات حمل و نقل پورت برای حالت شبکه NAT را می توان در File > Preferences > Network پیکربندی کرد. این به این دلیل است که قوانین حمل و نقل پورت برای حالت NAT برای هر ماشین مجازی جداگانه است، در حالی که قوانین حمل و نقل پورت برای حالت شبکه NAT برای چندین ماشین مجازی که آداپتورهای آنها به شبکه NAT مناسب متصل هستند، رایج است. جزئیات مربوط به پیکربندی حمل و نقل پورت را در زیر در بخش حمل و نقل پورت مشاهده کنید.
آداپتور پل
آداپتور پلاین حالت برای اتصال آداپتور شبکه مجازی یک ماشین مجازی به یک شبکه فیزیکی که یک آداپتور شبکه فیزیکی ماشین میزبان VirtualBox به آن متصل است استفاده می شود. یک آداپتور شبکه مجازی VM از رابط شبکه میزبان برای اتصال شبکه استفاده می کند. به زبان ساده، بسته های شبکه مستقیماً از/به آداپتور شبکه مجازی بدون مسیریابی اضافی ارسال و دریافت می شوند. یک درایور فیلتر خالص ویژه توسط VirtualBox برای حالت شبکه پل شده به منظور فیلتر کردن داده ها از آداپتور شبکه فیزیکی میزبان استفاده می شود.
از این حالت شبکه می توان برای اجرای سرورهایی روی ماشین های مجازی استفاده کرد که باید به طور کامل از یک شبکه محلی فیزیکی در دسترس باشند. هنگام استفاده از حالت شبکه پل شده در VirtualBox، می توانید به یک ماشین میزبان، میزبان های شبکه فیزیکی و شبکه های خارجی، از جمله اینترنت از VM دسترسی داشته باشید. VM را می توان از دستگاه میزبان و از میزبان های دیگر (و ماشین های مجازی) متصل به شبکه فیزیکی دسترسی داشت.
اگر چندین آداپتور شبکه فیزیکی روی دستگاه میزبان دارید، باید آداپتور صحیح را در تنظیمات شبکه VirtualBox انتخاب کنید. در تصویر زیر می توانید دو آداپتور فیزیکی شبکه را ببینید – آداپتور اترنت و آداپتور Wi-Fi. اگر از حالت پل برای یک آداپتور شبکه بی سیم استفاده می کنید، نمی توانید از ویژگی های سطح پایین آن آداپتور Wi-Fi در یک سیستم عامل مهمان استفاده کنید. برای مثال، نمیتوانید شبکههای Wi-Fi را برای اتصال، فعال کردن حالت نظارت و غیره انتخاب کنید. در عوض، باید به شبکه Wi-Fi در دستگاه میزبان متصل شوید. اگر باید از تمام ویژگیهای آداپتور Wi-Fi در سیستم عامل مهمان VM استفاده کنید، از یک آداپتور USB Wi-Fi و ویژگی USB Pass-through همانطور که در پست وبلاگ درباره نصب Kali Linux در VirtualBox توضیح داده شده است، استفاده کنید.
در VirtualBox، آدرس IP یک آداپتور شبکه مجازی VM می تواند به همان شبکه ای تعلق داشته باشد که آدرس IP آداپتور فیزیکی شبکه فیزیکی دستگاه میزبان در هنگام استفاده از حالت پل شده است. اگر یک سرور DHCP در شبکه فیزیکی شما وجود داشته باشد، آداپتور شبکه مجازی VM آدرس IP را به طور خودکار در حالت پل شده به دست می آورد (اگر دریافت آدرس IP به طور خودکار در تنظیمات رابط شبکه در سیستم عامل مهمان تنظیم شده باشد). بنابراین، دروازه پیشفرض برای یک آداپتور شبکه مجازی که در حالت پل شده کار میکند مانند دستگاه میزبان شما است. بیایید به یک مثال ساده با آدرس های IP نگاه کنیم.
آدرس شبکه فیزیکی: 10.10.10.0/24
آدرس IP دروازه پیش فرض در شبکه فیزیکی: 10.10.10.1
آدرس IP سرور DHCP در شبکه فیزیکی: 10.10.10.1
پیکربندی IP دستگاه میزبان: آدرس IP – 10.10.10.72. ماسک شبکه – 255.255.255.0; دروازه پیش فرض – 10.10.10.1.
گاهی اوقات، ممکن است متوجه شوید که چندین دروازه در شبکه فیزیکی خود دارید. شما می توانید از یک ماشین میزبان برای اتصال به شبکه های ضروری از طریق یک دروازه و از ماشین مهمان برای اتصال به شبکه های دیگر از طریق دروازه دوم استفاده کنید. همچنین می توانید یک جدول مسیریابی را در VM خود ویرایش کنید و مسیرهایی را برای استفاده از هر دو دروازه برای اتصال به شبکه های مناسب اضافه کنید. همانطور که می بینید، حالت شبکه پل شده یک گزینه قدرتمند در تنظیمات شبکه VirtualBox با موارد استفاده زیاد است.
حالت بی بند و باری. این حالت به یک آداپتور شبکه اجازه می دهد تا تمام ترافیک دریافتی را منتقل کند، مهم نیست که ترافیک به کدام آداپتور خطاب می شود. در حالت عادی، یک آداپتور شبکه فقط فریم هایی را دریافت می کند که آدرس MAC این آداپتور شبکه خاص را به عنوان آدرس مقصد در هدر شامل می شود. فریم هایی که به یک آدرس MAC آدرس دهی می شوند که با آدرس MAC آداپتور انتخابی متفاوت است (زمانی که ترافیک پخش نمی شود) در حالت عادی حذف می شوند. حالت غیرقانونی این امکان را برای یک آداپتور شبکه فیزیکی فراهم میکند که چندین آدرس MAC داشته باشد و به تمام ترافیک ورودی اجازه میدهد از آداپتور شبکه فیزیکی ماشین میزبان عبور کرده و به آداپتور شبکه مجازی ماشین مجازی که آدرس MAC خود را دارد که در آن نشان داده شده است برسد. آداپتور میزبان، حتی اگر آن ترافیک به آداپتور شبکه مجازی آن VM خاص خطاب نشود.
اکثر آداپتورهای شبکه بیسیم از حالت بیسیم پشتیبانی نمیکنند. اتصال به آداپتورهای Wi-Fi به روش زیر انجام می شود – VirtualBox آدرس های MAC مناسب را در هدر فریم های اترنت جایگزین می کند که باید به آداپتور شبکه مجازی ماشین مجازی تحویل داده شود (آدرس MAC آداپتور Wi-Fi میزبان باید استفاده شود. برای آن ترافیک). حالت بی بند و باری برای آزمایش شبکه و ممیزی های امنیتی مفید است. میتوانید حالت بیوقفه را در تنظیمات شبکه VirtualBox فعال کنید و ترافیک شبکه را با sniffer کنترل کنید.
سه گزینه برای استفاده از حالت بیجا وجود دارد.
انکار. هر ترافیکی که برای آداپتور شبکه مجازی VM در نظر گرفته نشده باشد از VM پنهان می شود. این گزینه به صورت پیش فرض تنظیم شده است.
مجاز به VMs تمام ترافیک از آداپتور شبکه VM پنهان می شود به جز ترافیکی که به و از سایر ماشین های مجازی منتقل می شود.
اجازه دادن به همه. هیچ محدودیتی در این حالت وجود ندارد. یک آداپتور شبکه VM می تواند تمام ترافیک ورودی و خروجی را ببیند.
حالت Promiscuous نه تنها برای حالت شبکه Bridged، بلکه برای حالت های NAT Network، Internal Network و Host-Only Adapter نیز قابل استفاده است.
شبکه داخلی
ماشینهای مجازی که آداپتورهای آنها برای کار در حالت شبکه داخلی VirtualBox پیکربندی شدهاند، به یک شبکه مجازی ایزوله متصل هستند. ماشین های مجازی متصل به این شبکه می توانند با یکدیگر ارتباط برقرار کنند، اما نمی توانند با یک ماشین میزبان VirtualBox یا با هر میزبان دیگری در یک شبکه فیزیکی یا در شبکه های خارجی ارتباط برقرار کنند. ماشین های مجازی متصل به شبکه داخلی را نمی توان از یک هاست یا هر دستگاه دیگری دسترسی داشت. از شبکه داخلی VirtualBox می توان برای مدل سازی شبکه های واقعی استفاده کرد.
برای مثال می توانید سه ماشین مجازی بسازید که هر کدام یک آداپتور شبکه مجازی (آداپتور 1) متصل به شبکه داخلی دارند. آدرس های IP این آداپتورهای شبکه از زیر شبکه مورد استفاده برای شبکه داخلی VirtualBox تعریف شده است (شما باید زیر شبکه را به صورت دستی تعریف کنید). یکی از این ماشین های مجازی (VM1) همچنین دارای آداپتور شبکه مجازی دوم است که برای عملکرد در حالت NAT پیکربندی شده است. VM1 به عنوان یک روتر پیکربندی شده است (یکی از بهترین راه حل ها برای ایجاد روتر نصب لینوکس و پیکربندی IPTABLES است، اما برای اولین بار می توانید از راه حل های مسیریابی ساده تری در مورد آزمایش شبکه VirtualBox استفاده کنید).
یک VM2 و VM3 که آداپتورهای شبکه آنها فقط به شبکه داخلی VirtualBox متصل هستند، اگر آدرس IP آداپتور شبکه داخلی VM1 به عنوان یک دروازه در تنظیمات شبکه VM2 و VM3 تنظیم شده باشد، می توانند به شبکه های خارجی دسترسی داشته باشند.
پیکربندی شبکه استفاده شده در این مثال:
VM1. آدرس IP – 192.168.23.1 (حالت شبکه داخلی)؛ 10.0.2.15 (حالت NAT)، دروازه 10.0.2.2 (آدرس IP دستگاه VirtualBox NAT داخلی).
VM2. آدرس IP – 192.168.23.2 (شبکه داخلی)، دروازه – 192.168.23.1
VM3. آدرس IP – 192.168.23.3 (شبکه داخلی)، دروازه – 192.168.23.1
زیرشبکه شبکه داخلی VirtualBox: 192.168.23.0/24
برای وضوح بیشتر نمودار زیر را ببینید.
توجه: شما همچنین میتوانید چنین زیرساختهای مجازی را برای آزمایش قوانین فایروال در IPTABLES قبل از پیادهسازی آنها در زیرساخت شبکه واقعی خود مستقر کنید، اما ترجیحاً هنگام اتصال به شبکه مجازی از حالت Bridged و نه حالت NAT برای آداپتور شبکه مجازی دوم VM1 استفاده کنید. /از شبکه های خارجی
آداپتور فقط میزبان
این حالت شبکه برای برقراری ارتباط بین میزبان و مهمانان استفاده می شود. یک VM می تواند با سایر ماشین های مجازی متصل به شبکه فقط میزبان و با ماشین میزبان ارتباط برقرار کند. دستگاه میزبان VirtualBox می تواند به تمام ماشین های مجازی متصل به شبکه فقط میزبان دسترسی داشته باشد.
آداپتور شبکه مجازی VirtualBox Host-Only در یک سیستم عامل میزبان برای استفاده در شبکه فقط میزبان ایجاد شده است. با رفتن به File > Host Network Manager می توانید تنظیمات این شبکه VirtualBox را ویرایش کنید.
در مورد ما، آدرس شبکه پیش فرض شبکه فقط میزبان 192.168.56.0/24 است و آدرس IP آداپتور شبکه مجازی در دستگاه میزبان 192.168.56.1 است. می توانید این آدرس های IP را به صورت دستی در تب Adapter ویرایش کنید. یک سرور DHCP را می توان با علامت زدن چک باکس مناسب فعال یا غیرفعال کرد. در تب DHCP Server، میتوانید آدرس IP سرور DHCP، ماسک شبکه و محدوده آدرسهای IP را که برای کلاینتهای DHCP صادر میشود، تنظیم کنید.
آداپتورهای شبکه مجازی ماشین های مجازی در پیکربندی IP خود دروازه ای ندارند زیرا حالت Host-Only به شما اجازه نمی دهد به هیچ دستگاهی خارج از شبکه فقط میزبان متصل شوید. همچنین امکان ایجاد بیش از یک آداپتور شبکه فقط میزبان VirtualBox به منظور استفاده از شبکههای اختصاصی میزبان مختلف وجود دارد—فقط دکمه ایجاد را فشار دهید. اگر شبکه فقط میزبان دیگر مورد نیاز نیست، به سادگی آداپتور را انتخاب کرده و Remove را بزنید.
درایور عمومی
این حالت شبکه به شما امکان می دهد رابط شبکه عمومی را به اشتراک بگذارید. کاربر میتواند درایور مناسب را برای توزیع در بستههای افزودنی انتخاب کند یا در VirtualBox گنجانده شود.
دو حالت فرعی برای حالت VirtualBox Generic Driver در دسترس است – UDP Tunnel و VDE (Virtual Distributed Networking).
تونل UDP ماشینهای مجازی که بر روی میزبانهای مختلف اجرا میشوند، میتوانند با استفاده از زیرساخت شبکه موجود به صورت شفاف ارتباط برقرار کنند.
شبکه VDE ماشین های مجازی می توانند به یک سوئیچ توزیع شده مجازی در میزبان های لینوکس یا FreeBSD متصل شوند. برای استفاده از شبکه VDE باید VirtualBox را از منابع کامپایل کنید زیرا بستههای استاندارد VirtualBox این ویژگی را ندارند.
مقایسه حالت های شبکه VirtualBox
برای راحتی بیشتر، بیایید تمام اطلاعات مربوط به حالت های شبکه پشتیبانی شده توسط VirtualBox را در این جدول خلاصه کنیم:
پورت حمل و نقل
ارسال پورت فرآیندی است برای رهگیری ترافیک آدرسدهی شده به آدرس IP و پورت مناسب علاوه بر هدایت آن ترافیک به یک آدرس IP و/یا پورت دیگر. برنامه های کاربردی ویژه را می توان در رایانه ها و سایر دستگاه های روتر برای پیکربندی ارسال پورت استفاده کرد. یکی از محبوب ترین موارد استفاده برای ارسال پورت، دسترسی به خدمات شبکه خاصی است که در پشت NAT از شبکه های خارجی پنهان شده اند. پس از پیکربندی قوانین ارسال پورت، مشتریان می توانند با اتصال به آدرس IP خارجی روتر (میزبان) و پورت مشخص شده، از خارج به خدمات مناسب دسترسی پیدا کنند.
بسته ها ابتدا توسط یک برنامه کاربردی روی روتر رهگیری می شوند، سپس برنامه آدرس IP مقصد و شماره پورت هدرهای مناسب (سرصفحه بسته IP، هدر بخش های TCP یا UDP) را می خواند. اگر ترکیبی از آدرس IP مقصد و/یا شماره پورت در هدرها با شرایط تعیین شده در قانون حمل و نقل پورت مطابقت داشته باشد، برنامه مسیریابی اطلاعات سرصفحه (آدرس IP و/یا شماره پورت) را بازنویسی کرده و یک بسته/بخش را به شبکه دیگری ارسال میکند. رابط طبق قانون حمل و نقل پورت.
به طور پیشفرض، اتصال به ماشینهای مجازی VirtualBox که آداپتورهای شبکه آنها در حالت شبکه NAT یا NAT تنظیم شدهاند، از طریق میزبان VirtualBox و میزبانهای دیگر در LAN غیرممکن است، اما VirtualBox یک ویژگی انتقال پورت داخلی را برای فعال کردن چنین دسترسیهایی فراهم میکند.
مثال 1 – دسترسی SSH
بیایید اکنون پیکربندی پورت فورواردینگ برای اتصال به VMهای VirtualBox را با استفاده از مثال اتصال به سرور SSH در حال اجرا بر روی یک ماشین مجازی لینوکس اوبونتو که با حالت NAT به شبکه متصل است، در نظر بگیریم. نحوه نصب اوبونتو در VirtualBox را می توانید در این پست وبلاگ بخوانید.
داده های ورودی:
IP میزبان: 10.10.10.72 (یک کارت شبکه فیزیکی).
IP VM Ubuntu: 10.0.2.15 (حالت NAT)
نام کاربری: user1
1. سرور SSH را روی ماشین مجازی اوبونتو نصب کنید.
apt-get نصب openssh-server
2. فایل پیکربندی سرور SSH را ویرایش کنید.
vim /etc/ssh/sshd_config
3. رشته فعال کردن احراز هویت با رمزهای عبور را از حالت نظر خارج کنید.
رمز عبور بله
4. دیمون SSH (سرویس) را مجددا راه اندازی کنید.
/etc/init.d/ssh راه اندازی مجدد
5. بررسی کنید که سرور SSH کار می کند و سعی کنید از localhost (اوبونتو VM) به سرور SSH متصل شوید.
ssh user1@127.0.0.1
6. اگر همه چیز درست است، می توانید پیکربندی پورت فورواردینگ را در VirtualBox شروع کنید.
همانطور که به یاد دارید، باید تنظیمات VM را باز کنید و بخش Network را انتخاب کنید. آداپتور شبکه مجازی خود را که برای کار در حالت NAT پیکربندی شده است انتخاب کنید، تنظیمات پیشرفته را گسترش دهید و دکمه Port Forwarding را فشار دهید. روی نماد + کلیک کنید تا یک قانون انتقال پورت جدید در تنظیمات شبکه VirtualBox VM اضافه شود.
یک سرور SSH به طور پیش فرض به پورت 22 TCP گوش می دهد. بیایید قانونی ایجاد کنیم که به شما امکان می دهد تمام اتصالات را به دستگاه میزبان VirtualBox در پورت 8022 به VM Ubuntu در پورت 22 که توسط سرور SSH گوش داده می شود، فوروارد کنید. ابتدا، میتوانید قانونی ایجاد کنید که فقط از طریق میزبان VirtualBox اجازه اتصال را بدهد.
Name
Protocol
Host IP
Host Port
Guest IP
Guest Port
Ubuntu-SSH
TCP
127.0.0.1
8022
10.0.2.15
22
نمای پنجره قوانین حمل و نقل پورت در رابط کاربری گرافیکی VirtualBox در تصویر زیر نشان داده شده است.
یک کلاینت SSH (به عنوان مثال، PuTTY اگر از ویندوز استفاده می کنید) را در هاست VirtualBox خود باز کنید و به 127.0.0.1 در پورت 8022 متصل شوید.
در صورتی که یک قانون انتقال پورت مشابه ایجاد کنید که در آن آدرس IP واقعی آداپتور شبکه فیزیکی میزبان VirtualBox شما در آن ایجاد کنید، سایر میزبان ها در شبکه فیزیکی شما می توانند از طریق SSH با اتصال به ماشین میزبان VirtualBox در پورت 8022 به VM VM دسترسی پیدا کنند. به جای آدرس IP لوکال هاست (127.0.0.1) تعریف شده است. در این مثال، آدرس IP کارت کارت فیزیکی موجود در هاست VirtualBox 10.10.10.72 است.
Name
Protocol
Host IP
Host Port
Guest IP
Guest Port
Ubuntu-SSH
TCP
10.10.10.72
8022
10.0.2.15
22
یک کلاینت SSH را در هاست VirtualBox یا میزبان دیگری متصل به LAN خود باز کنید و به IP میزبان VirtualBox خود در پورت 8022 متصل شوید.
مثال 2 – دسترسی HTTP
اگر میخواهید یک وب سرور بر روی ماشین مجازی خود مستقر کنید و از خارج به وبسایتهای خود دسترسی داشته باشید، میتوانید قانون دیگری برای ارسال پورت اضافه کنید. بیایید نحوه پیکربندی این قانون حمل و نقل پورت را برای دسترسی به یک وب سایت مستقر در یک ماشین مجازی اوبونتو از یک ماشین میزبان VirtualBox و سایر ماشین های متصل به شبکه فیزیکی محلی (LAN) در نظر بگیریم. در این مثال از آپاچی به عنوان وب سرور استفاده شده است.
ابتدا، آپاچی را روی ماشین مجازی اوبونتو که روی VirtualBox اجرا می شود، نصب کنید.
apt-get نصب apache2
فایروال ufw به طور پیش فرض در اوبونتو غیرفعال است. اگر فایروال در VM اوبونتو شما فعال است، مطمئن شوید که دسترسی به پورت TCP 80 فعال است.
پس از نصب Apache، یک مرورگر وب را در VM Ubuntu خود باز کنید و با وارد کردن http://127.0.0.1 در نوار آدرس، به صفحه پیش فرض آپاچی دسترسی پیدا کنید. اگر همه چیز درست باشد، صفحه پیش فرض Apache2 Ubuntu را در مرورگر وب خود خواهید دید.
این به این معنی است که اکنون می توانید یک قانون حمل و نقل پورت را در تنظیمات شبکه VirtualBox برای دسترسی به وب سایت خود که در VM اوبونتو میزبانی شده است پیکربندی کنید. پنجره تنظیمات Port Forwarding را با رفتن به تنظیمات VM > Network > [انتخاب آداپتور خود] > Port Forwarding (به طور مشابه همانطور که در بالا توضیح داده شد) باز کنید. با انجام موارد زیر می توانید یک قانون جدید اضافه کنید:
Name
Protocol
Host IP
Host Port
Guest IP
Guest Port
Ubuntu-HTTP80
TCP
10.10.10.72
8080
10.0.2.15
80
یک مرورگر وب را در دستگاه میزبان خود یا هر دستگاه دیگری که به شبکه فیزیکی شما متصل است باز کنید و آدرس IP دستگاه میزبان VirtualBox و پورت خود را که در قانون ارسال پورت ایجاد شده در بالا تعریف شده است وارد کنید:
http://10.10.10.72:8080
در مثال فعلی، 10.10.10.72 آدرس IP دستگاه میزبان VirtualBox و 8080 یک پورت TCP است که در دستگاه میزبان VirtualBox گوش داده می شود. نتیجه مثبت پیکربندی ارسال پورت در تصویر زیر نشان داده شده است.
همچنین می توانید قوانین مشابهی را برای دسترسی به VM از طریق RDP، FTP و پروتکل های دیگر ایجاد کنید.
پیکربندی انتقال پورت برای ماشینهای مجازی که آداپتورهای شبکه مجازی آنها در حالت شبکه NAT کار میکنند به طور مشابه عمل میکند (به بخش بالا که در آن حالت شبکه NAT برای تعیین مکان تنظیمات ارسال پورت برای حالت شبکه NAT توضیح داده شده است، مراجعه کنید).
نتیجه
VirtualBox یک راه حل مجازی سازی قدرتمند است که انعطاف پذیر است و طیف وسیعی از تنظیمات شبکه را ارائه می دهد. هر VM می تواند از هشت آداپتور شبکه مجازی استفاده کند و هر آداپتور شبکه را می توان به عنوان مدل مناسب کنترلرهای رابط شبکه واقعی اینتل و AMD (NIC) تقلید کرد. تنظیمات آداپتور شبکه VirtualBox به شما این امکان را می دهد که آدرس MAC هر NIC مجازی را تغییر دهید، کابل شبکه مجازی را وصل یا جدا کنید و حالت شبکه را انتخاب کنید. تنظیم حالت شبکه برای آداپتور شبکه مجازی یکی از جالب ترین و مهم ترین قسمت های تنظیمات شبکه VirtualBox است. شش حالت شبکه وجود دارد که از هر کدام می توان برای موارد مختلف استفاده کرد. ارسال پورت را می توان برای دسترسی خارجی به ماشین های مجازی پیکربندی کرد که آداپتورهای شبکه آنها در حالت های NAT یا NAT Network کار می کنند.