شبکه سیستمعامل
در بیشتر موارد برای اینکه ابرکتان به اینترنت یا شبکهای متصل باشد، نیازی به تنظیمات خاصی بعد از ساخت ابرک نیست، چون پس از ساخت و بوت شدن ابرک، سیستم عامل با استفاده از DHCP و تنظیماتی که با Cloud-init انجام شده، اطلاعات درست و لازم را دارد. اما گاهی پیش میآید که میخواهیم چند اینترفیس داشته باشیم و یا IP را بهشکل دستی روی اینترفیسها قرار دهیم، یا تغییراتی را بسته به محیطی که میخواهیم، داشته باشیم. در این راهنما تنظیمات شبکهی سیستمعامل را بررسی خواهیم کرد.
تنظیم Interface و شبکه توزیعهای لینوکس
روش تنظیم اینترفیس و تنظیمات شبکه در توزیعهای مختلف لینوکس میتواند کمی متفاوت باشد. در این مقاله سعی میکنیم تنظیمات اولیهی شبکه را در اکثر توزیعهای لینوکس توضیح دهیم.
در فرآیند آمادهشدن ایمیجها در آروان یا Cloud Ready کردن سیستم عاملها، بستهای (package) به اسم cloud-init روی سیستم عامل نصب شده که بهطورکلی وظیفهی فراهمکردن مجموعهای از متادیتا برای ابرک را دارد. این بسته میتواند ssh key شما، اسم ابرک و بسیاری دادهی دیگر را هنگام بوت به ابرک تزریق کند. نکتهای که باید به آن توجه کنید، هنگام پیکربندی دستی برخی کامپوننتهای سیستم عاملتان است، که این بسته میتواند کانفیگهای استاندارد شبکه را هم علاوه بر بسیاری موارد دیگر، تنظیم کند. اگر قرار است اینترفیس ابرک یا تنظیمات شبکهی ابرک را دستی تنظیم کنید و بعد از ریبوت، این تنظیمات دایمی باشند، حتمن با دستورهای زیر فایل 99-custom-networking.cfg را ایجاد و آن را با cloud-init کانفیگ کنید:
sudo nano /etc/cloud/cloud.cfg.d/99-custom-networking.cfg
و محتوای فایل را برابر فرمان زیر قرار دهید:
network: {config: disabled}
تنظیم DNS
اگر قرار است ابرکتان بهعنوان یک کلاینت DNS باشد، لازم است سوالهای DNS از یک سرور پرسیده شود. برای تنظیم اینکه از چه سروری سوال شود، در همهی توزیعها به فایل etc/resolv.conf/ مراجعه میشود. در برخی توزیعهای جدیدتر ممکن است این فایل خود یک لینک به فایلی دیگر باشد و محتوای این فایل از ابزارهای جانبی مدیریت شبکه کم یا زیاد شود. برای مثال ممکن است در نسخههای جدید Debian و Ubuntu این فایل بهطور غیرمستقیم با system-resolved مدیریت شود، یا گاه با initscripts، یا NetworkManager. در چنین حالتی تغییر دستی فایل بعد از ریبوت ماندگار نیست.
نکته: دقت کنید حتا اگر موارد بالا در توزیعی وجود نداشته باشد، ممکن است سیستم عاملتان اطلاعات DNS را از DHCP دریافت کند و باعث overwrite شدن تنظیم قبلی شود. یک راه حل ساده برای اکثر توزیعها میتواند جایگزینکردن symbolic link با یک فایل جدید باشد؛ با محتوای مورد نظرمان و در آخر read-only کردن آن فایل. برای این کار میتوانید از دستور زیر استفاده کنید:
sudo rm -f /etc/resolv.conf
sudo nano /etc/resolv.conf
در این مرحله باید محتوای فایل را با nameserver های موردنظر پر کنید، مثلن:
nameserver 8.8.8.8
nameserver 8.8.4.4