.\" SPDX-License-Identifier: GPL-2.0-or-later .TH PPPOE-SERVER 8 "21 June 2008" .\"" .UC 4 .SH "نام (NAME)" pppoe-server \- سرور PPPoE در فضای کاربری .SH "خلاصه دستور (SYNOPSIS)" .B pppoe-server \fR[\fIگزینه‌ها\fR] .SH "توضیحات (DESCRIPTION)" دستور \fBpppoe-server\fR یک سرور در فضای کاربری برای پروتکل نقطه به نقطه روی اترنت (PPPoE یا Point-to-Point Protocol over Ethernet) برای لینوکس و سایر سیستم‌های یونیکس است. \fBpppoe-server\fR در هماهنگی با کلاینت \fBpppoe\fR برای پاسخ‌گویی به بسته‌های اکتشافی PPPoE و برپایی نشست‌های PPPoE عمل می‌کند. .SH "گزینه‌ها (OPTIONS)" .TP .B \-F گزینه .B \-F باعث می‌شود \fBpppoe-server\fR انشعاب (fork) پیدا نکند و به یک دیمن تبدیل نشود. رفتار پیش‌فرض این است که منشعب شده و به دیمن تبدیل گردد. .TP .B \-I \fIinterface\fR گزینه .B \-I رابط اترنت مورد استفاده را مشخص می‌کند. در لینوکس معمولاً به صورت \fIeth0\fR یا \fIeth1\fR است. این رابط باید پیش از راه‌اندازی \fBpppoe-server\fR فعال (up) باشد، اما نیازی به داشتن آدرس IP ندارد. اگر می‌خواهید سرور روی بیش از یک رابط پاسخ دهد، می‌توانید چندین گزینه .B \-I را مشخص کنید. .TP .B \-X \fIpidfile\fR این گزینه باعث می‌شود \fBpppoe-server\fR شناسه فرایند خود (PID) را در \fIpidfile\fR بنویسد. علاوه بر این، فایل را قفل نگه می‌دارد تا برای یک \fIpidfile\fR مشخص، تنها یک فرایند بتواند اجرا شود. .TP .B \-q \fI/path/to/pppd\fR مسیر کامل برنامه \fBpppd\fR را مشخص می‌کند. مقدار پیش‌فرض در زمان کامپایل تعیین می‌شود. یکی از کاربردهای این گزینه، ارائه یک برنامه پوششی (wrapper) است که آرگومان‌های ارسالی به pppd را تغییر می‌دهد. این کار به شما امکان می‌دهد مواردی را که مستقیماً توسط سرور پشتیبانی نمی‌شوند پیاده‌سازی کنید (برای نمونه، تعیین آدرس‌های IPv6). .TP .B \-Q \fI/path/to/pppoe\fR مسیر کامل برنامه \fBpppoe\fR را مشخص می‌کند. مقدار پیش‌فرض در زمان کامپایل تعیین می‌شود. این گزینه فقط در صورتی کاربرد دارد که از PPPoE در حالت هسته (kernel-mode) استفاده \fIنمی‌کنید\fR. .TP .B \-T \fItimeout\fR این گزینه مستقیماً به \fBpppoe\fR ارسال می‌شود؛ برای جزئیات به .BR pppoe (8) مراجعه کنید. اگر از PPPoE در حالت هسته استفاده می‌کنید، این گزینه \fIهیچ تأثیری ندارد\fR. .TP .B \-C \fIac_name\fR مشخص می‌کند چه نامی به عنوان نام متمرکزکننده دسترسی (Access Concentrator) گزارش شود. در صورت مشخص نشدن، از نام میزبان (hostname) استفاده می‌شود. .TP .B \-S \fIname\fR سرویسی با نام \fIname\fR را ارائه می‌دهد. می‌توان چندین گزینه .B \-S تعیین کرد؛ هر کدام باعث می‌شود سرویس مشخص‌شده در برچسب Service-Name در فریم PADO اعلان شود. اولین گزینه .B \-S سرویس پیش‌فرض را تعیین می‌کند و در صورتی که کلاینت PPPoE برچسب Service-Name با طول صفر درخواست کند، استفاده خواهد شد. .TP .B \-m \fIMSS\fR این گزینه مستقیماً به \fBpppoe\fR ارسال می‌شود؛ برای جزئیات به .BR pppoe (8) مراجعه کنید. اگر از PPPoE در حالت هسته استفاده می‌کنید، این گزینه \fIهیچ تأثیری ندارد\fR. .TP .B \-x \fIn\fR تعداد نشست‌ها به ازای هر آدرس MAC همتا را به \fIn\fR محدود می‌کند. اگر یک آدرس MAC مشخص تلاش کند بیش از \fIn\fR نشست ایجاد کند، بسته‌های PADI و PADR آن نادیده گرفته می‌شوند. اگر \fIn\fR را برابر با 0 (مقدار پیش‌فرض) تنظیم کنید، هیچ محدودیتی بر تعداد نشست‌ها به ازای هر آدرس MAC همتا اعمال نمی‌شود. .TP .B \-s این گزینه مستقیماً به \fBpppoe\fR ارسال می‌شود؛ برای جزئیات به .BR pppoe (8) مراجعه کنید. علاوه بر این، باعث می‌شود \fBpppd\fR همراه با گزینه \fIsync\fR فراخوانی شود. .TP .B \-L \fIip\fR آدرس IP محلی را تعیین می‌کند. این مقدار به فرایندهای ایجاد شده \fBpppd\fR منتقل می‌شود. در صورت عدم تعیین، مقدار پیش‌فرض 10.0.0.1 است. اگر به صورت 0.0.0.0 تعیین شود، انتخاب آدرس IP محلی به \fBpppd\fR واگذار می‌گردد. .TP .B \-R \fIip\fR آدرس IP دوردست (remote) آغازین را تنظیم می‌کند. هم‌زمان با برقراری نشست‌ها، آدرس‌های IP با شروع از \fIip\fR اختصاص می‌یابند. \fBpppoe-server\fR به طور خودکار مخزن آدرس‌ها را ردیابی کرده و یک آدرس IP دوردست معتبر به \fBpppd\fR ارسال می‌کند. در صورت عدم تعیین، آدرس اولیه 10.67.15.1 استفاده خواهد شد. اگر به صورت 0.0.0.0 تعیین شود، تخصیص IP دوردست به \fBpppd\fR واگذار می‌شود. .TP .B \-N \fInum\fR حداکثر به \fInum\fR نشست هم‌زمان PPPoE اجازه فعالیت می‌دهد. در صورت عدم تعیین، مقدار پیش‌فرض 64 است. .TP .B \-M \fIstring\fR رشته \fIstring\fR را بلافاصله پس از ارسال بسته PADS به کلاینت، درون برچسب MOTM در یک بسته PADM ارسال می‌کند. .TP .B \-H \fIurl\fR نشانی \fIurl\fR را بلافاصله پس از ارسال بسته PADS به کلاینت، درون برچسب HURL در یک بسته PADM ارسال می‌کند. توجه داشته باشید که \fIurl\fR باید با \fBhttp://\fR یا \fBhttps://\fR شروع شود. .TP .B \-O \fIfname\fR این گزینه باعث می‌شود \fBpppoe-server\fR به \fBpppd\fR اعلام کند به جای فایل پیش‌فرض \fI/etc/ppp/pppoe-server-options\fR از فایل گزینه‌های \fIfname\fR استفاده کند. .TP .B \-p \fIfname\fR فایل مشخص‌شده \fIfname\fR را که یک فایل متنی شامل یک آدرس IP در هر سطر است می‌خواند. این آدرس‌های IP به کلاینت‌ها اختصاص خواهند یافت. تعداد نشست‌های مجاز برابر با تعداد آدرس‌های موجود در فایل خواهد بود. گزینه .B \-p هر دو گزینه .B \-R و .B \-N را بازنویسی (override) می‌کند. .PP علاوه بر داشتن آدرس‌های IP تکی، فایل مخزن می‌تواند شامل سطرهایی به این شکل باشد: .nf a.b.c.d-e .fi که شامل تمام آدرس‌های IP از a.b.c.d تا a.b.c.e می‌شود. برای مثال، سطر: .nf 1.2.3.4-7 .fi معادل با سطرهای زیر است: .nf 1.2.3.4 1.2.3.5 1.2.3.6 1.2.3.7 .fi .TP .B \-r به سرور PPPoE دستور می‌دهد تا شماره نشست‌ها را به صورت تصادفی جابه‌جا (permute) کند. به جای واگذاری ترتیبی نشست‌ها، شماره نشست‌ها با ترتیبی غیرقابل پیش‌بینی تخصیص می‌یابند. .TP .B \-u به سرور اعلام می‌کند که \fBpppd\fR را همراه با گزینه \fIunit\fR فراخوانی کند. توجه داشته باشید که این گزینه فقط برای نسخه 2.4.0 یا جدیدتر \fBpppd\fR کار می‌کند. .TP .B \-o \fIoffset\fR به جای شماره‌گذاری نشست‌های PPPoE از شماره 1، شماره‌گذاری آن‌ها از \fIoffset\fR+1 آغاز می‌شود. این کار به شما امکان می‌دهد چندین سرور را روی یک ماشین مشخص اجرا کنید؛ تنها باید مطمئن شوید که شماره نشست‌های آن‌ها هم‌پوشانی ندارند. .TP .B \-f disc:sess گزینه .B \-f انواع فریم‌های اترنت را برای اکتشاف و نشست‌های PPPoE تنظیم می‌کند. این انواع به صورت اعداد شانزده‌شانزدهی (hexadecimal) با دونقطه جدا می‌شوند. پروتکل استاندارد PPPoE از انواع فریم 8863:8864 استفاده می‌کند. \fIنباید از این گزینه استفاده کنید\fR مگر اینکه کاملاً مطمئن باشید همتای مورد نظر از انواع فریم غیراستاندارد استفاده می‌کند. .TP .B \-k گزینه .B \-k به سرور اعلام می‌کند در لینوکس از PPPoE در حالت هسته (kernel-mode) استفاده کند. این گزینه فقط در هسته‌های لینوکس 2.4.0 و جدیدتر در دسترس است، و تنها در صورتی که سرور با پشتیبانی از حالت هسته ساخته شده باشد. .TP .B \-g path گزینه .B \-g مسیر کامل افزونه pppoe.so یا rp-pppoe.so را برای استفاده به همراه PPPoE حالت هسته به سرور اعلام می‌کند. در صورت عدم ذکر، مقدار پیش‌فرض کامپایل‌شده استفاده می‌شود؛ این مقدار پیش‌فرض را می‌توان با استفاده از گزینه .B \-h مشاهده کرد. .TP .B \-i گزینه .B \-i به سرور می‌گوید در صورتی که هیچ جایگاه نشست آزادی وجود نداشته باشد، فریم‌های PADI را به طور کامل نادیده بگیرد. .TP .B \-h گزینه .B \-h پیام راهنمای کوتاهی از نحوه استفاده را چاپ کرده و خارج می‌شود. .TP .B \-U path گزینه .B \-U یک سوکت یونیکس ایجاد می‌کند که می‌توان برای مدیریت \fBpppoe-server\fR در زمان اجرا به آن متصل شد. لطفاً برای دستورالعمل‌های دقیق‌تر به بخش \fBسوکت کنترلی (CONTROL-SOCKET)\fR در زیر مراجعه کنید. .SH "عملکرد (OPERATION)" \fBpppoe-server\fR به بسته‌های اکتشافی ورودی PPPoE گوش می‌دهد. هنگامی که یک نشست برقرار می‌شود، یک فرایند \fBpppd\fR ایجاد می‌کند. گزینه‌های زیر به \fBpppd\fR ارسال می‌شوند: .nf nodetach noaccomp nobsdcom nodeflate nopcomp novj novjccomp default-asyncmap .fi علاوه بر این، آدرس‌های IP محلی و دوردست بر اساس گزینه‌های .B \-L و .B \-R تنظیم می‌شوند. گزینه .B pty به همراه یک دستور \fBpppoe\fR برای آغاز نشست PPPoE ارائه می‌شود. در نهایت، گزینه‌های اضافی \fBpppd\fR را می‌توان در فایل \fB/etc/ppp/pppoe-server-options\fR قرار داد (که باید وجود داشته باشد، حتی اگر کاملاً خالی باشد!). .PP توجه داشته باشید که \fBpppoe-server\fR عمدتاً برای آزمایش کلاینت‌های PPPoE در نظر گرفته شده است. این سرور برای استفاده‌های عملیاتی با کارایی بالا (production) طراحی \fIنشده است\fR. .SH "سوکت کنترلی (CONTROL-SOCKET)" سوکت کنترلی به عنوان مکانیزمی ثانویه برای بهبود کنترل pppoe-server در زمان اجرا پیاده‌سازی شده است. برای استفاده از آن باید pppoe-server را با گزینه .B \-U که در بالا توضیح داده شد اجرا کنید. سپس می‌توانید (در حال حاضر به دلیل نبود کلاینت کنترلی اختصاصی) از netcat برای اتصال به سوکت کنترلی استفاده کنید، برای مثال: .nf nc -U /run/pppoe-server.control .fi با فرض اینکه \fB\-U /run/pppoe-server.control\fR به pppoe-server ارسال شده باشد. .PP دستورهای زیر پیاده‌سازی شده‌اند: .TP .B set drain {off|on|quit} مشخص می‌کند که آیا pppoe-server به بسته‌های PADI پاسخ دهد یا خیر. هنگامی که روی off تنظیم شود، pppoe-server پاسخ خواهد داد؛ در غیر این صورت بسته‌های PADI نادیده گرفته می‌شوند. این قابلیت امکان تخلیه (drain) کلاینت‌ها از pppoe-server را فراهم می‌کند. علاوه بر این، در صورت تنظیم روی quit، پس از اتمام کار تمام کلاینت‌های pppoe، به اجرای pppoe-server خاتمه می‌دهد. .PP این ویژگی ارتقای سیستم را (تقریباً) بدون وقفه ممکن می‌سازد؛ به این صورت که می‌توان قبل از راه‌اندازی نسخه جدید روی همان رابط‌ها، دستور "set drain quit" را برای نمونه جاری صادر کرد؛ در نتیجه ضمن حفظ وضعیت مناسب کلاینت‌های موجود، امکان برقراری اتصالات جدید فراهم می‌شود. .TP .B show status اطلاعات وضعیت پایه‌ای سرور pppoe-server متصل‌شده را نمایش می‌دهد. .SH "نویسندگان (AUTHORS)" برنامه \fBpppoe-server\fR توسط Dianne Skoll نوشته شده است. .PP صفحه خانگی \fBpppoe\fR در نشانی \fIhttps://dianne.skoll.ca/projects/rp-pppoe\fR قرار دارد. .SH "همچنین ببینید (SEE ALSO)" .BR pppd (8), .BR pppoe (8), .BR pppoe\-sniff (8), .BR pppoe\-relay (8)