Netplan یک ابزار command line جدید به منظور کانفیگ شبکه میباشد که در اوبونتو 17.10 به منظور مدیریت و پیکر بندی آسان تنظیمات شبکه در سیستم های اوبونتو معرفی شد. این ابزار به شما امکان تنظیم یک اینترفیس شبکه با استفاده از مفهوم YAML میسر میسازد. Netplan در ترکیب با سرویس های NetworkManager و systemd-networkd (به عنوان renderers استفاده میشوند، شما میتوانید هر کدام از آنها را برای استفاده انتخاب کنید) به عنوان اینترفیس های Kernel کار میکند.
ابزار Netplan تنظیمات شبکه توصیف شده در مسیر /etc/netplan/*.yaml را میخواند و شما میتوانید تنظیمات برای همه اینترفیس های شبکه خود را در این فایل های ذخیره کنید.
در این مقاله، ما نحوه کانفیگ Ip آدرس Dynamic یا Static برای اینترفیس شبکه در Ubuntu 18.04 و با استفاده از ابزار Netplan شرح خواهیم داد.
لیست کردن همه اینترفیس های فعال شبکه روی Ubuntu
ابتدا شما نیاز دارید که اینترفیس های شبکه ای که میخواهید کانفیگ کنید را مشخص کنید. شما میتوانید همه اینترفیس های شبکه روی سیستم تان را با استفاده از دستور ifconfig یا ip addr show همانند زیر لیست کنید.
از خروجی دستور بالا مشخص است که ما سه اینترفیس متصل به سیستم اوبونتو داریم. دو اینترفیس ethernet و یک اینترفیس loopback، که اینترفیس enp0s8 کانفیگ نشده و ip آدرس static ندارد.
تعریف ip آدرس static در Ubuntu 18.04
در این مثال ما برای اینترفیس enp0s8 آدرس ip static تعریف خواهیم کرد. فایل کانفیگ netplan را با استفاده از ادیتور متنی خود باز کنید.
نکته : در شرایطی که فایل YAML هنگام نصب linux ایجاد نشده باشد، شما میتوانید با استفاده از دستور زیر تنظیمات مورد نیاز برای renderer را ایجاد کنید.
ممکن است فایلی که به صورت اتوماتیک ایجاد شده نام آن روی نسخه Desktop, Server یا Cloud و غیره متفاوت باشد (برای مثال 01-network-manager-all.yaml یا 01-netcfg.yaml) اما همه فایل های تحت دایرکتوری /etc/netplan/*.yuml قابل خواندن توسط netplan خواهند بود.
سپس تنظیمات زیر را در قسمت ethernet اضافه کنید.
در اینجا :
enp0s8 – نام اینترفیس شبکه
dhcp4 و dhcp6 – وضعیت dhcp از یک اینترفیس برای IPV4 یا IPV6 به ترتیب
addresses – آدرس ip static مربوط به این اینترفیس
gateway4 – آدرس IPV4 برای Default Gateway
nameservers – آدرس های IP مربوط به nameserver
به محض اضافه کردن تنظیمات بالا فایل کانفیگی شما اکنون باید محتوای زیر را داشته باشد. ابتدا اینترفیس enp0s3 به نحوی کانفیگ شده که از dhcp استفاده کند و اینترفیس enp0s8 از یک IP آدرس static استفاده خواهد کرد.
ساختار کانفیگ به زبان برنامه نویسی پایتون (فرمت .yaml) میباشد، در نتیجه ساختار خطوط حائز اهمیت است. آدرس های ip یک اینترفیس باید به طور مثال یکی از ورودی های زیر باشد. [192.168.14.2/24, “2001:1::1/64”] یا [172.16.16.100/24, ] (برای اطلاعات بیشتر صفحه man دستور netplan را مطالعه کنید.)
فایل را ذخیره و از آن خارج شوید. سپس با استفاده از دستور netplan زیر تغییرات اخیر را اعمال کنید.
اکنون همه اینترفیس های شبکه موجود را یکبار دیگر بررسی کنید اینترفیس enp0s8 حالا باید به شبکه local متصل باشد و ip آدرس آن شبیه به تصویر زیر باشد.
برای مشاهده اینکه چه DNS هایی روی اینترفیس ها ست شده هم میتونید از دستور زیر استفاده کنید :
تعریف IP آدرس Dynamic DHCP در Ubuntu
برای تنظیم اینترفیس enp0s8 به منظور دریافت ip آدرس Dynamic از طریق DHCP به راحتی از کانفیگ زیر استفاده میکنیم.
فایل را ذخیره و از آن خارج شوید. سپس با استفاده از دستورات زیر تغییرات اخیر شبکه را اعمال و ip آدرس را مشاهده و بررسی کنید.
از این به بعد سیستم شما ip آدرس داینامیک را از router دریافت خواهد کرد.
شما میتوانید اطلاعات و گزینه های کانفیگی بیشتر به واسطه مطالعه و بررسی صفحه man دستور netplan پیدا کنید.
اکنون شما با موفقیت یک ip آدرس static برای اینترفیس شبکه روی سرورهای ubuntu خود تعریف کردید. در صورتی که هرگونه سوالی در باره این تاپیک داشتید آنرا با ما درمیان بگذارید.
ابزار Netplan تنظیمات شبکه توصیف شده در مسیر /etc/netplan/*.yaml را میخواند و شما میتوانید تنظیمات برای همه اینترفیس های شبکه خود را در این فایل های ذخیره کنید.
در این مقاله، ما نحوه کانفیگ Ip آدرس Dynamic یا Static برای اینترفیس شبکه در Ubuntu 18.04 و با استفاده از ابزار Netplan شرح خواهیم داد.
لیست کردن همه اینترفیس های فعال شبکه روی Ubuntu
ابتدا شما نیاز دارید که اینترفیس های شبکه ای که میخواهید کانفیگ کنید را مشخص کنید. شما میتوانید همه اینترفیس های شبکه روی سیستم تان را با استفاده از دستور ifconfig یا ip addr show همانند زیر لیست کنید.
کد PHP:
$ ifconfig -a
OR
$ ip addr show
از خروجی دستور بالا مشخص است که ما سه اینترفیس متصل به سیستم اوبونتو داریم. دو اینترفیس ethernet و یک اینترفیس loopback، که اینترفیس enp0s8 کانفیگ نشده و ip آدرس static ندارد.
تعریف ip آدرس static در Ubuntu 18.04
در این مثال ما برای اینترفیس enp0s8 آدرس ip static تعریف خواهیم کرد. فایل کانفیگ netplan را با استفاده از ادیتور متنی خود باز کنید.
نکته : در شرایطی که فایل YAML هنگام نصب linux ایجاد نشده باشد، شما میتوانید با استفاده از دستور زیر تنظیمات مورد نیاز برای renderer را ایجاد کنید.
کد PHP:
$ sudo netplan generate
کد PHP:
$ sudo vim /etc/netplan/01-network-manager-all.yaml
کد PHP:
ethernets:
enp0s8:
dhcp4: no
dhcp6: no
addresses: [192.168.10.200/24]
gateway4: 192.168.10.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
در اینجا :
enp0s8 – نام اینترفیس شبکه
dhcp4 و dhcp6 – وضعیت dhcp از یک اینترفیس برای IPV4 یا IPV6 به ترتیب
addresses – آدرس ip static مربوط به این اینترفیس
gateway4 – آدرس IPV4 برای Default Gateway
nameservers – آدرس های IP مربوط به nameserver
به محض اضافه کردن تنظیمات بالا فایل کانفیگی شما اکنون باید محتوای زیر را داشته باشد. ابتدا اینترفیس enp0s3 به نحوی کانفیگ شده که از dhcp استفاده کند و اینترفیس enp0s8 از یک IP آدرس static استفاده خواهد کرد.
ساختار کانفیگ به زبان برنامه نویسی پایتون (فرمت .yaml) میباشد، در نتیجه ساختار خطوط حائز اهمیت است. آدرس های ip یک اینترفیس باید به طور مثال یکی از ورودی های زیر باشد. [192.168.14.2/24, “2001:1::1/64”] یا [172.16.16.100/24, ] (برای اطلاعات بیشتر صفحه man دستور netplan را مطالعه کنید.)
کد PHP:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: yes
enp0s8:
dhcp4: no
dhcp6: no
addresses: [192.168.10.200/24]
gateway4: 192.168.10.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
فایل را ذخیره و از آن خارج شوید. سپس با استفاده از دستور netplan زیر تغییرات اخیر را اعمال کنید.
کد PHP:
$ sudo netplan apply
کد PHP:
$ ifconfig -a
برای مشاهده اینکه چه DNS هایی روی اینترفیس ها ست شده هم میتونید از دستور زیر استفاده کنید :
کد PHP:
# systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (ens160)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 8.8.8.8
4.2.2.4
تعریف IP آدرس Dynamic DHCP در Ubuntu
برای تنظیم اینترفیس enp0s8 به منظور دریافت ip آدرس Dynamic از طریق DHCP به راحتی از کانفیگ زیر استفاده میکنیم.
کد PHP:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s8:
dhcp4: yes
dhcp6: yes
کد PHP:
$ sudo netplan apply
$ ifconfig -a
شما میتوانید اطلاعات و گزینه های کانفیگی بیشتر به واسطه مطالعه و بررسی صفحه man دستور netplan پیدا کنید.
کد PHP:
$ man netplan