اوبونتو (Ubuntu) یکی از محبوبترین توزیعهای لینوکس است. گاهی ممکن است هنگام کار با اوبونتو با خطای “network unreachable” مواجه شوید که اتصال اینترنت را کاملاً قطع میکند، در حالی که تمام نشانگرهای فیزیکی شبکه طبیعی به نظر میرسند.
این مشکل معمولاً ناشی از پیکربندی نادرست شبکه در نسخههای مدرن اوبونتو (۱۸.۰۴ به بعد) است که از Netplan برای مدیریت شبکه استفاده میکنند.
مدت زمان تخمینی مطالعه: 3 دقیقه
فهرست مطالب
ردیابی مشکل network unreachable
این مشکل معمولاً با اجرای دستور ping google.com
در ترمینال و مشاهده خطای “network unreachable” شناسایی میشود. در اوبونتو ۱۸.۰۴ به بعد، فایلهای پیکربندی Netplan (با پسوند .yaml) در مسیر /etc/netplan/
جایگزین فایل قدیمی /etc/network/interfaces
شدهاند.
حل مشکل network unreachable
برای رفع این مشکل مراحل زیر را دنبال کنید:
شناسایی نام اینترفیس شبکه
ابتدا نام کارت شبکه خود را با این دستور پیدا کنید:
ip -brief link show
خروجی معمولاً شبیه این خواهد بود:
enp3s0 UP aa:bb:cc:dd:ee:ff <BROADCAST,MULTICAST,UP,LOWER_UP>
(نام اینترفیس معمولاً با en
(اترنت) یا wl
(وایرلس) شروع میشود)
پیکربندی Netplan
فایل پیکربندی Netplan را با یک ویرایشگر متن ایمن مانند nano باز کنید:
sudo nano /etc/netplan/*.yaml
سپس یکی از پیکربندیهای زیر را متناسب با نیاز خود اعمال کنید:
گزینه ۱: استفاده از DHCP (پیشنهادی)
network: version: 2 renderer: NetworkManager ethernets: enp3s0: # نام اینترفیس خود را جایگزین کنید dhcp4: true nameservers: addresses: [8.8.8.8, 8.8.4.4, 1.1.1.1]
گزینه ۲: پیکربندی ایستا (Static)
network: version: 2 renderer: NetworkManager ethernets: enp3s0: # نام اینترفیس خود را جایگزین کنید addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 # آدرس روتر/گیت وی nameservers: addresses: [8.8.8.8, 8.8.4.4, 1.1.1.1]
توجه مهم:
1. فاصلهگذاری (indentation) در YAML حیاتی است – فقط از فاصله (space) استفاده کنید (tab مجاز نیست)
2. آدرسهای IP، subnet mask و gateway باید با تنظیمات شبکه محلی شما تطابق داشته باشند
3. خط renderer: NetworkManager
برای نسخههای دسکتاپ ضروری است
اعمال تغییرات
پس از ذخیره فایل، تغییرات را اعمال کنید:
sudo netplan apply
در صورت بروز خطا، از دستور زیر برای دیباگ استفاده کنید:
sudo netplan --debug apply
اتصال خود را با دستور ping تست کنید:
ping 8.8.8.8