Ubuntu سیستم عامل فوقالعادهای است، مدت زیادی است که با آن کار نکردهام Ubuntu سرور، و بهروزرسانی دسکتاپ من از یک نسخه پایدار بیمعنی بود. و بنابراین، همین چند وقت پیش، مجبور شدم با یک نسخه کاملاً جدید سر و کله بزنم. Ubuntu در سرور ۱۸.۰۴، وقتی متوجه شدم که از زمانه عقب ماندهام و نمیتوانم شبکهام را پیکربندی کنم، کاملاً شگفتزده شدم، زیرا سیستم قدیمی و خوب پیکربندی رابطهای شبکه با ویرایش فایل /etc/network/interfaces از بین رفته بود. و چه چیزی جایگزین آن شد؟ چیزی وحشتناک و در نگاه اول کاملاً غیرقابل درک - با "Netplan" آشنا شوید.
راستش را بخواهید، اولش نمیفهمیدم قضیه چیست و «اصلاً چرا لازم بود، همه چیز خیلی راحت بود»، اما بعد از کمی تمرین فهمیدم که جذابیت خودش را دارد. خب، دیگر بس است از این حرفهای کلیشهای، بیایید به سراغ Netplan برویم. این یک ابزار جدید برای پیکربندی شبکه در ... است. Ubuntu، حداقل "من در توزیعهای دیگر با چنین چیزی مواجه نشدهام." تفاوت قابل توجه با Netplan این است که پیکربندی به زبان ... نوشته شده است. ، بله، درست شنیدید YAML، توسعه دهندگان تصمیم گرفتند با زمان همگام شوند (و مهم نیست که چقدر آن را تحسین می کنند، من هنوز فکر می کنم این زبان وحشتناکی است). عیب اصلی این زبان این است که به فضاها بسیار حساس است، بیایید با استفاده از یک مثال به پیکربندی نگاه کنیم.
فایل های پیکربندی در امتداد مسیر /etc/netplan/filename.yaml قرار دارند، بین هر بلوک باید + 2 فاصله وجود داشته باشد.
1) هدر استاندارد به شکل زیر است:
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
dhcp4:noبیایید به آنچه که اکنون انجام داده ایم نگاه کنیم:
- شبکه: - این شروع بلوک پیکربندی است.
- renderer: networkd - در اینجا مدیر شبکه ای را که از آن استفاده خواهیم کرد نشان می دهیم، این شبکه یا NetworkManager است
- نسخه: 2 - در اینجا، همانطور که من متوجه شدم، نسخه YAML است.
- اترنت: - این بلوک نشان می دهد که ما پروتکل اترنت را پیکربندی خواهیم کرد.
- enps0f0: - مشخص کنید که کدام آداپتور شبکه را پیکربندی خواهیم کرد.
- dhcp4:no - DHCP v4 را به ترتیب برای 6 v6 dhcp6 غیرفعال کنید
2) بیایید سعی کنیم آدرس های IP را اختصاص دهیم:
enp3s0f0:
dhcp4:no
macaddress: bb:11:13:ab:ff:32
addresses: [10.10.10.2/24, 10.10.10.3/24]
gateway4: 10.10.10.1
nameservers:
addresses: 8.8.8.8در اینجا سرور poppy، ipv4، gateway و dns را تنظیم می کنیم. توجه داشته باشید که اگر به بیش از یک آدرس IP نیاز داریم، آنها را با کاما با فاصله اجباری بعد از آن جدا مینویسیم.
3) در صورت نیاز چه کنیم ?
bonds:
bond0:
dhcp4: no
interfaces: [enp3s0f0, enp3s0f1]
parameters:
mode: 802.3ad
mii-monitor-interval: 1- bonds: - بلوکی که توضیح می دهد که پیوند را پیکربندی خواهیم کرد.
- bond0: - نام رابط دلخواه.
- رابطها: - مجموعهای از واسطها که در یک پیوند جمعآوری شدهاند، "همانطور که قبلاً گفته شد، اگر چندین پارامتر وجود داشته باشد، آنها را در براکت توصیف میکنیم."
- پارامترها: - بلوک تنظیمات پارامتر را توصیف کنید
- حالت: - حالتی را که باندینگ کار می کند را مشخص کنید.
- mii-monitor-interval: — فاصله مانیتورینگ را روی ۱ ثانیه تنظیم کنید.
در داخل بلوک با نام bond، می توانید پارامترهایی مانند آدرس ها، gateway4، مسیرها و غیره را نیز پیکربندی کنید.
ما افزونگی را برای شبکه خود اضافه کرده ایم، اکنون تنها چیزی که باقی مانده است نصب است و راه اندازی را می توان کامل در نظر گرفت.
vlans:
vlan10:
id: 10
link: bond0
dhcp4: no
addresses: [10.10.10.2/24]
gateway: 10.10.10.1
routes:
- to: 10.10.10.2/24
via: 10.10.10.1
on-link: true
- vlans: - بلوک پیکربندی vlan را اعلام کنید.
- vlan10: - نام دلخواه رابط vlan.
- شناسه: - برچسب vlan ما.
- پیوند: - رابطی که از طریق آن vlan قابل دسترسی خواهد بود.
- مسیرها: - یک بلوک توصیف مسیر را اعلام کنید.
- — به: — آدرس/زیر شبکه ای که مسیر به آن نیاز است را تنظیم کنید.
- via: - دروازه ای را که زیرشبکه ما از طریق آن قابل دسترسی خواهد بود را مشخص کنید.
- on-link: - نشان میدهیم که مسیرها باید همیشه هنگام بالا آمدن پیوند ثبت شوند.
به نحوه قرار دادن فضاها توجه کنید؛ این در YAML بسیار مهم است.
بنابراین ما رابط های شبکه را توضیح دادیم، پیوند ایجاد کردیم و حتی vlan ها را اضافه کردیم. بیایید پیکربندی خود را اعمال کنیم، دستور netplan application پیکربندی ما را از نظر خطا بررسی می کند و در صورت موفقیت آمیز بودن آن را اعمال می کند.بعد، پیکربندی به خودی خود با راه اندازی مجدد سیستم افزایش می یابد.
با جمع آوری تمام بلوک های کد قبلی، این چیزی است که به دست آوردیم:
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
dhcp4: no
ensp3s0f1:
dhcp4: no
bonds:
bond0:
dhcp4: no
interfaces: [enp3s0f0, enp3s0f1]
parameters:
mode: 802.3ad
mii-monitor-interval: 1
vlan10:
id: 10
link: bond0
dhcp4: no
addresses: [10.10.10.2/24]
routes:
- to: 10.10.10.2/24
via: 10.10.10.1
on-link: true
vlan20:
id: 20
link: bond0
dhcp4: no
addresses: [10.10.11.2/24]
gateway: 10.10.11.1
nameserver:
addresses: [8.8.8.8]
اکنون شبکه ما آماده بهره برداری است، همه چیز آنطور که در ابتدا به نظر می رسید ترسناک نبود و کد بسیار زیبا و خواندنی بود. PC از شما برای netplan متشکرم یک کتابچه راهنمای عالی در لینک وجود دارد .
منبع: www.habr.com
