آموزش تنظیمات کارت شبکه در لینوکس اوبونتو و centos
پیکربندی تنظیمات کارت شبکه در لینوکس، از ضروری ترین مواردی است که باید بلافاصله بعد از نصب و راه اندازی سیستم خود یاد بگیرید چون امروزه تقریباً هر کار ما به رابط شبکه و اینترنت وابسته است و بدون آن نمی توان کارها را آن طور که باید پیش برد.
ابزارهای زیادی در دنیای لینوکس وجود دارد که با استفاده از آنها می توانید پیکربندی رابط های شبکه را خیلی سریع تر جلو ببرید. Nmcli ،ip ،ifconfig و nmtui از مهم ترین آنها هستند. در کنار این ابزارها، می توانید کارهای مربوط به تنظیمات شبکه را با GUI هم جلو ببرید که نسبت به بقیه ابزارها واضح تر و قابل لمس تر هستند.
ابزارهای مدیریت کارت شبکه در لینوکس
ابزارهای زیادی برای شناسایی و پیکربندی رابط های شبکه وجود دارند که هر کدام ویژگی ها و کاربردهای خاص خودشان را دارند و متناسب با سینتکسی که دارند می توانید از آنها استفاده کنید.
تمام این ابزارها در توزیع اوبونتو و centos قابل استفاده هستند که اگر موقع اجرای دستورات مربوط به آنها متوجه شدید که سیستم شما مجهز به ابزار موردنظر نیست، می توانید از دستورات که در ادامه ارائه می دهیم، برای نصب آن در سیستم لینوکس خود استفاده کنید.
ابزار ip
- نمایش اطلاعات رابط شبکه
- تنظیم آدرس آی پی رابط شبکه
- ایجاد تغییر جدول مسیریابی
- پیکربندی تنظیمات رابط شبکه مثل سرعت و MTU
- نمایش آمار مربوط به فعالیت شبکه
- مسدود سازی آدرس های خاص
دستور نصب ip در اوبونتو
sudo apt install iproute2
دستور نصب ip در centos
sudo dnf install iproute2
یا
sudo yum install iproute2
ابزار ifconfig
- نمایش اطلاعات رابط شبکه
- تنظیم آدرس IP و ماسک زیرشبکه
- فعال یا غیرفعال سازی رابط شبکه
- تغییر MTU رابط شبکه
دستور نصب ifconfig در اوبونتو
sudo apt install net-tools
دستور نصب ifconfig در centos
sudo dnf install net-tools
یا
sudo yum install net-tools
ابزار nmcli
- نمایش لیست اتصالات شبکه
- نمایش اطلاعات یک اتصال خاص
- نمایش وضعیت یک رابط شبکه
- نمایش لیست دستگاه های WIFI
- مدیریت اتصالات شبکه
- مدیریت رابط های شبکه
- نمایش رویدادهای شبکه
- عیب یابی شبکه
دستور نصب nmcli در اوبونتو
sudo apt-get install network-manager
دستور نصب nmcli در centos
sudo dnf install NetworkManager
یا
sudo yum install NetworkManager
ابزار nmtui
- نمایش شبکه های بی سیم
- اتصال به شبکه های بی سیم
- نمایش لیست اتصالات شبکه
- تنظیم آی پی شبکه های اترنت
- مدیریت رابط های شبکه
- مدیریت پروفایل های شبکه
- مدیریت تنظیمات VPN
دستور نصب nmtui در اوبونتو
sudo apt install network-manager-tui
دستور نصب nmtui در centos
sudo dnf install NetworkManager-tui
یا
sudo yum install NetworkManager-tui
ابزار ethtool
- نمایش اطلاعات درایور کارت شبکه
- تنظیم اطلاعات سخت افزاری رابط شبکه
- نمایش آمار مربوط به رابط شبکه
- نمایش وضعیت رابط شبکه
- تست عملکرد رابط شبکه
- تست سرعت کارت شبکه
- تشخیص و رفع مشکلات شبکه
دستور نصب ethtool در اوبونتو
sudo apt install ethtool
دستور نصب ethtool در centos
sudo dnf install ethtool
یا
sudo yum install ethtool
پیکربندی تنظیمات کارت شبکه در لینوکس با خط فرمان
با تامین پیش نیازهای زیر می توانید انواع تنظیماتی که در ادامه بررسی می کنیم را با ابزارهای مطرح شده انجام دهید و به راحتی از عهده مدیریت رابط های شبکه خود بربیایید:
- سیستم یا سرور لینوکس اوبونتو یا centos
- حساب کاربر روت یا کاربری با امتیازات sudo
- دسترس به ترمینال
۱) مشاهده لیست کارت های شبکه
هر کدام از دستورات، اطلاعات مربوط به تمام رابط های شبکه را در فرمت های متفاوتی ارائه می دهند ولی جزئیات همه آنها تقریباً یکی است:
sudo ip a
sudo ifconfig -a
sudo nmcli device status
sudo lshw -c network
ولی اگر خواستید می توانید اطلاعات خروجی آنها را با استفاده از grep به شکل دلخواه خود فیلتر کنید.
به عنوان مثال اگر می خواهید خروجی دستور ip را طوری فیلتر کنید که فقط بخش آدرس ip مربوط به کارت های شبکه را به صورت رنگی نشان دهد، می توانید از دستور زیر استفاده کنید:
sudo ip a | grep -E 'inet\s' #IPv4 addresses
sudo ip a | grep -E 'inet6\s' #IPv6 addresses
این دستور، فقط خطوط حاوی inet را نمایش می دهد که این مقدار inet هم همان آدرس آی پی کارت شبکه موردنظر است.
۲) مشاهده اطلاعات یک رابط شبکه خاص
برای این کار می توانید از ابزارهای مختلف کمک بگیرید:
sudo ip addr show eth0
sudo nmcli device show eth0
sudo ifconfig eth0
sudo sudo lshw -class network -short | grep eth0
۳) اضافه کردن رابط شبکه جدید
لیست رابط های شبکه توزیع اوبونتو در مسیر etc/network/interfaces/ قرار دارد که اگر با استفاده از ویرایشگر دلخواه خود این فایل را باز کنید، می توانید جزئیات هر کدام از آنها را ببینید:
nano /etc/network/interfaces
حالا اگر می خواهید رابط شبکه جدیدی تعریف کنید، ابتدا باید در مورد استاتیک یا داینامیک بودن آدرس آی پی آن تصمیم بگیرید.
برای ایجاد یک رابط شبکه استاتیک، طبق پروسه زیر جلو بروید:
با خط زیر که جهت فعال سازی رابط موردنظر است، شروع کنید تا با هر بار بوت، این رابط هم به صورت خودکار فعال شود:
auto eth1
با خط زیر رابط eth1 که قرار است آدرس آی پی آن از نوع استاتیک باشد را اضافه کنید:
iface eth1 inet static
آدرس آی پی را به صورت زیر وارد کنید:
address 192.168.1.2
نت ماسک را با استفاده از netmask وارد کنید:
netmask 255.255.255.0
آدرس gateway را هم با خط زیر مشخص کنید:
gateway 192.168.1.1
آدرس سرور dns موردنظر را هم با استفاده از خط زیر مشخص کنید:
dns-nameservers 8.8.8.8 8.8.4.4
این تغییرات را در فایل ذخیره کنید و سپس آن را ببندید.
برای ایجاد یک رابط شبکه با آی پی داینامیک هم به صورت زیر عمل کنید:
این بار، بعد از اضافه کردن خط مربوط به فعال سازی خودکار رابط شبکه، خط زیر را اضافه کنید:
auto eth1
iface eth0 inet dhcp
با این خط، در واقع از سرور dhcp می خواهید که به طور خودکار یک آدرس آی پی ipv4 به رابط شبکه اختصاص دهد و دیگر نیاز به وارد کردن آدرس gateway و mask نیست.
خطوط بعدی هم بستگی به نیازهای شبکه و تنظیمات موردنظر شما دارد که dns-nameservers هم یکی از آنهاست و می توانید از طریق این فایل، تعریف کنید.
بعد از اینکه که تکه کد مربوط به ایجاد رابط شبکه را در فایل لحاظ کردید، باید سرویس networking را مجدداً راه اندازی کنید یا سیستم را ریستارت کنید.
sudo systemctl restart networking
در آخر، رابط شبکه جدید را فعال کنید:
sudo ifup eth1
حالا اگر سیستم شما دارای توزیع centos است، باید طبق مراحل زیر جلو بروید:
در مسیر /etc/sysconfig/network-scripts/ یک فایل به اسم دلخواه مثلاً ifcfg-eth1 ایجاد کنید:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth1
متغیرهای آن را به شکل زیر و بر اساس اطلاعات موردنظر خود در این فایل وارد کنید:
TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
که در این مثال، یک رابط از نوع اترنت با اسم eth1، آدرس آی پی 192.168.1.2 و … اضافه شده است.
اگر هم می خواهید رابط شبکه با آدرس آی پی داینامیک تعریف کنید، به جای خطوط بالا، خطوط زیر را فایل لحاظ کنید:
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
فایل را ذخیره کرده و آن را ببندید.
بعد سرویس NetworkManager را مجدداً راه اندازی کنید:
sudo systemctl restart NetworkManager
با استفاده از دستور ifup، آن را فعال کنید:
sudo ifup eth1
البته برای ایجاد رابط جدید می توانید از nmcli هم کمک بگیرید:
در این روش، رابط شبکه در قالب یک connection ایجاد می شود و از این به بعد اسم آن connection معرف این رابط خواهد بود.
ابتدا اسم رابط، اسم اتصال و سایر ویژگی های موردنظر را متناسب با سینتکس زیر لحاظ کنید:
sudo nmcli con add type ethernet con-name your-connection-name ipv4.method manual ifname ethx ip4 192.168.1.50/24 gw4 192.168.1.1
* اگر می خواهید از آدرس آی پی داینامیک استفاده کنید، کافیست ipv4.method را روی auto تنظیم کنید و بقیه فیلدها را لحاظ نکنید.
بعد نوبت به فعال سازی رابط موردنظر می رسد که برای این کار هم کافیست دستور زیر را اجرا کنید:
sudo nmcli down id your-connection-name
sudo nmcli up id your-connection-name
البته برای ایجاد تغییر در این رابط می توانید از آپشن mod استفاده کنید. برای مثال اگر تنظیم آدرس دی ان اس را فراموش کرده اید می توانید از دستور زیر استفاده کنید:
sudo nmcli con mod your-connection-name ipv4.dns "8.8.8.8 8.8.4.4"
* توجه داشته باشید که اسم هر کدام از پارامترها در مرحله add و modify متفاوت است. مثلاً موقع ایجاد رابط باید از ip4 و gw4 استفاده کنید. در حالی که موقع modify کردن، باید از ipv4 و gwv4 استفاده کنید.
۴) تغییر آدرس آی پی رابط شبکه
اگر بعد از یک مدت، به خاطر امور فنی یا امنیتی به فکر تغییر آدرس آی پی رابط شبکه هستید، می توانید از ابزارهای ip ،ifconfig ،nmcli و nmtui کمک بگیرید یا اینکه مستقیماً فایل مربوط به رابط های شبکه را باز کنید و متغیر ip address را به شکل دلخواه تغییر دهید.
تغییر آی پی با nmcli
sudo nmcli con mod your-connection-name ipv4 192.168.32.12
تغییر آدرس آی پی با ifconfig
sudo ifconfig eth0 192.168.1.100
تغییر آدرس آی پی با ip
sudo ip addr add 192.168.1.100/24 dev eth0
با nmtui مراحل کمی طولانی تر است. پس اگر با این دستورات به نتیجه نرسیده اید و دوست دارید nmtui را هم امتحان کنید، طبق مراحل زیر جلو بروید:
دستور زیر را در ترمینال اجرا کنید:
sudo nmtui
با کلیدهای جهتدار، گزینه Edit a connection را انتخاب کنید و اینتر را بزنید.
رابط شبکه موردنظر را انتخاب کنید.
گزینه Edit را انتخاب کنید و اینتر را فشار دهید تا تنظیمات پیکربندی باز شود.
با کلیدهای جهت دار، گزینه IPv4 CONFIGURATION را هایلایت کنید و سپس اینتر را بزنید.
در صورت تمایل تغییر آدرس آی پی داینامیک، گزینه Manual را انتخاب کنید و اینتر را بزنید.
روی بخش Addresses کلیک کنید و آدرس موردنظر را وارد کنید.
در آخر روی OK کلیک کنید تا این تغییر ذخیره شود.
دوباره از لیست موجود، Activate a connection انتخاب کنید و رابطی که آدرس آن را تغییر داده اید، انتخاب کنید.
سپس، اینتر را فشار دهید تا فعال شود.
با انتخاب گزینه quite از فضای nmtui خارج شوید.
* اگر آدرس آی پی را به صورت داینامیک تنظیم کرده اید، برای تغییر آدرس آی پی می توانید رابط شبکه موردنظر را غیرفعال و مجدداً فعال کنید.
۵) غیرفعال سازی/فعال سازی رابط شبکه
اگر به دلایلی مثل تخصیص مجدد آی پی به صورت داینامیک، رفع مشکلات اتصال و … می خواهید رابط شبکه را غیرفعال و مجدداً فعال کنید، می توانید از دستورات زیر استفاده کنید:
رفرش رابط شبکه با دستور ip
sudo ip link set eth0 down
sudo ip link set eth0 up
فعال سازی مجدد رابط شبکه با دستور ifconfig
sudo ifconfig down eth0
sudo ifconfig up eth0
غیرفعال سازی/فعال سازی کارت شبکه با nmcli
دستور زیر کل سرویس شبکه را ریستارت می کند:
sudo nmcli networking off
sudo nmcli networking on
اگر می خواهید یک رابط شبکه خاص را ریستارت کنید، باید اسم connection مربوط به آن را در دستورات زیر لحاظ کنید:
sudo nmcli down id connection-name
sudo nmcli up id connection-name
دستورات ifup و ifdown هم برای رفرش مجدد رابط شبکه موردنظر به کار می روند:
sudo ifdown eth0
sudo ifup eth0
۶) تغییر مقدار پارامتر MTU
پارامتر MTU، حداکثر اندازه بسته های انتقالی از رابط شبکه را مشخص می کند و برای بهینه سازی سرعت اینترنت در رابط دارد.
موقع تعیین اندازه MTU باید دقت زیادی به خرج دهید چون بالا بودن بیش از حد آن باعث افزایش هزینه های پردازشی و latency می شود و پایین بودن آن باعث کاهش کارایی شبکه و افزایش هزینه های ارسال می شود.
برای تعیین مقدار پارامتر MTU می توانید از دستورات ip و ifconfig کمک بگیرید:
sudo ip link set eth0 mtu 1500
sudo ifconfig eth0 mtu 1500
یا اینکه مستقیماً فایل های پیکربندی مربوط به رابط شبکه را ویرایش کنید و مقدار mtu را تغییر دهید.
۷) مدیریت کارت شبکه اترنت با ethtool
ابزار ethtool برای کنترل درایورهای شبکه و تنظیمات سخت افزاری رابط ها مخصوصاً رابط های اترنت به کار می رود.
مشاهده جزئیات تنظیمات کارت شبکه موردنظر
sudo ethtool eth0
بررسی آمار مربوط به رابط شبکه
sudo ethtool --statistics eth0
تغییر حالت auto-negotiation رابط موردنظر
sudo ethtool --pause eth0 autoneg off
sudo ethtool --pause eth0 autoneg on
تغییر سرعت و حالت duplex رابط
sudo ethtool -s eth0 speed 10 duplex half
۸) حذف رابط شبکه
اگر به دلایلی مثل عدم استفاده از رابط، تغییر در توپولوژی شبکه یا مسائل فنی و امنیتی مجبور به حذف رابط شبکه موردنظر هستید، می توانید از یکی از دستورات nmcli یا ip کمک بگیرید.
sudo nmcli connection delete id connection_name
sudo ip link delete interface-code
حذف فایل پیکربندی رابط شبکه موردنظر از لیست اینترفیس ها هم مطمئن ترین راه برای حذف دائمی یک رابط شبکه از سیستم لینوکس است.
مدیریت تنظیمات کارت شبکه در لینوکس از طریق رابط گرافیکی
اگر تمایلی به استفاده از ابزارهای مبتنی بر خط فرمان ندارید، برای اجرای تنظیمات کارت شبکه خود می تونید از محیط گرافیکی سیستم خود استفاده کنید.
مراحل تنظیمات رابط شبکه در محیط دسکتاپ gnome به صورت زیر است:
روی آیکون شبکه گوشه بالا-راست کلیک کنید.
روی Network Settings یا آیکون چرخ دنده کلیک کنید.
این صفحه حاوی اطلاعات نقطه اتصال فعلی، vpn و پراکسی است.
حالا اینجاست که باید در مورد کاری که می خواهید انجام دهید، تصمیم بگیرید.
اگر می خواهید ویژگی های رابط شبکه موجود مثلاً آدرس آی پی آن را تغییر دهید، کافیست روی علامت چرخ دنده مربوط به آن کلیک کنید.
به تب IPv4 بروید و گزینه Manual را انتخاب کنید.
سپس، آدرس آی پی جدید، Netmask و آدرس Gateway را وارد کنید.
در صورت تمایل می توانید آدرس سرور DNS موردنظر را هم وارد کنید.
در آخر با کلیک روی apply این تغییرات را ذخیره کنید و اتصال شبکه خود را ریستارت کنید.
با بررسی هر کدام از تب ها می توانید به تنظیمات متنوعی دسترسی پیدا کنید که اکثر آنها قابل تغییر هستند و می توانید متناسب با نیازهای خود آنها را تنظیم کنید.
اما برای ایجاد یک اتصال جدید باید طبق مراحل زیر جلو بروید:
روی علامت + موجود در صفحه تنظیمات Network کلیک کنید.
* با اجرای دستور nm-connection-editor در ترمینال هم می توانید به صفحه تنظیمات شبکه دسترسی پیدا کنید.
نوع اتصال مثلاً Ethernet را تعیین کنید.
روی create کلیک کنید.
پسورد روت را وارد کنید تا صفجه مربوط به آن باز شود.
اسم موردنظر را در قسمت connection name وارد کنید.
از فیلد device دستگاه مربوط به کارت شبکه اترنت جدید را انتخاب کنید.
تک تک تب ها را بررسی کنید و سپس بر اساس ویژگی هایی که برای این رابط جدید در نظر دارید، فیلدهای مربوط به را پر کنید.
در آخر روی Save کلیک کنید تا ذخیره شود.
در کل، تمام این ابزارها پتانسیل این را دارند که نیاز شما را برآورده کنند ولی اگر می خواهید سرور لینوکسی داشته باشید که امکان اجرای انواع تنظیمات و پیکربندی های شبکه را به شما بدهد، می توانید به صفحه خرید سرور مجازی لینوکس مراجعه کنید.
سخن آخر
پیکربندی تنظیمات کارت شبکه در لینوکس یکی از مهم ترین کارهایی است باید برای پیش برد بهتر کارهای خود بلد باشید. ابزارهای زیادی برای ایجاد تغییرات در رابط ها و کارت های شبکه وجود دارد که با مطالعه داکیومنتیشن و امتحان کردن آنها می توانید ابزاری که بیشتر با نیازهای شما تطابق دارد را پیدا کنید.