User:Niyumard/Handbook:Parts/Installation/Networking
Readers should not try to follow instructions directly from the Handbook:Parts namespace (which is THIS page!). The sections displayed below are used as a skeleton for transcluding information into the computer architecture specific handbooks and are therefore lacking critical information.
Please visit the Handbook list to read instructions for a relevant computer architecture.
پیکربندی خودکار شبکه
شاید از قبل کار کند؟
اگر سیستم به یک شبکه اترنت با روتر IPv6 یا سرور DHCP متصل باشد، به احتمال زیاد شبکه سیستم به صورت خودکار پیکربندی شده است. اگر به پیکربندی پیشرفته اضافی نیاز نیست، میتوانید اتصال اینترنت را تست کنید.
استفاده از DHCP
پروتکل DHCP (پیکربندی میزبان پویا) در تنظیمات شبکه کمک میکند و میتواند به صورت خودکار تنظیماتی مانند: آدرس IP، ماسک شبکه، مسیریابی، سرورهای DNS، سرورهای NTP و غیره را ارائه دهد.
DHCP نیاز دارد که یک سرور در همان بخش لایه ۲ (اترنت) به عنوان کلاینت درخواست دهنده اجاره در حال اجرا باشد. DHCP اغلب در شبکههای RFC1918 (خصوصی) استفاده میشود، اما برای دریافت اطلاعات IP عمومی از ISPها نیز استفاده میشود.
رسانههای بوت رسمی جنتو به صورت خودکار dhcpcd را در زمان راهاندازی اجرا میکنند. این رفتار را میتوان با افزودن آرگومان
nodhcp
به خط فرمان کرنل رسانه بوت غیرفعال کرد.اگر از قبل در حال اجرا نیست، میتوان dhcpcd را روی enp1s0 با دستور زیر شروع کرد:
root #
dhcpcd enp1s0
برخی مدیران شبکه نیاز دارند که نام میزبان و نام دامنه ارائه شده توسط سرور DHCP توسط سیستم استفاده شود. در این صورت از دستور زیر استفاده کنید:
root #
dhcpcd -HD enp1s0
برای متوقف کردن dhcpcd میتوان از -x استفاده کرد:
root #
dhcpcd -x
sending signal Term to pid 10831 waiting for pid 10831 to exit
نحوه استفاده از Dhcpcd
تست شبکه
یک مسیر پیشفرض به درستی پیکربندی شده جزء حیاتی اتصال به اینترنت است. میتوان پیکربندی مسیریابی را با دستور زیر بررسی کرد:
root #
ip route
default via 192.168.0.1 dev enp1s0
اگر هیچ مسیر پیشفرضی تعریف نشده باشد، اتصال به اینترنت وجود ندارد و به پیکربندی اضافی نیاز است.
اتصال پایه اینترنت را میتوان با پینگ تأیید کرد:
root #
ping -c 3 1.1.1.1
کمک میکند که ابتدا یک آدرس IP شناخته شده را پینگ کنید به جای نام میزبان. این کار میتواند مشکلات DNS را از مشکلات اتصال پایه اینترنت جدا کند.
دسترسی خروجی HTTPS و حل DNS را میتوان با دستور زیر تأیید کرد:
root #
curl --location gentoo.org --output /dev/null
مگر اینکه curl خطایی گزارش دهد یا تستهای دیگر شکست بخورند، فرآیند نصب را میتوان با آمادهسازی دیسکها ادامه داد.
اگر curl خطایی گزارش دهد اما پینگهای اینترنتی کار کنند، ممکن است نیاز به پیکربندی DNS باشد.
اگر اتصال اینترنت برقرار نشده است، ابتدا اطلاعات رابط شبکه باید تأیید شود، سپس:
- میتوان از net-setup برای کمک در پیکربندی شبکه استفاده کرد.
- ممکن است نیاز به پیکربندی خاص برنامه باشد.
- میتوان پیکربندی دستی شبکه را امتحان کرد.
دریافت اطلاعات رابط
اگر شبکه به صورت پیشفرض کار نمیکند، باید مراحل اضافی برای فعالسازی اتصال اینترنت انجام شود. به طور کلی، اولین مرحله شمارش رابطهای شبکه میزبان است.
دستور ip که بخشی از بسته sys-apps/iproute2 است، میتواند برای پرسوجو و پیکربندی شبکه سیستم استفاده شود.
از آرگومان link میتوان برای نمایش لینکهای رابط شبکه استفاده کرد:
root #
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 4: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff
از آرگومان address میتوان برای پرسوجوی اطلاعات آدرس دستگاه استفاده کرد:
root #
ip address
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000<pre> link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff inet 10.0.20.77/22 brd 10.0.23.255 scope global enp1s0 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
خروجی این دستور شامل اطلاعاتی برای هر رابط شبکه در سیستم است. مدخلها با اندیس دستگاه شروع میشوند، سپس نام دستگاه میآید: enp1s0.
اگر هیچ رابطی به جز lo (حلقه برگشتی) نمایش داده نشود، سختافزار شبکه معیوب است یا درایور رابط به کرنل بارگذاری نشده است. هر دو وضعیت از محدوده این راهنما خارج هستند. لطفاً برای پشتیبانی با #gentoo (webchat) تماس بگیرید.
برای یکپارچگی، راهنما فرض میکند که رابط شبکه اصلی enp1s0 نام دارد.
در نتیجه تغییر به سمت نامهای قابل پیشبینی رابط شبکه، نام رابط در سیستم میتواند بسیار متفاوت از قرارداد قدیمی نامگذاری eth0 باشد. رسانههای بوت مدرن جنتو از نامهای رابط با پیشوندهایی مانند eno0، ens1 یا enp5s0 استفاده میکنند.
اختیاری: پیکربندی خاص برنامه
روشهای زیر عموماً مورد نیاز نیستند، اما ممکن است در موقعیتهایی که به پیکربندی اضافی برای اتصال اینترنت نیاز است، مفید باشند.
پیکربندی پروکسی وب
اگر اینترنت از طریق یک پروکسی وب قابل دسترسی است، لازم است اطلاعات پروکسی برای پورتج تعریف شود تا به درستی از پروکسی برای هر پروتکل پشتیبانی شده استفاده کند. پورتج متغیرهای محیطی http_proxy، ftp_proxy و RSYNC_PROXY را برای دانلود بستهها از طریق مکانیزمهای بازیابی wget و rsync مشاهده میکند.
برخی مرورگرهای وب مبتنی بر متن مانند links نیز میتوانند از متغیرهای محیطی که تنظیمات پروکسی وب را تعریف میکنند استفاده کنند؛ به ویژه برای دسترسی HTTPS که نیاز به تعریف متغیر محیطی https_proxy نیز دارد. در حالی که پورتج بدون نیاز به پارامترهای اضافی در زمان فراخوانی تحت تأثیر قرار میگیرد، links نیاز به تنظیم پروکسی دارد.
در بیشتر موارد، تعریف متغیرهای محیطی با استفاده از نام میزبان سرور کافی است. در مثال زیر، فرض شده است که نام میزبان پروکسی proxy.gentoo.org و پورت 8080 است.
نماد
#
در دستورات زیر یک توضیح است. فقط برای وضوح اضافه شده است و نیازی به تایپ آن هنگام وارد کردن دستورات نیست.برای تعریف یک پروکسی HTTP (برای ترافیک HTTP و HTTPS):
root #
export http_proxy="http://proxy.gentoo.org:8080" # برای پورتج و لینکها اعمال میشود
root #
export https_proxy="http://proxy.gentoo.org:8080" # فقط برای لینکها اعمال میشود
اگر پروکسی HTTP نیاز به احراز هویت دارد، یک نام کاربری و رمز عبور با نحو زیر تنظیم کنید:
root #
export http_proxy="http://username:password@proxy.gentoo.org:8080" # برای پورتج و لینکها اعمال میشود
root #
export https_proxy="http://username:password@proxy.gentoo.org:8080" # فقط برای لینکها اعمال میشود
links را با پارامترهای زیر برای پشتیبانی از پروکسی شروع کنید:
user $
links -http-proxy ${http_proxy} -https-proxy ${https_proxy}
برای تعریف یک پروکسی FTP برای پورتج و/یا links:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080" # برای پورتج و لینکها اعمال میشود
links را با پارامتر زیر برای پروکسی FTP شروع کنید:
user $
links -ftp-proxy ${ftp_proxy}
برای تعریف یک پروکسی RSYNC برای پورتج:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080" # برای پورتج اعمال میشود؛ لینکها از پروکسی rsync پشتیبانی نمیکنند
استفاده از pppoe-setup برای ADSL
اگر برای دسترسی به اینترنت به PPPoE نیاز است، رسانه بوت جنتو شامل اسکریپت pppoe-setup برای سادهسازی پیکربندی ppp است.
در طول تنظیم، pppoe-setup درخواست میکند:
- نام رابط اترنت متصل به مودم ADSL.
- نام کاربری و رمز عبور PPPoE.
- آدرسهای IP سرور DNS.
- آیا فایروال نیاز است یا خیر.
root #
pppoe-setup
root #
pppoe-start
در صورت شکست، باید اعتبار در /etc/ppp/pap-secrets یا /etc/ppp/chap-secrets تأیید شود. اگر اعتبار صحیح است، باید انتخاب رابط اترنت PPPoE بررسی شود.
استفاده از PPTP
اگر به پشتیبانی PPTP نیاز است، میتوان از pptpclient استفاده کرد، اما قبل از استفاده نیاز به پیکربندی دارد.
/etc/ppp/pap-secrets یا /etc/ppp/chap-secrets را ویرایش کنید تا شامل ترکیب نام کاربری/رمز عبور صحیح باشد:
root #
nano /etc/ppp/chap-secrets
سپس در صورت نیاز /etc/ppp/options.pptp را تنظیم کنید:
root #
nano /etc/ppp/options.pptp
پس از تکمیل پیکربندی، pptp را (همراه با گزینههایی که در options.pptp قابل تنظیم نبودند) برای اتصال به سرور اجرا کنید:
root #
pptp <آدرس IPv4 سرور>
پیکربندی WEP
از WEP استفاده نکنید مگر اینکه تنها گزینه باشد. WEP اساساً هیچ امنیتی بیش از یک شبکه باز ارائه نمیدهد.
دستور iw فقط در معماریهای زیر در دسترس است: amd64، x86، arm، arm64، ppc، ppc64 و riscv.
هنگام استفاده از کارت بیسیم (802.11)، باید تنظیمات بیسیم قبل از ادامه کار پیکربندی شود. برای مشاهده تنظیمات بیسیم فعلی روی کارت، میتوان از iw استفاده کرد. اجرای iw ممکن است چیزی شبیه به این نشان دهد:
root #
iw dev wlp9s0 info
Interface wlp9s0 ifindex 3 wdev 0x1 addr 00:00:00:00:00:00 type managed wiphy 0 channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz txpower 30.00 dBm
برای بررسی اتصال فعلی:
root #
iw dev wlp9s0 link
Not connected.
یا
root #
iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0) SSID: GentooNode freq: 2462 RX: 3279 bytes (25 packets) TX: 1049 bytes (7 packets) signal: -23 dBm tx bitrate: 1.0 MBit/s
برخی کارتهای بیسیم ممکن است نام دستگاه wlan0 یا ra0 به جای wlp9s0 داشته باشند. دستور ip link را اجرا کنید تا نام صحیح دستگاه مشخص شود.
برای بیشتر کاربران، فقط دو تنظیم برای اتصال نیاز است: ESSID (همچنین با نام شبکه بیسیم شناخته میشود) و اختیاریاً کلید WEP.
- ابتدا مطمئن شوید رابط فعال است:
root #
ip link set dev wlp9s0 up
- برای اتصال به یک شبکه باز با نام GentooNode:
root #
iw dev wlp9s0 connect -w GentooNode
- برای اتصال با کلید WEP هگز، قبل از کلید
d:
اضافه کنید:
root #
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
- برای اتصال با کلید WEP ASCII:
root #
iw dev wlp9s0 connect -w GentooNode key 0:some-password
اگر شبکه بیسیم با WPA یا WPA2 تنظیم شده است، باید از wpa_supplicant استفاده شود. برای اطلاعات بیشتر درباره پیکربندی شبکه بیسیم در جنتو لینوکس، لطفاً فصل شبکه بیسیم را در راهنمای جنتو مطالعه کنید.
تنظیمات بیسیم را با استفاده از iw dev wlp9s0 link تأیید کنید. پس از کار کردن بیسیم، گزینههای شبکه در سطح IP را مانند بخش بعدی توضیح داده شده پیکربندی کنید (درک اصطلاحات شبکه) یا از ابزار net-setup مانند قبل استفاده کنید.
استفاده از net-setup
در مواردی که پیکربندی خودکار شبکه موفقیتآمیز نیست، رسانه بوت جنتو اسکریپتهایی برای کمک به پیکربندی شبکه ارائه میدهد. net-setup میتواند برای پیکربندی اطلاعات شبکه بیسیم و IPهای ثابت استفاده شود.
root #
net-setup enp1s0
net-setup برخی سوالات درباره محیط شبکه میپرسد و از آن اطلاعات برای پیکربندی wpa_supplicant یا آدرس دهی ثابت استفاده میکند.
وضعیت شبکه باید پس از هر مرحله پیکربندی تست شود. در صورتی که اسکریپتهای پیکربندی کار نکنند، پیکربندی دستی شبکه مورد نیاز است.
مبانی اینترنت و IP
اگر همه موارد بالا شکست خورد، شبکه باید به صورت دستی پیکربندی شود. این کار به ویژه دشوار نیست، اما باید با ملاحظه انجام شود. این بخش برای روشنسازی اصطلاحات و معرفی مفاهیم پایه شبکه به کاربران برای پیکربندی دستی اتصال اینترنت ارائه شده است.
برخی تجهیزات ارائه شده توسط اپراتور (CPE) عملکردهای روتر، نقطه دسترسی، مودم، سرور DHCP و سرور DNS را در یک دستگاه ترکیب میکنند. مهم است که عملکردهای یک دستگاه را از دستگاه فیزیکی تفکیک کنید.
رابطها و آدرسها
رابطهای شبکه نمایشهای منطقی از دستگاههای شبکه هستند. یک رابط به یک آدرس برای ارتباط با سایر دستگاهها در شبکه نیاز دارد. در حالی که فقط یک آدرس مورد نیاز است، چندین آدرس میتوانند به یک رابط اختصاص داده شوند. این به ویژه برای پیکربندیهای دوگانه (IPv4 + IPv6) مفید است.
برای یکپارچگی، این مقدمه فرض میکند رابط enp1s0 از آدرس 192.168.0.2 استفاده میکند.
آدرسهای IP را میتوان به صورت دلخواه تنظیم کرد. در نتیجه، ممکن است چندین دستگاه از یک آدرس IP استفاده کنند که منجر به تضاد آدرس میشود. باید از DHCP یا SLAAC برای جلوگیری از تضاد آدرس استفاده کرد.
IPv6 معمولاً از پیکربندی خودکار آدرس بدون حالت (SLAAC) برای پیکربندی آدرس استفاده میکند. در بیشتر موارد، تنظیم دستی آدرسهای IPv6 روش خوبی نیست. اگر پسوند آدرس خاصی ترجیح داده میشود، میتوان از توکنهای شناسایی رابط استفاده کرد.
شبکهها و CIDR
پس از انتخاب یک آدرس، یک دستگاه چگونه میداند چگونه با سایر دستگاهها ارتباط برقرار کند؟
آدرسهای IP با شبکهها مرتبط هستند. شبکههای IP محدودههای منطقی پیوستهای از آدرسها هستند.
مسیریابی بین دامنه بدون کلاس یا CIDR برای تشخیص اندازه شبکهها استفاده میشود.
- مقدار CIDR که اغلب با / شروع میشود، اندازه شبکه را نشان میدهد.
- فرمول 2 ^ (32 - CIDR) میتواند برای محاسبه اندازه شبکه استفاده شود.
- پس از محاسبه اندازه شبکه، تعداد گرههای قابل استفاده باید ۲ کاهش یابد.
- اولین IP در یک شبکه آدرس شبکه است و آخرین معمولاً آدرس پخش است. این آدرسها خاص هستند و نمیتوانند توسط میزبانهای معمولی استفاده شوند.
رایجترین مقادیر CIDR /24 و /32 هستند که به ترتیب نشاندهنده 254 گره و یک گره هستند.
CIDR /24 اندازه شبکه پیشفرض واقعی است. این مربوط به ماسک زیرشبک 255.255.255.0 است، جایی که ۸ بیت آخر برای آدرسهای IP گرهها در یک شبکه رزرو شده است.
نماد: 192.168.0.2/24 را میتوان اینگونه تفسیر کرد:
- آدرس 192.168.0.2
- در شبکه 192.168.0.0
- با اندازه 254 (2 ^ (32 - 24) - 2)
- آدرسهای IP قابل استفاده در محدوده 192.168.0.1 - 192.168.0.254 هستند
- با آدرس پخش 192.168.0.255
- در بیشتر موارد، آخرین آدرس در یک شبکه به عنوان آدرس پخش استفاده میشود، اما این قابل تغییر است.
با استفاده از این پیکربندی، یک دستگاه باید بتواند با هر میزبانی در همان شبکه (192.168.0.0) ارتباط برقرار کند.
اینترنت
پس از اینکه یک دستگاه در یک شبکه قرار گرفت، چگونه میداند چگونه با دستگاههای اینترنت ارتباط برقرار کند؟
برای ارتباط با دستگاههای خارج از شبکههای محلی، باید از مسیریابی استفاده شود. یک روتر به سادگی یک دستگاه شبکه است که ترافیک را برای سایر دستگاهها ارسال میکند. اصطلاح مسیر پیشفرض یا درگاه معمولاً به هر دستگاهی در شبکه فعلی اشاره دارد که برای دسترسی به شبکه خارجی استفاده میشود.
یک روش استاندارد این است که درگاه را اولین یا آخرین IP در یک شبکه قرار دهید.
اگر یک روتر متصل به اینترنت در 192.168.0.1 موجود باشد، میتوان از آن به عنوان مسیر پیشفرض استفاده کرد و دسترسی به اینترنت را فراهم کرد.
به طور خلاصه:
- رابطها باید با یک آدرس و اطلاعات شبکه، مانند مقدار CIDR، پیکربندی شوند.
- از دسترسی شبکه محلی برای دسترسی به یک روتر در همان شبکه استفاده میشود.
- مسیر پیشفرض پیکربندی میشود تا ترافیک مقصد شبکههای خارجی به درگاه ارسال شود و دسترسی به اینترنت فراهم شود.
سیستم نام دامنه
به خاطر سپردن IPها دشوار است. سیستم نام دامنه برای امکان نگاشت بین نامهای دامنه و آدرسهای IP ایجاد شده است.
سیستمهای لینوکس از /etc/resolv.conf برای تعریف سرورهای نام استفاده میکنند که برای حل DNS استفاده میشوند.
بسیاری از روترها همچنین میتوانند به عنوان یک سرور DNS عمل کنند و استفاده از یک سرور DNS محلی میتواند حریم خصوصی را افزایش دهد و با کش کردن پرسوجوها سرعت را بهبود بخشد.
بسیاری از ISPها یک سرور DNS اجرا میکنند که معمولاً از طریق DHCP به درگاه تبلیغ میشود. استفاده از یک سرور DNS محلی تمایل به بهبود تأخیر پرسوجو دارد، اما بیشتر سرورهای DNS عمومی نتایج یکسانی را برمیگردانند، بنابراین استفاده از سرور عمدتاً بر اساس ترجیح است.
پیکربندی دستی شبکه
پیکربندی آدرس رابط
هنگام پیکربندی دستی آدرسهای IP، باید توپولوژی شبکه محلی در نظر گرفته شود. آدرسهای IP را میتوان به صورت دلخواه تنظیم کرد؛ تضادها ممکن است باعث اختلال شبکه شوند.
برای پیکربندی enp1s0 با آدرس 192.168.0.2 و CIDR /24:
root #
ip address add 192.168.0.2/24 dev enp1s0
شروع این دستور را میتوان به ip a کوتاه کرد.
پیکربندی مسیر پیشفرض
پیکربندی آدرس و اطلاعات شبکه برای یک رابط، مسیرهای link را پیکربندی میکند و امکان ارتباط با آن بخش شبکه را فراهم میکند:
root #
ip route
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.2
این دستور را میتوان به ip r کوتاه کرد.
مسیر پیشفرض را میتوان روی 192.168.0.1 با دستور زیر تنظیم کرد:
root #
ip route add default via 192.168.0.1
پیکربندی DNS
اطلاعات سرور نام معمولاً با استفاده از DHCP به دست میآید، اما میتوان به صورت دستی با افزودن مدخلهای nameserver
به /etc/resolv.conf تنظیم کرد.
اگر dhcpcd در حال اجرا است، تغییرات در /etc/resolv.conf پایدار نخواهند ماند. وضعیت را میتوان با
ps x | grep dhcpcd
بررسی کرد.nano در رسانه بوت جنتو موجود است و میتواند برای ویرایش /etc/resolv.conf با دستور زیر استفاده شود:
root #
nano /etc/resolv.conf
خطوط حاوی کلیدواژه nameserver
به دنبال آدرس IP سرور DNS به ترتیب تعریف پرسیده میشوند:
/etc/resolv.conf
استفاده از DNS Quad9.nameserver 9.9.9.9
nameserver 149.112.112.112
/etc/resolv.conf
استفاده از DNS Cloudflare.nameserver 1.1.1.1
nameserver 1.0.0.1
وضعیت DNS را میتوان با پینگ کردن یک نام دامنه بررسی کرد:
root #
ping -c 3 gentoo.org
پس از تأیید اتصال اتصال، میتوان با آمادهسازی دیسکها ادامه داد.