روترها کارهای بسیار بیشتری از صرفاً مسیریابی انجام میدهند. وقتی این را دریابید، هر روز کار تازهای برای سپردن به این دستگاه پیدا میکنید. در واقع، وقتی سیستمعامل پیشفرض سازنده را کنار میگذارید و OpenWrt را نصب میکنید، کمکم به دنبال وظایفی غیر از مسیریابی میگردید تا به روترتان بسپارید.
دستکم داستان من همین بود. اول VPNهایم را به روتر منتقل کردم. به این ترتیب، بهجای اجرای جداگانهٔ آنها روی تکتک دستگاهها ــ و مصرف باتری و منابع دیگر هر دستگاه ــ فقط روی روتر اجرا میشدند. بعد OpenWrt رؤیای راهاندازی چند WAN را ممکن کرد. سپس مسیریابی مبتنی بر سیاست را میخواستم. قابلیت PBR در OpenWrt این کار را عالی انجام میدهد، هرچند با MWAN3 چندان سازگار نیست.
با خودم گفتم: اگر Tailscale را هم روی روتر نصب کنم چه؟ همانجا بود که باید دست نگه میداشتم. از یک روتر مصرفی کوچک، بسیار بیشتر از چیزی که برایش ساخته شده بود انتظار داشتم. رم هم داشت خیلی زود تمام میشد.
هرقدر هم OpenWrt خوب باشد، قرار نیست به روتر من رم اضافه کند. بههرحال، این روتر برای کار با نرمافزار سادهٔ سازنده و کاربرد ابتدایی «مسیریابی» ساخته شده بود.
Linksys EA8300 من فقط ۲۵۶ مگابایت رم دارد. مدل بزرگتر Linksys WRT1900 توانمندتر است، اما آن هم فقط ۵۱۲ مگابایت رم دارد. به هر دو فلش USB وصل کردم و دیسک swap ساختم ــ راستی، با میانافزار پیشفرضتان میتوانید چنین کاری بکنید؟ بعید میدانم ــ اما این رم کند است. تازه، حتی اگر مشکل رم حل شود، تکلیف پردازنده چه میشود؟
به روتری بزرگ و قدرتمند نیاز داشتم که کلی ظرفیت خالی داشته باشد. آیا قرار بود بیش از هزار دلار برای یک روتر «گیمینگ» خرج کنم؟ نه، بیخیال. معلوم است که نه. در عوض، با پیشنهاد یکی از دوستانم، کاری حتی جذابتر انجام دادم.
حالا یک روتر سفارشی دارم.

OpenWrt را روی یک ماشین مجازی پرُکسماکس نصب کردم
چقدر رم میخواهید؟

این پیشنهاد را از دوستم گرفتم. نقطهٔ شکست برای من مسیریابی مبتنی بر سیاست بود. فهرست عظیمی از بازههای IP داشتم که برایشان مسیریابی سفارشی میخواستم و روتر قدیمی بدون رسیدن به سقف توانش از پس آن برنمیآمد.
تقریباً همزمان، تازه پیکربندی ایستگاه کاری جدید HP خودم را برای هوملب تمام کرده بودم. با خودم گفتم چرا OpenWrt را روی یک ماشین مجازی نصب نکنم؟
راهاندازیاش سرراست است. OpenWrt لینوکس است و وقتی ماشین مجازی بالا بیاید، با یک پنل روتر دیگر طرف هستید. به نشانی ۱۹۲.۱۶۸.۱.۱ میروید ــ مطمئن شوید IP ثابت متداخلی تنظیم نکردهاید و روتر دیگری هم روی این نشانی ندارید ــ گذرواژه را عوض میکنید، از فعال بودن SSH مطمئن میشوید و کار تمام است.
میتوانم دربارهٔ همهٔ کارهایی که با OpenWrt میشود انجام داد صحبت کنم، اما این بحث بیرون از موضوع ماست.

پشتهٔ شبکهٔ من هم احتمالاً برای همه آشنا نیست، اما اگر بخواهم خلاصه بگویم، اینگونه است: مودم DSL شمارهٔ ۱، مودم DSL شمارهٔ ۲، روتر LTE و اینترنت ماهوارهای همگی به یک سوئیچ مدیریتی وصل میشوند. سوئیچ مدیریتی آنها را در VLANهای برچسبدار قرار میدهد و سپس از راه یک trunk به پورتی متصل به دستگاه Proxmox میفرستد. خوشبختانه HP Z6 G4 من دو پورت GbE دارد، اما به کمک سوئیچ مدیریتی برای همهٔ این اتصالهای WAN فقط به یکی از آنها نیاز دارم.
بااینحال، پورت دوم بهعنوان درگاه دسترسی مستقیم اضطراری برای خود Proxmox بسیار به کار میآید. در آن احتمال بعید که OpenWrt از کار بیفتد، این پورت راه نجات من است.
راهاندازی آن در پرُکسماکس به چند کلیک نیاز دارد
اتصال و اجرا نیست، اما واقعاً ساده است





از آنجا که OpenWrt درون یک ماشین مجازی اجرا میشود، نمیتواند خودسرانه پورتهای اترنت سرور را در اختیار بگیرد. Proxmox باید ابتدا این اتصالهای فیزیکی را در دسترس ماشین مجازی بگذارد؛ دقیقاً همان کاری که Linux bridgeهای آن برایش ساخته شدهاند.
شبکهٔ محلی اصلی من از vmbr0 استفاده میکند. این رابط به یکی از پورتهای فیزیکی اترنت سرور وصل است، شبکهٔ معمول ۱۹۲.۱۶۸.۱.۰/۲۴ را حمل میکند و خود Proxmox نیز نشانی مدیریتیاش را از همینجا میگیرد.
رابط دیگر vmbr2 است. این یکی به دومین پورت فیزیکی اترنت وصل است که بهشکل trunk VLAN از نوع ۸۰۲.1Q به سوئیچ مدیریتی میرود. بهجای اختصاص دادن یک کابل و آداپتور شبکهٔ جداگانه به هر اتصال اینترنت، همین پیوند واحد شبکههای Starlink، LTE و DSL را همزمان حمل میکند و برچسبهای VLAN آنها را از هم جدا نگه میدارند. OpenWrt یک کارت شبکهٔ مجازی متصل به vmbr2 دریافت میکند و با این VLANها درست مانند رابطهای فیزیکی جداگانه کار میکند.
در تصویر من چند بریج اضافه هم دیده میشود، اما برای خود روتر ضروری نیستند. vmbr1 یادگار پیکربندی قدیمیتری است که در آن یکی از اتصالهای WAN آداپتور اختصاصی USB Ethernet خودش را داشت. آن اتصال از آن زمان به ترانک VLAN منتقل شده است؛ بنابراین این بریج اکنون عملاً یک گزینهٔ ذخیره به شمار میآید. vmbr10، vmbr11 و vmbr12 نیز اصلاً به درگاههای فیزیکی وصل نیستند. آنها را بهعنوان پیوندهای مجازیِ جداافتاده برای ماشین مجازیِ پایش شبکهام ساختهام تا بتوانم ترافیک آینهشدهٔ LAN و WAN را بدون قرار دادن مستقیم سامانهٔ پایش در مسیر شبکه، به Arkime بفرستم.
پس در پیکربندی واقعی روتر OpenWrt، بخش مهم بهطرز دلپذیری کوچک است: یک بریج Proxmox برای LAN معمولی و یک بریج برای ترانک VLAN که همهٔ اتصالهای WAN را حمل میکند. بقیه، یا یادگار پیکربندیهای پیشیناند یا زیرساخت پایشیِ ویژهٔ راهاندازی من.
حالا میتوانم کارهای بسیار بیشتری انجام دهم
سختافزار روتر دیگر محدودیت نیست

اگر تاکنون خودتان را از روترتان بیرون انداخته باشید، ماجرا را میدانید: در نوشتن یک قانون دیوار آتش یا برچسب VLAN اشتباه میکنید، رابط وب دیگر پاسخ نمیدهد و ناچار میشوید دنبال گیرهٔ کاغذ و سوراخ بازنشانی بگردید. و تنظیماتتان هم بر باد میرود. هرکسی که OpenWrt راهاندازی کرده، این تجربه را داشته است. برای همین بسیاری از افراد روترشان را یکبار تنظیم میکنند و بعد دیگر حاضر نیستند سراغش بروند.
اما در ماشین مجازی، پیش از دستزدن به هر چیزی یک snapshot میگیرید. خرابش کردید؟ بازگردانی کنید؛ سی ثانیه بعد، دقیقاً همانجایی هستید که شروع کرده بودید. حالا تغییراتی میدهم که هرگز روی سختافزار واقعی انجام نمیدادم، چون هزینهٔ اشتباهکردن تقریباً به صفر رسیده است. فوقالعاده است.
علاوه بر همهٔ اینها، اگر به توان بیشتری نیاز داشته باشم ــ اگر به هر دلیلی 4GB رم برای روترم راضیکننده نباشد ــ تب سختافزار ماشین مجازی را باز میکنم و عدد بزرگتری وارد میکنم. همین. مسیر ارتقا همین است. چنین کاری را روی یک روتر مصرفی امتحان کنید!
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Amir Bohlooli است. مشاهده مقاله اصلی