در Proxmox VE، شبکهی مجازیسازی بهصورت پیشفرض از bridge (پل شبکهای) استفاده میکند. Bridge به این معناست که ماشینهای مجازی (VMها) یا کانتینرها میتوانند مستقیماً به شبکهی فیزیکی وصل شوند، انگار که یک دستگاه واقعی روی آن شبکه هستند.
این کار باعث میشود که هر VM بتواند:
-
یک IP معتبر (public یا private) دریافت کند.
-
مستقیماً با شبکه LAN یا اینترنت ارتباط داشته باشد.
-
توسط روتر یا سوئیچ به عنوان یک کلاینت مستقل شناسایی شود.
مزایای استفاده از Bridge در Proxmox
-
VMها میتوانند مستقیم با شبکه ارتباط داشته باشند.
-
ماشینها میتوانند از DHCP سرور شبکه IP بگیرند.
-
از نظر عملکرد شبکه، مثل یک سیستم فیزیکی مستقل عمل میکنند.
-
نیازی به NAT نیست (برخلاف حالت routed یا isolated).
ساختار پیشفرض شبکه در Proxmox
وقتی Proxmox را نصب میکنید، بهصورت پیشفرض یک bridge به نام vmbr0
ساخته میشود که به کارت شبکه فیزیکی مثل enp0s31f6
متصل است.
مثال از /etc/network/interfaces
توضیح خطوط مهم:
-
bridge_ports enp0s31f6
: مشخص میکند که این Bridge به کدام کارت شبکه فیزیکی متصل است. -
address
: IP سرور Proxmox روی این bridge تنظیم شده. -
bridge_stp off
: STP غیرفعال است (پروتکل جلوگیری از Loop). -
bridge_fd 0
: زمان delay فورواردینگ صفر است.
چگونه یک VM را به Bridge وصل کنیم؟
-
وارد پنل Proxmox شوید.
-
VM مورد نظر را انتخاب کنید.
-
به تب Hardware بروید.
-
روی Add → Network Device کلیک کنید.
-
Bridge را روی
vmbr0
قرار دهید. -
Type را روی virtio (سریعتر) بگذارید.
-
تنظیمات را ذخیره و VM را روشن کنید.
تنظیم شبکه داخل VM
برای لینوکس:
auto eth0
iface eth0 inet dhcp
یا برای IP استاتیک:
auto eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
برای ویندوز:
-
از کنترل پنل → Network → تنظیمات کارت شبکه → DHCP یا Static IP بدهید.
نکات مهم:
-
اگر از سرور در دیتاسنتر استفاده میکنید، حتماً بررسی کنید که Bridge Mode روی شبکه یا سوییچ مجاز باشد.
-
اگر از کارت شبکه با نام مثل eno1 یا enpXsY استفاده میکنید، در bridge_ports باید دقیقاً همان نام ذکر شود.
-
اگر سرور شما چند IP دارد (مثلاً برای VMهای public)، برای هر VM میتوانید یک IP مجزا بدهید.
-
برای چند کارت شبکه، میتوانید چند Bridge مختلف ایجاد کنید: مثلا
vmbr1
,vmbr2
, و هرکدام را به یک NIC مختلف وصل کنید.
مثال کاربردی: ساخت Bridge دوم برای شبکه خصوصی
فرض کنید میخواهید یک شبکه خصوصی بین VMها بسازید:
auto vmbr1
iface vmbr1 inet static
address 10.10.10.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
در این حالت، VMهایی که به vmbr1
وصل شوند، به یکدیگر دسترسی دارند ولی به شبکه خارجی متصل نیستند. ایدهآل برای شبکه داخلی (private LAN).