PPPD(8) System Manager's Manual PPPD(8)

pppd - دیمن پروتکل نقطه به نقطه (Point-to-Point Protocol Daemon)

pppd [ options ]

پروتکل PPP برای برقراری پیوندهای اینترنتی روی مودم‌های شماره‌گیری (dial-up)، اتصال‌های DSL و بسیاری از انواع دیگر پیوندهای نقطه‌به‌نقطه استفاده می‌شود. دیمن pppd در کنار درایور PPP هسته کار می‌کند تا یک پیوند PPP با سیستمی دیگر (موسوم به peer یا طرف مقابل) برقرار و نگهداری کند و آدرس‌های پروتکل اینترنت (IP) را برای هر دو انتهای پیوند مذاکره نماید. همچنین pppd می‌تواند طرف مقابل را احراز هویت کرده و/یا اطلاعات احراز هویت را در اختیار طرف مقابل بگذارد. پروتکل PPP را می‌توان همراه با سایر پروتکل‌های شبکه علاوه بر IP نیز به کار برد، اما این کاربرد روزبه‌روز نادرتر می‌شود.

از پورت سریالی با نام ttyname برای برقراری ارتباط با طرف مقابل استفاده می‌کند. اگر ttyname با یک اسلش (/) آغاز نشود، رشته‌ی "/dev/" به ابتدای ttyname افزوده می‌شود تا نام دستگاهی که باید باز شود شکل گیرد. اگر نام دستگاهی مشخص نشود، یا اگر نام ترمینال متصل به ورودی استاندارد داده شود، pppd از همان ترمینال استفاده کرده و برای انتقال خود به پس‌زمینه fork نخواهد کرد. مقدار این گزینه اگر از یک منبع ممتاز تعیین شده باشد، توسط کاربر غیرممتاز قابل بازنویسی نیست.
گزینه‌ای که یک عدد ده‌دهی باشد، به عنوان نرخ باود (baud rate) مورد نظر برای دستگاه سریال در نظر گرفته می‌شود. روی سیستم‌هایی مانند Linux، 4.4BSD و NetBSD هر سرعتی را می‌توان مشخص کرد. سیستم‌های دیگر (مانند SunOS) فقط از نرخ‌های باود متداول پشتیبانی می‌کنند.
این گزینه مقدار جدول کاراکترهای کنترلی ناهمگام (Async-Control-Character-Map یا ACCM) را برای این سمت پیوند تنظیم می‌کند. جدول ACCM مجموعه‌ای از ۳۲ بیت است، یک بیت برای هر یک از کاراکترهای کنترلی ASCII با مقادیر ۰ تا ۳۱؛ که در آن بیت ۱ نشان می‌دهد کاراکتر کنترلی متناظر نباید در بسته‌های PPP ارسالی به این سیستم استفاده شود. این جدول به صورت یک عدد هگزادسیمال (بدون پیشوند 0x) کدگذاری می‌شود که در آن کم‌ارزش‌ترین بیت (00000001) نشان‌دهنده کاراکتر ۰ و پرارزش‌ترین بیت (80000000) نشان‌دهنده کاراکتر ۳۱ است. برنامه pppd از طرف مقابل می‌خواهد این کاراکترها را به عنوان یک دنباله گریز (escape sequence) دو بایتی ارسال کند. اگر چند گزینه asyncmap داده شود، مقادیر آن‌ها با هم OR می‌شوند. اگر گزینه asyncmap داده نشود، مقدار پیش‌فرض صفر است، بنابراین pppd از طرف مقابل می‌خواهد هیچ‌یک از کاراکترهای کنترلی را اسکیپ نکند. برای اسکیپ کردن کاراکترهای ارسالی، از گزینه escape استفاده کنید.
طرف مقابل را ملزم می‌کند پیش از اجازه ارسال یا دریافت بسته‌های شبکه، خود را احراز هویت کند. به دلایل امنیتی، این گزینه در صورتی که pppd توسط یک کاربر غیرممتاز اجرا شود به صورت پیش‌فرض فعال است، مگر آن‌که گزینه noauth اعمال شده باشد (از آنجا که noauth یک گزینه ممتاز است، باید از یک فایل تنظیمات ممتاز آمده باشد، نه از خط فرمان).
گزینه‌های اضافی را از فایل /etc/ppp/peers/name می‌خواند. این فایل ممکن است حاوی گزینه‌های ممتاز مانند noauth باشد، حتی اگر pppd توسط ریشه (root) اجرا نشده باشد. رشته name نباید با / آغاز شود یا شامل .. به عنوان جزئی از مسیر باشد. قالب فایل گزینه‌ها در ادامه شرح داده شده است.
معمولاً برای آماده‌سازی پیوند پیش از شروع پروتکل PPP کارهایی باید انجام شود؛ به عنوان مثال، در یک مودم شماره‌گیری (dial-up)، دستوراتی باید به مودم فرستاده شود تا شماره تلفن مناسب را شماره‌گیری کند. این گزینه دستوری را مشخص می‌کند که pppd (با ارسال آن به یک پوسته) پیش از تلاش برای شروع مذاکره PPP اجرا کند. برنامه chat(8) اغلب در اینجا مفید است، زیرا روشی برای ارسال رشته‌های دلخواه به مودم و پاسخ به کاراکترهای دریافتی فراهم می‌کند. مقدار این گزینه اگر از یک منبع ممتاز تعیین شده باشد، توسط کاربر غیرممتاز قابل بازنویسی نیست.
مشخص می‌کند که pppd باید پورت سریال را برای استفاده از کنترل جریان سخت‌افزاری با استفاده از سیگنال‌های RTS و CTS در رابط RS-232 تنظیم کند. اگر هیچ‌یک از گزینه‌های crtscts، nocrtscts، cdtrcts یا nocdtrcts داده نشوند، تنظیم کنترل جریان سخت‌افزاری برای پورت سریال بدون تغییر باقی می‌ماند. برخی پورت‌های سریال (مانند پورت‌های سریال Macintosh) فاقد خروجی واقعی RTS هستند. چنین پورت‌هایی از این حالت برای پیاده‌سازی کنترل جریان یک‌طرفه استفاده می‌کنند. پورت سریال در صورت درخواست مودم (از طریق CTS) ارسال را متوقف می‌کند اما قادر نخواهد بود از مودم بخواهد ارسال به رایانه را متوقف کند. این حالت امکان استفاده از DTR را به عنوان خط کنترل مودم حفظ می‌کند.
پس از تکمیل موفقیت‌آمیز مذاکره IPCP، یک مسیر پیش‌فرض (default route) با استفاده از طرف مقابل به عنوان گیت‌وی (gateway) به جدول‌های مسیریابی سیستم اضافه می‌کند. این مدخل با قطع اتصال PPP حذف می‌شود. این گزینه ممتاز است.
متریک (metric) مربوط به defaultroute را تعریف می‌کند. به طور پیش‌فرض، مسیر پیش‌فرض با متریک ۰ اضافه خواهد شد. این گزینه ممتاز است.
دستور مشخص‌شده توسط script را پس از پایان پیوند توسط pppd، با ارسال آن به یک پوسته اجرا می‌کند. این دستور می‌تواند به عنوان مثال در صورت عدم دسترسی به سیگنال‌های کنترل سخت‌افزاری مودم، دستوراتی را برای قطع تماس به مودم صادر کند. اگر مودم قبلاً تماس را قطع کرده باشد، اسکریپت disconnect اجرا نمی‌شود. مقدار این گزینه اگر از یک منبع ممتاز تعیین شده باشد، توسط کاربر غیرممتاز قابل بازنویسی نیست.
مشخص می‌کند که کاراکترهای خاصی هنگام ارسال اسکیپ (escape) شوند (صرف نظر از اینکه طرف مقابل با جدول کاراکترهای کنترلی ناهمگام خود درخواست اسکیپ آن‌ها را کرده باشد یا خیر). کاراکترهایی که باید اسکیپ شوند به صورت فهرستی از اعداد هگزادسیمال با کاما از هم جدا می‌شوند. توجه داشته باشید که تقریباً هر کاراکتری را می‌توان برای گزینه escape مشخص کرد، برخلاف گزینه asyncmap که فقط اجازه مشخص کردن کاراکترهای کنترلی را می‌دهد. کاراکترهایی که نمی‌توانند اسکیپ شوند آن‌هایی هستند که مقادیر هگز 0x20 تا 0x3f یا 0x5e دارند.
گزینه‌ها را از فایل name می‌خواند (قالب آن در ادامه توضیح داده شده است). این فایل باید برای کاربری که pppd را فراخوانی کرده قابل خواندن باشد.
دستور مشخص‌شده توسط script را با ارسال به یک پوسته برای مقداردهی اولیه خط سریال اجرا می‌کند. این اسکریپت معمولاً از برنامه chat(8) برای پیکربندی مودم جهت فعال‌سازی پاسخ‌گویی خودکار (auto answer) استفاده می‌کند. مقدار این گزینه اگر از یک منبع ممتاز تعیین شده باشد، توسط کاربر غیرممتاز قابل بازنویسی نیست.
مشخص می‌کند که pppd باید یک فایل قفل به سبک UUCP برای دستگاه سریال ایجاد کند تا از دسترسی انحصاری به دستگاه اطمینان حاصل شود. به طور پیش‌فرض، pppd فایل قفل ایجاد نمی‌کند.
مقدار MRU [حداکثر واحد دریافت یا Maximum Receive Unit] را روی n تنظیم می‌کند. برنامه pppd از طرف مقابل می‌خواهد بسته‌هایی با حداکثر n بایت ارسال کند. مقدار n باید بین ۱۲۸ و ۱۶۳۸۴ باشد؛ مقدار پیش‌فرض ۱۵۰۰ است. مقدار ۲۹۶ روی پیوندهای بسیار کند به خوبی کار می‌کند (۴۰ بایت برای سرآیند TCP/IP + ۲۵۶ بایت داده). توجه داشته باشید که برای پروتکل IPv6، مقدار MRU باید حداقل ۱۲۸۰ باشد.
مقدار MTU [حداکثر واحد انتقال یا Maximum Transmit Unit] را روی n تنظیم می‌کند. مگر اینکه طرف مقابل مقدار کمتری را از طریق مذاکره MRU درخواست کند، pppd درخواست می‌کند که کد شبکه هسته بسته‌های داده‌ای با حداکثر n بایت را از طریق رابط شبکه PPP ارسال کند. توجه داشته باشید که برای پروتکل IPv6، مقدار MTU باید حداقل ۱۲۸۰ باشد.
گزینه "passive" را در LCP فعال می‌کند. با این گزینه، pppd تلاش می‌کند یک اتصال را آغاز کند؛ اگر پاسخی از طرف مقابل دریافت نشود، pppd به جای خروج (همان‌طور که بدون این گزینه انجام می‌داد)، به سادگی به صورت غیرفعال (passive) منتظر یک بسته معتبر LCP از طرف مقابل می‌ماند.

<local_IP_address>:<remote_IP_address>
آدرس‌های IP رابط محلی و/یا راه‌دور را تنظیم می‌کند. هر کدام از آن‌ها را می‌توان حذف کرد. آدرس‌های IP را می‌توان با نام میزبان یا در قالب ده‌دهی نقطه‌دار (مانند 150.234.56.78) مشخص کرد. آدرس محلی پیش‌فرض، (اولین) آدرس IP سیستم است (مگر اینکه گزینه noipdefault داده شده باشد). آدرس راه‌دور اگر در هیچ گزینه‌ای مشخص نشده باشد از طرف مقابل دریافت خواهد شد. بنابراین، در موارد ساده، این گزینه الزامی نیست. اگر آدرس IP محلی و/یا راه‌دور با این گزینه مشخص شود، pppd مقدار متفاوتی را از طرف مقابل در مذاکره IPCP نخواهد پذیرفت، مگر اینکه به ترتیب گزینه‌های ipcp-accept-local و/یا ipcp-accept-remote داده شده باشند.
+ipv6
پروتکل‌های IPv6CP و IPv6 را فعال می‌کند.
شناسه ۶۴ بیتی رابط محلی و/یا راه‌دور را تنظیم می‌کند. هر کدام را می‌توان حذف کرد. شناسه باید در نماد استاندارد ASCII آدرس‌های IPv6 (مانند ::dead:beef) مشخص شود. اگر گزینه ipv6cp-use-ipaddr داده شود، شناسه محلی همان آدرس IPv4 محلی و شناسه راه‌دور همان آدرس IPv4 راه‌دور خواهد بود (به بالا مراجعه کنید). اگر گزینه ipv6cp-use-remotenumber داده شود، شناسه راه‌دور روی مقدار حاصل از گزینه remotenumber تنظیم می‌شود. روی سیستم‌هایی که از شناسه یکتای پایدار مانند EUI-48 مشتق‌شده از آدرس MAC اترنت پشتیبانی می‌کنند، گزینه ipv6cp-use-persistent را می‌توان برای تنظیم شناسه محلی به کار برد. در غیر این صورت هر دو شناسه محلی و راه‌دور به صورت تصادفی تعیین می‌شوند.
یک فیلتر بسته را مشخص می‌کند تا روی بسته‌های داده اعمال شده و مشخص شود کدام بسته‌ها باید به عنوان فعالیت پیوند در نظر گرفته شوند و در نتیجه تایمر بی‌کاری (idle timer) را بازنشانی کنند، یا باعث برقراری پیوند در حالت شماره‌گیری بر حسب تقاضا (demand-dialling) شوند. این گزینه در ترکیب با گزینه idle در صورتی مفید است که بسته‌هایی به طور منظم روی پیوند ارسال یا دریافت شوند (برای مثال، بسته‌های اطلاعات مسیریابی) که در غیر این صورت مانع از بی‌کار به نظر رسیدن پیوند می‌شدند. نحو filter-expression همان‌گونه است که برای tcpdump(1) شرح داده شده است، به جز اینکه مشخص‌کننده‌های نامناسب برای یک پیوند PPP مانند ether و arp مجاز نیستند. به طور کلی عبارت فیلتر باید درون نقل‌قول تکی (single-quotes) قرار گیرد تا از تفسیر فاصله‌های خالی عبارت توسط پوسته جلوگیری شود. این گزینه در حال حاضر فقط در لینوکس موجود است و نیازمند پیکربندی هسته با پشتیبانی از فیلترینگ PPP (گزینه CONFIG_PPP_FILTER) است. توجه داشته باشید که می‌توان با استفاده از مشخص‌کننده‌های inbound و outbound محدودیت‌های متفاوتی را برای بسته‌های ورودی و خروجی اعمال کرد.
به طرف‌های مقابل اجازه می‌دهد از آدرس IP یا زیرشبکه داده‌شده بدون نیاز به احراز هویت خود استفاده کنند. این پارامتر همانند هر یک از عناصر فهرست آدرس‌های IP مجاز در فایل‌های اسرار (secrets) پردازش می‌شود (بخش AUTHENTICATION را در ادامه ببینید).
به طرف‌های مقابل اجازه می‌دهد از شماره تلفن داده‌شده متصل شوند. یک کاراکتر `*' در انتها با تمام شماره‌هایی که با بخش ابتدایی آغاز می‌شوند مطابقت خواهد داشت.
درخواست می‌کند که طرف مقابل بسته‌های ارسالی خود را با استفاده از طرح BSD-Compress و با حداکثر اندازه کد nr بیت فشرده کند، و موافقت می‌کند که بسته‌های ارسالی به طرف مقابل با حداکثر اندازه کد nt بیت فشرده شوند. اگر nt مشخص نشود، به طور پیش‌فرض روی مقدار داده‌شده برای nr تنظیم می‌شود. مقادیر در محدوده ۹ تا ۱۵ را می‌توان برای nr و nt استفاده کرد؛ مقادیر بزرگتر فشرده‌سازی بهتری ارائه می‌دهند اما حافظه هسته بیشتری را برای دیکشنری‌های فشرده‌سازی مصرف می‌کنند. همچنین، مقدار ۰ برای nr یا nt فشرده‌سازی را در جهت متناظر غیرفعال می‌کند. برای غیرفعال کردن کامل فشرده‌سازی BSD-Compress از nobsdcomp یا bsdcomp 0 استفاده کنید.
(EAP-TLS یا PEAP) از فایل ca-file به عنوان فایل مرجع صدور گواهی X.509 (مرکز CA) در قالب PEM استفاده می‌کند که برای راه‌اندازی اتصال EAP-TLS لازم است. این گزینه در سمت کلاینت همراه با گزینه‌های cert و key استفاده می‌شود. برای PEAP وجود یکی از گزینه‌های ca یا capath الزامی است. همچنین EAP-TLS ممکن است از مدخل موجود در eaptls-client یا eaptls-server برای گواهی CA مرتبط با یک طرف مقابل خاص استفاده کند.
(EAP-TLS یا PEAP) مسیری را مشخص می‌کند که حاوی گواهی‌های عمومی CA است. برای PEAP وجود یکی از گزینه‌های ca یا capath الزامی است.
از یک کنترل جریان سخت‌افزاری غیر استاندارد (یعنی DTR/CTS) برای کنترل جریان داده‌ها روی پورت سریال استفاده می‌کند. اگر هیچ‌یک از گزینه‌های crtscts، nocrtscts، cdtrcts یا nocdtrcts داده نشوند، تنظیم کنترل جریان سخت‌افزاری برای پورت سریال بدون تغییر باقی می‌ماند. برخی پورت‌های سریال (مانند پورت‌های سریال Macintosh) فاقد خروجی واقعی RTS هستند. چنین پورت‌های سریالی از این حالت برای پیاده‌سازی کنترل جریان دوطرفه واقعی استفاده می‌کنند. تاوان این کار این است که این حالت کنترل جریان اجازه استفاده از DTR را به عنوان خط کنترل مودم نمی‌دهد.
(EAP-TLS) از فایل certfile به عنوان گواهی X.509 (در قالب PEM) استفاده می‌کند که برای راه‌اندازی اتصال EAP-TLS لازم است. این گزینه در سمت کلاینت همراه با گزینه‌های ca و key استفاده می‌شود.
اگر این گزینه داده شود، pppd هر n ثانیه یک‌بار طرف مقابل را مجدداً به چالش می‌کشد (rechallenge).
حداکثر تعداد ارسال‌های چالش CHAP را روی n تنظیم می‌کند (پیش‌فرض ۱۰).
بازه شروع مجدد CHAP (مهلت زمانی ارسال مجدد برای چالش‌ها) را روی n ثانیه تنظیم می‌کند (پیش‌فرض ۳).
مهلت زمانی احراز هویت CHAP توسط طرف مقابل را روی n ثانیه تنظیم می‌کند (پیش‌فرض ۶۰).
برخی کلاینت‌های Windows 9x/ME ممکن است دامنه مایکروسافت (MS domain) را پیش از نام کاربری در نام کلاینت ارائه‌شده ارسال کنند. این گزینه حذف دامنه از نام کلاینت را در سمت سرور پیش از تطبیق آن با فایل اسرار فعال می‌کند.
هنگام خروج، تا n ثانیه منتظر می‌ماند تا هر فرآیند فرزند (مانند دستور مشخص‌شده با دستور pty) پیش از خروج خاتمه یابد. در پایان این مهلت، pppd یک سیگنال SIGTERM به تمام فرآیندهای فرزند باقی‌مانده ارسال کرده و خارج می‌شود. مقدار ۰ به معنای عدم وجود مهلت زمانی است؛ یعنی pppd تا زمانی که تمام فرآیندهای فرزند خارج شوند منتظر می‌ماند.
پس از اتمام اسکریپت connect، تا n میلی‌ثانیه منتظر یک بسته معتبر PPP از طرف مقابل می‌ماند. در پایان این زمان، یا زمانی که یک بسته معتبر PPP از طرف مقابل دریافت شود، pppd با ارسال اولین بسته LCP خود مذاکره را آغاز می‌کند. مقدار پیش‌فرض ۱۰۰۰ (۱ ثانیه) است. این دوره انتظار تنها در صورتی اعمال می‌شود که گزینه connect یا pty استفاده شده باشد.
(EAP-TLS یا PEAP) از فایل filename به عنوان فهرست ابطال گواهی (Certificate Revocation List یا CRL) برای بررسی اعتبار گواهی طرف مقابل استفاده می‌کند. این گزینه برای راه‌اندازی اتصال TLS اجباری نیست. همچنین گزینه crl-dir را ببینید.
(EAP-TLS یا PEAP) از دایرکتوری directory برای اسکن فایل‌های CRL در قالب هش ($hash.r0) جهت بررسی اعتبار گواهی طرف مقابل استفاده می‌کند. این گزینه برای راه‌اندازی اتصال TLS اجباری نیست. همچنین گزینه crl را ببینید.
امکانات اشکال‌زدایی اتصال را فعال می‌کند. اگر این گزینه داده شود، pppd محتوای تمام بسته‌های کنترلی ارسالی یا دریافتی را به صورت خوانا ثبت (log) می‌کند. بسته‌ها از طریق syslog با بخش (facility) daemon و سطح debug ثبت می‌شوند. این اطلاعات را می‌توان با تنظیم مناسب /etc/syslog.conf به یک فایل هدایت کرد (به syslog.conf(5) مراجعه کنید).
مذاکره asyncmap را غیرفعال کرده و اسکیپ شدن تمام کاراکترهای کنترلی را هم برای جهت ارسال و هم جهت دریافت اجباری می‌کند.
مذاکره MRU [Maximum Receive Unit] را غیرفعال می‌کند. با این گزینه، pppd از مقدار پیش‌فرض MRU یعنی ۱۵۰۰ بایت برای هر دو جهت ارسال و دریافت استفاده خواهد کرد.
پس از تکمیل موفقیت‌آمیز مذاکره IPv6CP، یک مسیر پیش‌فرض IPv6 با استفاده از طرف مقابل به عنوان دروازه (Gateway) به جدول‌های مسیریابی سیستم اضافه می‌کند. این مدخل با قطع اتصال PPP حذف می‌شود. این گزینه دارای دسترسی ممتاز (Privileged) است. هشدار: این گزینه را به صورت پیش‌فرض فعال نکنید. جدول‌های مسیریابی IPv6 برخلاف IPv4 توسط هسته مدیریت می‌شوند و مسیر پیش‌فرض IPv6 به طور خودکار بر اساس بسته‌های اعلامیه مسیریاب ICMPv6 (Router Advertisement) توسط هسته پیکربندی می‌شود. این گزینه ممکن است با پیکربندی مسیر IPv6 در هسته تداخل ایجاد کند و فقط باید برای شبکه‌های نامعتبر یا دارای مشکل IPv6 استفاده شود.
معیار (Metric) گزینه defaultroute6 را تعریف می‌کند. به صورت پیش‌فرض، مسیر پیش‌فرض با متریک 0 اضافه خواهد شد. این گزینه دارای دسترسی ممتاز است.
از طرف مقابل درخواست می‌کند بسته‌های ارسالی خود را با استفاده از روش Deflate با حداکثر اندازه پنجره 2**nr بایت فشرده کند، و موافقت می‌کند بسته‌های ارسالی به طرف مقابل را با حداکثر اندازه پنجره 2**nt بایت فشرده نماید. اگر nt مشخص نشود، مقدار آن به طور پیش‌فرض برابر با مقدار داده‌شده برای nr خواهد بود. مقادیر در بازه 9 تا 15 می‌توانند برای nr و nt استفاده شوند؛ مقادیر بزرگ‌تر فشرده‌سازی بهتری ارائه می‌دهند اما حافظه هسته بیشتری را برای دیکشنری‌های فشرده‌سازی مصرف می‌کنند. همچنین، مقدار 0 برای nr یا nt فشرده‌سازی را در جهت مربوطه غیرفعال می‌کند. از nodeflate یا deflate 0 برای غیرفعال کردن کامل فشرده‌سازی Deflate استفاده کنید. (نکته: در صورتی که طرف مقابل از هر دو پشتیبانی کند، pppd فشرده‌سازی Deflate را به BSD-Compress ترجیح می‌دهد.)
اتصال را فقط در صورت نیاز (On demand)، یعنی هنگام وجود ترافیک داده، برقرار می‌کند. با این گزینه، آدرس IP راه دور می‌تواند توسط کاربر در خط فرمان یا در یک فایل گزینه‌ها مشخص شود، یا در غیر این صورت، pppd از یک آدرس دلخواه در محدوده 10.x.x.x استفاده خواهد کرد. pppd ابتدا رابط شبکه را پیکربندی کرده و آن را برای ترافیک IP بدون اتصال به طرف مقابل فعال می‌کند. هنگامی که ترافیک در دسترس باشد، pppd به طرف مقابل متصل شده و مذاکره، احراز هویت و غیره را انجام می‌دهد. با تکمیل این فرآیند، pppd انتقال بسته‌های داده (یعنی بسته‌های IP) را از طریق اتصال آغاز می‌کند.

گزینه demand مستلزم گزینه persist است. اگر این رفتار مورد نظر نیست، پس از گزینه demand از گزینه nopersist استفاده کنید. گزینه‌های idle و holdoff نیز در کنار گزینه demand کاربردی هستند.

نام دامنه d را برای اهداف احراز هویت به نام میزبان محلی اضافه می‌کند. به عنوان مثال، اگر ()gethostname نام porsche را برگرداند، اما نام کامل دامنه (FQDN) برابر با porsche.Quotron.COM باشد، می‌توانید domain Quotron.COM را مشخص کنید. سپس pppd از نام porsche.Quotron.COM برای جستجوی رمزها در فایل secrets و به عنوان نام پیش‌فرض جهت ارسال به طرف مقابل هنگام احراز هویت خود استفاده می‌کند. این گزینه دارای دسترسی ممتاز است.
با گزینه dryrun، برنامه pppd پس از تجزیه خط فرمان و فایل‌های گزینه‌ها و بررسی مقادیر آن‌ها، اما پیش از برقراری اتصال، تمام مقادیر گزینه‌های تنظیم‌شده را چاپ کرده و سپس خارج می‌شود. مقادیر گزینه‌ها در سطح info لاگ می‌شوند و همچنین در خروجی استاندارد چاپ خواهند شد، مگر اینکه دستگاه روی خروجی استاندارد همان دستگاهی باشد که pppd برای برقراری ارتباط با طرف مقابل استفاده می‌کند.
با گزینه dump، برنامه pppd تمام مقادیر گزینه‌هایی را که تنظیم شده‌اند چاپ می‌کند. این گزینه مشابه گزینه dryrun است، با این تفاوت که pppd به جای خروج، به روال عادی خود ادامه می‌دهد.
حساب‌رسی نشست (Session Accounting) را از طریق PAM یا wtmp/wtmpx بسته به شرایط فعال می‌کند. هنگامی که PAM فعال باشد، پشته‌های ماژول "account" و "session" در PAM رفتار را تعیین کرده و برای تمام پروتکل‌های احراز هویت PPP فعال می‌شوند. هنگامی که PAM غیرفعال باشد، رکوردهای wtmp/wtmpx بدون توجه به اینکه نام طرف مقابل یک کاربر معتبر در سیستم محلی را مشخص می‌کند یا خیر ثبت می‌شوند، که باعث می‌شود طرف‌های مقابل در لاگ (1)last قابل مشاهده باشند. این ویژگی هنگام استفاده از گزینه login در pppd به صورت خودکار فعال می‌شود. حساب‌رسی نشست به صورت پیش‌فرض غیرفعال است.
تشخیص‌دهنده نقطه پایانی (Endpoint Discriminator) ارسالی توسط ماشین محلی به طرف مقابل در طول مذاکره چندپیوندی (Multilink) را روی <epdisc> تنظیم می‌کند. حالت پیش‌فرض، استفاده از آدرس MAC اولین رابط اترنت روی سیستم (در صورت وجود) است، وگرنه آدرس IPv4 متناظر با نام میزبان (در صورت وجود) استفاده می‌شود، به شرطی که در محدوده‌های آدرس IP چندپخشی (Multicast) یا آدرس‌های محلی، یا آدرس localhost نباشد. تشخیص‌دهنده نقطه پایانی می‌تواند رشته null یا به صورت type:value باشد که در آن type یک عدد ده‌دهی یا یکی از رشته‌های local، IP، MAC، magic یا phone است. مقدار (value) برای نوع IP یک آدرس IP با نماد نقطه‌دار-ده‌دهی (Dotted-decimal) است، یا برای سایر انواع یک رشته از بایت‌ها به صورت هگزادسیمال است که با نقطه یا دونقطه از هم جدا شده‌اند. برای نوع MAC، مقدار می‌تواند نام یک رابط شبکه اترنت یا مشابه آن نیز باشد. این گزینه در حال حاضر فقط در لینوکس در دسترس است.
اگر این گزینه مشخص شود و pppd احراز هویت طرف مقابل را با EAP انجام دهد (یعنی سرور باشد)، pppd احراز هویت EAP را هر n ثانیه بازراه‌اندازی می‌کند. برای EAP SRP-SHA1، گزینه srp-interval را نیز ببینید که چالش مجدد سبک را فعال می‌کند.
حداکثر تعداد درخواست‌های EAP را تعیین می‌کند که pppd (به عنوان کلاینت) بدون دریافت موفقیت یا شکست EAP به آن‌ها پاسخ خواهد داد (پیش‌فرض 20 است).
حداکثر تعداد درخواست‌های EAP را تعیین می‌کند که pppd (به عنوان سرور) در حین تلاش برای احراز هویت صادر خواهد کرد (پیش‌فرض 10 است).
مهلت زمانی ارسال مجدد (Retransmit timeout) برای درخواست‌های EAP را هنگام عمل به عنوان سرور (احراز هویت‌کننده) تنظیم می‌کند (پیش‌فرض 3 ثانیه است).
حداکثر زمان انتظار برای ارسال درخواست EAP از سوی طرف مقابل را هنگام عمل به عنوان کلاینت (احراز هویت‌شونده) تعیین می‌کند (پیش‌فرض 20 ثانیه است).
هنگام ثبت لاگ محتویات بسته‌های PAP، این گزینه باعث می‌شود pppd رشته رمز عبور را از لاگ حذف کند. این حالت پیش‌فرض است.
مشخص می‌کند پس از قطع اتصال، چند ثانیه قبل از برقراری مجدد اتصال صبر شود. این گزینه تنها در صورتی اثرگذار است که از گزینه persist یا demand استفاده شده باشد. دوره وقفه (Holdoff) در صورتی که اتصال به دلیل بیکار بودن، پایان زمان اتصال، قطع تماس مودم یا درخواست کاربر قطع شده باشد، اعمال نمی‌شود.
مشخص می‌کند در صورتی که اتصال به مدت n ثانیه بیکار باشد، pppd باید اتصال را قطع کند. اتصال زمانی بیکار است که هیچ بسته داده‌ای (یعنی بسته‌های IP) ارسال یا دریافت نشود. توجه: استفاده از این گزینه همراه با گزینه persist بدون استفاده از گزینه demand توصیه نمی‌شود. اگر گزینه active-filter مشخص شده باشد، بسته‌های داده‌ای که توسط فیلتر فعالیت رد می‌شوند نیز به عنوان بیکار بودن اتصال محاسبه خواهند شد.
با این گزینه، pppd آدرس IP محلی پیشنهادی از سوی طرف مقابل را می‌پذیرد، حتی اگر آدرس IP محلی در یک گزینه مشخص شده باشد.
با این گزینه، pppd آدرس IP راه دور پیشنهادی از سوی طرف مقابل را می‌پذیرد، حتی اگر آدرس IP راه دور در یک گزینه مشخص شده باشد.
حداکثر تعداد ارسال‌های configure-request در پروتکل IPCP را روی n تنظیم می‌کند (پیش‌فرض 10).
حداکثر تعداد configure-NAKهای بازگردانده شده در IPCP قبل از شروع به ارسال configure-Reject به جای آن را روی n تنظیم می‌کند (پیش‌فرض 10).
حداکثر تعداد ارسال‌های terminate-request در پروتکل IPCP را روی n تنظیم می‌کند (پیش‌فرض 3).
مذاکره آدرس‌ها را از طریق گزینه IP-Address در IPCP غیرفعال می‌کند.
مذاکره آدرس‌ها را از طریق گزینه قدیمی و منسوخ‌شده IP-Addresses در IPCP غیرفعال می‌کند. برنامه pppd به طور پیش‌فرض تلاش می‌کند از گزینه سبک جدید IP-Address در IPCP استفاده کند. اگر سبک جدید توسط طرف مقابل پشتیبانی نشود یا با گزینه ipcp-no-address غیرفعال شده باشد، pppd به گزینه قدیمی و منسوخ‌شده IP-Addresses در IPCP بازمی‌گردد. هنگامی که هر دو سبک جدید و قدیم با گزینه‌های ipcp-no-address و ipcp-no-addresses غیرفعال شده باشند، مذاکره آدرس‌های IP به طور کامل غیرفعال می‌شود.
بازه بازراه‌اندازی IPCP (مهلت زمانی ارسال مجدد) را روی n ثانیه تنظیم می‌کند (پیش‌فرض 3).
یک پارامتر اضافی برای بیشتر اسکریپت‌های اعلان، به ویژه اسکریپت‌های ip-up، ip-pre-up، ip-down، ipv6-up، ipv6-down، auth-up و auth-down فراهم می‌کند. اگر این گزینه مشخص شود، رشته string داده‌شده به عنوان ششمین پارامتر به این اسکریپت‌ها ارسال می‌شود.
با این گزینه، pppd شناسه رابط IPv6 محلی پیشنهادی از سوی طرف مقابل را می‌پذیرد، حتی اگر شناسه رابط IPv6 محلی در یک گزینه مشخص شده باشد.
با این گزینه، pppd شناسه رابط IPv6 راه دور پیشنهادی از سوی طرف مقابل را می‌پذیرد، حتی اگر شناسه رابط IPv6 راه دور در یک گزینه مشخص شده باشد.
به pppd اجازه می‌دهد بدون داشتن آدرس محلی پیوند (Link-local) IPv6 برای طرف مقابل عمل کند. این گزینه فقط در لینوکس در دسترس است. به طور معمول، pppd شناسه رابط IPv6 طرف مقابل (که برای ساخت آدرس محلی پیوند IPv6 استفاده می‌شود) را درخواست می‌کند، و اگر طرف مقابل آن را ارائه ندهد، pppd یکی برای آن ایجاد خواهد کرد. با این گزینه، اگر طرف مقابل شناسه رابط IPv6 خود را ارائه ندهد، pppd آن را از طرف مقابل درخواست نکرده و آدرس محلی پیوند IPv6 مقصد رابط ppp را تنظیم نمی‌کند. در این وضعیت، رابط ppp می‌تواند با ایجاد مسیرهای دستگاهی برای مسیریابی استفاده شود، اما خود طرف مقابل را نمی‌توان مستقیماً برای ترافیک IPv6 آدرس‌دهی کرد تا زمانی که طرف مقابل شروع به اعلام بسته‌های ICMPv6 Router Advertisement یا ICMPv6 Neighbor Advertisement کند. توجه داشته باشید که مسیریاب IPv6 باید بسته‌های ICMPv6 Router Advertisement را اعلام کند.
شناسه رابط IPv6 محلی ما را در طول مذاکره شناسه رابط IPv6 به طرف مقابل ارسال نمی‌کند.
حداکثر تعداد ارسال‌های configure-request در پروتکل IPv6CP را روی n تنظیم می‌کند (پیش‌فرض 10).
حداکثر تعداد configure-NAKهای بازگردانده شده در IPv6CP قبل از شروع به ارسال configure-Reject به جای آن را روی n تنظیم می‌کند (پیش‌فرض 10).
حداکثر تعداد ارسال‌های terminate-request در پروتکل IPv6CP را روی n تنظیم می‌کند (پیش‌فرض 3).
بازه بازراه‌اندازی IPv6CP (مهلت زمانی ارسال مجدد) را روی n ثانیه تنظیم می‌کند (پیش‌فرض 3).
کد اشکال‌زدایی (Debugging) را در درایور PPP سطح هسته فعال می‌کند. مقادیر آرگومان به درایور خاص هسته بستگی دارد، اما به طور کلی مقدار 1 پیام‌های عمومی اشکال‌زدایی هسته را فعال می‌کند. (توجه داشته باشید که این پیام‌ها معمولاً فقط برای اشکال‌زدایی خود درایور هسته مفید هستند.) برای درایور هسته لینوکس 2.2.x، این مقدار مجموع بیت‌ها است: 1 برای فعال کردن پیام‌های عمومی اشکال‌زدایی، 2 برای درخواست چاپ محتویات بسته‌های دریافتی، و 4 برای درخواست چاپ محتویات بسته‌های ارسالی. در بیشتر سیستم‌ها، پیام‌های چاپ‌شده توسط هسته مطابق با دستورالعمل‌های فایل پیکربندی /etc/syslog.conf توسط (1)syslog در یک فایل ثبت می‌شوند.
(EAP-TLS) از فایل keyfile به عنوان فایل کلید خصوصی (در قالب PEM) استفاده می‌کند که برای راه‌اندازی اتصال EAP-TLS لازم است. این گزینه در سمت کلاینت در کنار گزینه‌های ca و cert استفاده می‌شود.
به pppd امکان می‌دهد تنظیمات هسته را بر حسب نیاز تغییر دهد. در لینوکس، در صورت استفاده از گزینه proxyarp، pppd فورواردینگ IP را فعال می‌کند (یعنی /proc/sys/net/ipv4/ip_forward را روی 1 قرار می‌دهد)، و در حالت demand در صورتی که آدرس محلی تغییر کند، گزینه آدرس IP پویا را فعال می‌کند (یعنی /proc/sys/net/ipv4/ip_dynaddr را روی 1 قرار می‌دهد).
اگر این گزینه به همراه گزینه lcp-echo-failure استفاده شود، pppd فریم‌های LCP echo-request را تنها در صورتی ارسال می‌کند که از زمان ارسال آخرین echo-request هیچ ترافیکی از طرف مقابل دریافت نشده باشد.
اگر این گزینه مشخص شود، در صورتی که n فریم LCP echo-request بدون دریافت یک LCP echo-reply معتبر ارسال شود، pppd طرف مقابل را قطع‌شده (مرده) فرض خواهد کرد. در صورت وقوع این حالت، pppd اتصال را قطع می‌کند. استفاده از این گزینه مستلزم مقدار غیرصفر برای پارامتر lcp-echo-interval است. این گزینه می‌تواند برای این استفاده شود که به pppd امکان دهد پس از قطع اتصال فیزیکی (مانند قطع تماس مودم) در شرایطی که خطوط کنترل سخت‌افزاری مودم در دسترس نیستند، اتصال را خاتمه دهد.
اگر این گزینه مشخص شود، pppd هر n ثانیه یک فریم LCP echo-request به طرف مقابل ارسال می‌کند. به طور معمول طرف مقابل باید با ارسال echo-reply به echo-request پاسخ دهد. این گزینه می‌تواند همراه با گزینه lcp-echo-failure برای تشخیص قطع شدن ارتباط طرف مقابل استفاده شود.
حداکثر تعداد ارسال‌های configure-request در پروتکل LCP را روی n تنظیم می‌کند (پیش‌فرض 10).
حداکثر تعداد configure-NAKهای بازگردانده شده در LCP قبل از شروع به ارسال configure-Reject به جای آن را روی n تنظیم می‌کند (پیش‌فرض 10).
حداکثر تعداد ارسال‌های terminate-request در پروتکل LCP را روی n تنظیم می‌کند (پیش‌فرض 3).
بازه بازراه‌اندازی LCP (مهلت زمانی ارسال مجدد) را روی n ثانیه تنظیم می‌کند (پیش‌فرض 3).
فایلی را تنظیم می‌کند که زمان رفت و برگشت (RTT) فریم‌های LCP echo-request در آن ثبت خواهد شد.
نام منطقی پیوند را روی name تنظیم می‌کند. برنامه pppd فایلی به نام ppp-name.pid در /var/run (یا /etc/ppp در برخی سیستم‌ها) حاوی شناسه فرآیند (PID) خود ایجاد خواهد کرد. این می‌تواند در تشخیص اینکه کدام نمونه از pppd مسئول پیوند به یک سیستم طرف مقابل مشخص است مفید باشد. این یک گزینه دارای دسترسی ممتاز است.
از خطوط کنترل مودم استفاده نمی‌کند. با این گزینه، pppd وضعیت سیگنال CD (تشخیص حامل یا Carrier Detect) از مودم را نادیده می‌گیرد و وضعیت سیگنال DTR (آماده بودن ترمینال داده یا Data Terminal Ready) را تغییر نمی‌دهد. این برعکس گزینه modem است.
پیام‌های لاگ را به توصیف‌کننده فایل (File Descriptor) شماره n ارسال می‌کند. برنامه pppd پیام‌های لاگ را حداکثر به یک فایل یا توصیف‌کننده فایل ارسال می‌کند (علاوه بر ارسال پیام‌های لاگ به syslog)، بنابراین این گزینه و گزینه logfile مانعةالجمع (ناسازگار با یکدیگر) هستند. حالت پیش‌فرض برای pppd ارسال پیام‌های لاگ به stdout (توصیف‌کننده فایل 1) است، مگر اینکه پورت سریال از قبل روی stdout باز شده باشد.
پیام‌های لاگ را به انتهای فایل filename اضافه می‌کند (علاوه بر ارسال پیام‌های لاگ به syslog). این فایل با دسترسی‌های کاربری که pppd را اجرا کرده است، در حالت الحاق (Append mode) باز می‌شود.
از پایگاه‌داده رمزهای عبور سیستم برای احراز هویت طرف مقابل با استفاده از PAP استفاده می‌کند، و کاربر را در فایل wtmp سیستم ثبت می‌نماید. توجه داشته باشید که طرف مقابل برای اجازه دسترسی باید هم در فایل /etc/ppp/pap-secrets و هم در پایگاه‌داده رمز عبور سیستم مدخلی داشته باشد. گزینه enable-session را نیز ببینید.
اگر چندپیوندی (Multilink) فعال باشد و این فرآیند pppd سرگروه (Master) دسته چندپیوندی باشد، و پیوند تحت کنترل این فرآیند pppd قطع شود، این فرآیند pppd برای حفظ دسته به اجرای خود ادامه می‌دهد. اگر گزینه master_detach داده شده باشد، pppd در این وضعیت از ترمینال کنترل‌کننده خود جدا می‌شود، حتی اگر گزینه nodetach داده شده باشد.
هنگامی که اتصال به مدت n ثانیه برای ترافیک شبکه در دسترس بوده است (یعنی n ثانیه پس از بالا آمدن اولین پروتکل کنترل شبکه)، اتصال را قطع می‌کند.
پس از n تلاش ناموفق متوالی برای برقراری اتصال، فرآیند را خاتمه می‌دهد. مقدار 0 به معنای نامحدود است. مقدار پیش‌فرض 10 است.
(EAP-TLS یا PEAP) حداکثر نسخه مجاز TLS استفاده‌شده در طول مذاکره با طرف مقابل را پیکربندی می‌کند. مقدار پیش‌فرض برای این مورد 1.2 است. مقادیر مجاز برای این گزینه عبارتند از 1.0، 1.1، 1.2، 1.3.
از خطوط کنترل مودم استفاده می‌کند. این گزینه پیش‌فرض است. با این گزینه، pppd هنگام باز کردن دستگاه سریال منتظر فعال شدن سیگنال CD (تشخیص حامل) از مودم می‌ماند (مگر اینکه اسکریپت اتصال مشخص شده باشد)، و هنگام قطع اتصال و قبل از اجرای اسکریپت اتصال، سیگنال DTR (آماده بودن ترمینال داده) را برای مدت کوتاهی غیرفعال می‌کند. در Ultrix، این گزینه به معنای کنترل جریان سخت‌افزاری است، مشابه گزینه crtscts. این برعکس گزینه local است.
استفاده از چندپیوندی (multilink) در PPP را فعال می‌کند؛ این یک نام مستعار برای گزینه multilink است. این گزینه در حال حاضر فقط در لینوکس در دسترس است.
به MPPE اجازه می‌دهد از حالت با‌وضعیت (stateful) استفاده کند. ابتدا همچنان برای حالت بدون‌وضعیت (stateless) تلاش می‌شود. حالت پیش‌فرض، عدم اجازه به حالت با‌وضعیت است.
استفاده از شماره‌های توالی کوتاه (۱۲ بیتی) را در سرآیندهای چندپیوندی (در مقایسه با شماره‌های توالی ۲۴ بیتی) فعال می‌کند. این گزینه فقط در لینوکس در دسترس است و تنها در صورتی تأثیر دارد که چندپیوندی فعال باشد (گزینه multilink را ببینید).
واحد بیشینه دریافت بازسازی‌شده (Maximum Reconstructed Receive Unit) را به n تنظیم می‌کند. MRRU حداکثر اندازه یک بسته دریافتی روی یک دسته چندپیوندی (multilink bundle) است و مشابه MRU برای پیوندهای مجزا عمل می‌کند. این گزینه در حال حاضر فقط در لینوکس در دسترس است و تنها در صورتی تأثیر دارد که چندپیوندی فعال باشد (گزینه multilink را ببینید).
اگر pppd به عنوان سرور برای کلاینت‌های مایکروسافت ویندوز عمل کند، این گزینه به pppd اجازه می‌دهد یک یا دو آدرس DNS (سرور نام دامنه) را به کلاینت‌ها ارائه دهد. اولین نمونه از این گزینه، آدرس DNS اصلی را مشخص می‌کند؛ دومین نمونه (در صورت وجود) آدرس DNS ثانویه را تعیین می‌کند. (این گزینه در برخی نسخه‌های قدیمی‌تر pppd با نام dns-addr وجود داشت.)
اگر pppd به عنوان سرور برای کلاینت‌های مایکروسافت ویندوز یا "Samba" عمل کند، این گزینه به pppd اجازه می‌دهد یک یا دو آدرس سرور WINS (سرویس‌های نام اینترنتی ویندوز) را به کلاینت‌ها ارائه دهد. اولین نمونه از این گزینه، آدرس WINS اصلی را مشخص می‌کند؛ دومین نمونه (در صورت وجود) آدرس WINS ثانویه را تعیین می‌کند.
استفاده از پروتکل چندپیوندی PPP را فعال می‌کند. اگر طرف مقابل (peer) نیز از چندپیوندی پشتیبانی کند، این پیوند می‌تواند بخشی از یک دسته (bundle) میان سیستم محلی و طرف مقابل شود. اگر دسته‌ای از قبل به سمت طرف مقابل وجود داشته باشد، pppd این پیوند را به آن دسته اضافه می‌کند، در غیر این صورت pppd یک دسته جدید ایجاد خواهد کرد. بخش MULTILINK را در ادامه ببینید. این گزینه در حال حاضر فقط در لینوکس در دسترس است.
نام سیستم محلی را برای اهداف احراز هویت روی name تنظیم می‌کند. این یک گزینه ممتاز (دارای دسترسی ویژه) است. با این گزینه، pppd هنگام جستجوی یک رمز در پرونده‌های secrets برای احراز هویت طرف مقابل، از خطوطی استفاده می‌کند که name فیلد دوم آن‌ها است. علاوه بر این، مگر اینکه با گزینه user لغو شود، از name به عنوان نام ارسالی به طرف مقابل هنگام احراز هویت سیستم محلی استفاده خواهد شد. (توجه داشته باشید که pppd نام دامنه را به name اضافه نمی‌کند.)
ماسک شبکه IPv4 را روی رابط PPP به mask داده‌شده تنظیم می‌کند، که می‌تواند به صورت نشانه‌گذاری چهارگان نقطه‌دار (dotted-quad) یا به صورت یک عدد هگزادسیمال منفرد با پیشوند 0x مشخص شود. این گزینه معمولاً مورد نیاز نیست زیرا رابط PPP یک اتصال نقطه-به-نقطه است، اما در برخی شرایط خاص می‌تواند مفید باشد.
فشرده‌سازی آدرس/کنترل (Address/Control compression) را در هر دو جهت (ارسال و دریافت) غیرفعال می‌کند.
(EAP-TLS) طرف مقابل را ملزم می‌کند اعتبارنامه‌های احراز هویت ما را تأیید کند.
طرف مقابل را ملزم به احراز هویت خود نمی‌کند. این یک گزینه ممتاز است.
فشرده‌سازی BSD-Compress را غیرفعال می‌کند؛ دستور pppd برای فشرده‌سازی بسته‌ها با استفاده از طرح BSD-Compress درخواست نخواهد داد و با آن موافقت نخواهد کرد.
مذاکره پروتکل کنترل فشرده‌سازی (CCP - Compression Control Protocol) را غیرفعال می‌کند. این گزینه تنها زمانی باید استفاده شود که طرف مقابل دارای باگ باشد و با درخواست‌های pppd برای مذاکره CCP دچار سردرگمی شود.
کنترل جریان سخت‌افزاری (یعنی RTS/CTS) را روی پورت سریال غیرفعال می‌کند. اگر هیچ‌یک از گزینه‌های crtscts، nocrtscts، cdtrcts یا nocdtrcts داده نشود، تنظیم کنترل جریان سخت‌افزاری برای پورت سریال بدون تغییر باقی می‌ماند.
این گزینه مترادفی برای nocrtscts است. هر یک از این گزینه‌ها هر دو شکل کنترل جریان سخت‌افزاری را غیرفعال خواهند کرد.
گزینه defaultroute را غیرفعال می‌کند.
گزینه defaultroute6 را غیرفعال می‌کند.
فشرده‌سازی Deflate را غیرفعال می‌کند؛ pppd برای فشرده‌سازی بسته‌ها با استفاده از طرح Deflate درخواست نخواهد داد و با آن موافقت نخواهد کرد.
از ترمینال کنترل‌کننده جدا نمی‌شود. بدون این گزینه، اگر یک دستگاه سریال غیر از ترمینال روی ورودی استاندارد مشخص شده باشد، pppd فرآیند را منشعب (fork) کرده و به یک فرآیند پس‌زمینه تبدیل می‌شود.
ارسال متمایزکننده نقطه پایانی (endpoint discriminator) به طرف مقابل یا پذیرش آن از طرف مقابل توسط pppd را غیرفعال می‌کند (بخش MULTILINK را در ادامه ببینید). این گزینه تنها در صورتی باید استفاده شود که طرف مقابل دارای اشکال (buggy) باشد.
مذاکره IPCP و ارتباط IP را غیرفعال می‌کند. این گزینه فقط در صورتی لازم است که طرف مقابل دارای باگ باشد و با درخواست‌های pppd برای مذاکره IPCP دچار اختلال شود.
مذاکره IPv6CP و ارتباط IPv6 را غیرفعال می‌کند. این گزینه فقط در صورتی لازم است که طرف مقابل دارای باگ باشد و با درخواست‌های pppd برای مذاکره IPv6CP دچار اختلال شود.
رفتار پیش‌فرض در زمان عدم تعیین آدرس IP محلی را غیرفعال می‌کند، که عبارت است از تعیین آدرس IP محلی (در صورت امکان) از طریق نام میزبان (hostname). با این گزینه، طرف مقابل باید در طول مذاکره IPCP آدرس IP محلی را ارائه دهد (مگر اینکه به صراحت در خط فرمان یا در پرونده تنظیمات مشخص شده باشد).
عکس گزینه ktune؛ تغییر تنظیمات سیستم توسط pppd را غیرفعال می‌کند.
عکس گزینه lock؛ مشخص می‌کند که pppd نباید یک پرونده قفل به سبک UUCP برای دستگاه سریال ایجاد کند. این یک گزینه ممتاز است.
پیام‌های لاگ را به یک پرونده یا توصیف‌کننده پرونده (file descriptor) ارسال نمی‌کند. این گزینه اثر گزینه‌های logfd و logfile را لغو می‌کند.
مذاکره شماره جادویی (magic number) را غیرفعال می‌کند. با این گزینه، pppd نمی‌تواند یک خط حلقه‌شده (loopback) را تشخیص دهد. این گزینه فقط زمانی مورد نیاز است که طرف مقابل دارای باگ باشد.
استفاده از چندپیوندی PPP را غیرفعال می‌کند. این گزینه در حال حاضر فقط در لینوکس در دسترس است.
رمزگذاری نقطه به نقطه مایکروسافت (MPPE - Microsoft Point to Point Encryption) را غیرفعال می‌کند. این حالت پیش‌فرض است.
nomppe-40
رمزگذاری ۴۰ بیتی با MPPE را غیرفعال می‌کند.
nomppe-128
رمزگذاری ۱۲۸ بیتی با MPPE را غیرفعال می‌کند.
nomppe-stateful
حالت با‌وضعیت MPPE را غیرفعال می‌کند. این حالت پیش‌فرض است.
استفاده از شماره‌های توالی کوتاه (۱۲ بیتی) در پروتکل چندپیوندی PPP را غیرفعال کرده و استفاده از شماره‌های توالی ۲۴ بیتی را اجباری می‌کند. این گزینه در حال حاضر فقط در لینوکس در دسترس است و تنها در صورتی تأثیر دارد که چندپیوندی فعال باشد.
استفاده از چندپیوندی PPP را غیرفعال می‌کند. این گزینه در حال حاضر فقط در لینوکس در دسترس است.
مذاکره فشرده‌سازی فیلد پروتکل را در هر دو جهت دریافت و ارسال غیرفعال می‌کند.
پس از برقراری و پایان اتصال، خارج می‌شود. این رفتار پیش‌فرض است مگر اینکه گزینه persist یا demand مشخص شده باشد.
فشرده‌سازی Predictor-1 را نمی‌پذیرد و با آن موافقت نمی‌کند.
گزینه proxyarp را غیرفعال می‌کند. مدیر سیستمی که می‌خواهد از ایجاد ورودی‌های پروکسی ARP با pppd توسط کاربران جلوگیری کند، می‌تواند با قرار دادن این گزینه در پرونده /etc/ppp/options این کار را انجام دهد.
به pppd اجازه می‌دهد بدون داشتن آدرس IP برای طرف مقابل کار کند. این گزینه فقط در لینوکس در دسترس است. در حالت عادی، pppd آدرس IP طرف مقابل را درخواست می‌کند و اگر طرف مقابل آن را ارائه ندهد، pppd از یک آدرس دلخواه در زیرشبکه 10.x.x.x استفاده خواهد کرد. با این گزینه، اگر طرف مقابل آدرس IP خود را ارائه ندهد، pppd آن را از طرف مقابل درخواست نمی‌کند و آدرس مقصد رابط ppp را تنظیم نخواهد کرد. در این وضعیت، رابط ppp می‌تواند با ایجاد مسیرهای دستگاه (device routes) برای مسیریابی استفاده شود، اما خود طرف مقابل را نمی‌توان مستقیماً برای ترافیک IP آدرس‌دهی کرد.
در طول مذاکره آدرس IP، آدرس IP محلی ما را به طرف مقابل ارسال نمی‌کند.
در حالت عادی، pppd به یک دستگاه ترمینال نیاز دارد. با این گزینه، pppd یک جفت ترمینال مجازی (pseudo-tty) از نوع master/slave برای خود تخصیص می‌دهد و از slave به عنوان دستگاه ترمینال خود استفاده می‌کند. دستور pppd یک فرآیند فرزند ایجاد خواهد کرد تا به عنوان یک انحراف‌دهنده کاراکتر ('character shunt') برای انتقال کاراکترها بین بخش master ترمینال مجازی و ورودی و خروجی استاندارد خود عمل کند. بنابراین pppd حتی اگر ورودی و خروجی دستگاه‌های ترمینال نباشند، کاراکترها را روی خروجی استاندارد خود ارسال کرده و از ورودی استاندارد دریافت می‌کند. این گزینه تاخیر و بار پردازشی (CPU overhead) انتقال داده روی رابط ppp را افزایش می‌دهد زیرا تمام کاراکترهای ارسالی و دریافتی باید از فرآیند انحراف‌دهنده کاراکتر عبور کنند. در صورت استفاده از این گزینه، نمی‌توان نام دستگاه صریحی را مشخص کرد.
فشرده‌سازی سرآیند TCP/IP به سبک Van Jacobson را در هر دو جهت ارسال و دریافت غیرفعال می‌کند.
گزینه فشرده‌سازی شناسه اتصال (connection-ID) را در فشرده‌سازی سرآیند TCP/IP به سبک Van Jacobson غیرفعال می‌کند. با این گزینه، pppd بایت شناسه اتصال را از سرآیندهای TCP/IP فشرده‌شده با روش Van Jacobson حذف نخواهد کرد و از طرف مقابل نیز چنین درخواستی نخواهد داشت.
نشان می‌دهد که تمامی رمزهای موجود در پرونده /etc/ppp/pap-secrets که برای بررسی هویت طرف مقابل استفاده می‌شوند، رمزگذاری شده‌اند، و بنابراین pppd نباید گذرواژه‌ای را بپذیرد که قبل از رمزگذاری، با رمز موجود در پرونده /etc/ppp/pap-secrets یکسان باشد.
حداکثر تعداد ارسال‌های درخواست احراز هویت PAP (authenticate-request) را به n تنظیم می‌کند (پیش‌فرض ۱۰).
بازه زمانی راه‌اندازی مجدد PAP (مهلت زمانی ارسال مجدد) را به n ثانیه تنظیم می‌کند (پیش‌فرض ۳).
حداکثر زمانی را که pppd منتظر می‌ماند تا طرف مقابل هویت خود را با PAP تأیید کند به n ثانیه تنظیم می‌کند (۰ به معنای نامحدود است).
یک فیلتر بسته را برای اعمال روی بسته‌های داده ارسالی یا دریافتی تعیین می‌کند تا مشخص شود چه بسته‌هایی اجازه عبور دارند. بسته‌هایی که توسط فیلتر رد می‌شوند بدون اعلام دور ریخته می‌شوند. از این گزینه می‌توان برای جلوگیری از مصرف پهنای باند پیوند توسط دیمن‌های شبکه خاص (مانند routed) یا فراهم کردن یک قابلیت فایروال بسیار ابتدایی استفاده کرد. سینتکس filter-expression همان‌طور که برای tcpdump(1) توضیح داده شده است می‌باشد، با این استثنا که توصیف‌کننده‌های نامناسب برای پیوند PPP، مانند ether و arp، مجاز نیستند. به طور کلی عبارت فیلتر باید داخل نقل‌قول تک (تک‌کوتیشن) قرار گیرد تا از تفسیر فاصله‌های خالی داخل عبارت توسط شل جلوگیری شود. توجه داشته باشید که با استفاده از توصیف‌کننده‌های inbound و outbound می‌توان محدودیت‌های متفاوتی را برای بسته‌های ورودی و خروجی اعمال کرد. این گزینه در حال حاضر فقط در لینوکس در دسترس است و مستلزم آن است که هسته با پشتیبانی از فیلترینگ PPP پیکربندی شده باشد (CONFIG_PPP_FILTER).
گذرواژه مورد استفاده برای احراز هویت نزد طرف مقابل را مشخص می‌کند. استفاده از این گزینه توصیه نمی‌شود، زیرا گذرواژه احتمالاً برای سایر کاربران سیستم قابل مشاهده خواهد بود (به عنوان مثال، با استفاده از ps(1)).
پس از خاتمه یافتن یک اتصال خارج نمی‌شود؛ در عوض برای بازگشایی مجدد اتصال تلاش می‌کند. گزینه maxfail همچنان روی اتصالات پایدار (persistent) تأثیرگذار است.
پرونده شیء کتابخانه اشتراکی filename را به عنوان یک افزونه (plugin) بارگذاری می‌کند. این یک گزینه ممتاز است. اگر filename شامل یک اسلش (/) نباشد، pppd در دایرکتوری /usr/lib/pppd/version به دنبال افزونه می‌گردد، که در آن version شماره نسخه pppd است (به عنوان مثال 2.4.2).
درخواست می‌کند که طرف مقابل فریم‌های ارسالی خود را با استفاده از فشرده‌سازی Predictor-1 فشرده کند، و در صورت درخواست با فشرده‌سازی فریم‌های ارسالی با Predictor-1 موافقت می‌کند. این گزینه تأثیری ندارد مگر اینکه درایور هسته از فشرده‌سازی Predictor-1 پشتیبانی کند.
به اعضای گروه group-name اجازه می‌دهد از گزینه‌های ممتاز استفاده کنند. این یک گزینه ممتاز است. استفاده از این گزینه نیاز به دقت دارد زیرا هیچ تضمینی وجود ندارد که اعضای group-name نتوانند با استفاده از pppd خود به کاربر ریشه (root) تبدیل شوند. این کار را معادل قرار دادن اعضای group-name در گروه kmem یا disk در نظر بگیرید.
یک ورودی به جدول ARP [پروتکل تفکیک آدرس] این سیستم با آدرس IP طرف مقابل و آدرس اترنت این سیستم اضافه می‌کند. این کار باعث می‌شود طرف مقابل برای سایر سیستم‌ها به گونه‌ای به نظر برسد که گویی روی اترنت محلی قرار دارد.
مشخص می‌کند که به جای یک دستگاه ترمینال خاص، از دستور script برای برقراری ارتباط استفاده شود. دستور pppd یک جفت ترمینال مجازی (pseudo-tty) از نوع master/slave برای خود تخصیص داده و از بخش slave به عنوان دستگاه ترمینال خود استفاده می‌کند. اسکریپت script در یک فرآیند فرزند با استفاده از بخش master ترمینال مجازی به عنوان ورودی و خروجی استاندارد آن اجرا خواهد شد. در صورت استفاده از این گزینه، نمی‌توان نام دستگاه صریحی را مشخص کرد. (توجه: اگر گزینه record همراه با گزینه pty استفاده شود، فرآیند فرزند دارای لوله‌ها (pipes) روی ورودی و خروجی استاندارد خود خواهد بود.)

مهم است توجه داشته باشید که اسکریپت با ارسال به /bin/sh با استفاده از -c اجرا خواهد شد، به طوری که اگر اسکریپت شامل آرگومان‌هایی باشد ممکن است /bin/sh سعی در تفسیر آن کند، و بنابراین هر آرگومانی باید اسکیپ شود تا از بسط شل (shell expansion) جلوگیری گردد.

با این گزینه، pppd تمام کاراکترهای کنترلی طرف مقابل را می‌پذیرد، از جمله مواردی که در asyncmap دریافتی علامت‌گذاری شده‌اند. بدون این گزینه، pppd آن کاراکترها را همان‌طور که در RFC1662 مشخص شده است دور می‌اندازد. این گزینه فقط زمانی مورد نیاز است که طرف مقابل دارای باگ باشد.
مشخص می‌کند که pppd باید تمام کاراکترهای ارسالی و دریافتی را در پرونده‌ای به نام filename ثبت کند. این پرونده در حالت الحاق (append mode)، با استفاده از شناسه کاربری و دسترسی‌های کاربر باز می‌شود. این گزینه با استفاده از یک ترمینال مجازی (pseudo-tty) و فرآیندی برای انتقال کاراکترها بین ترمینال مجازی و دستگاه سریال واقعی پیاده‌سازی شده است، بنابراین تاخیر و بار پردازشی (CPU overhead) انتقال داده روی رابط ppp را افزایش می‌دهد. کاراکترها در یک قالب برچسب‌گذاری‌شده همراه با برچسب زمان (timestamp) ذخیره می‌شوند که می‌توان با استفاده از برنامه pppdump(8) آن‌ها را به شکل خوانا نمایش داد.
نام فرضی سیستم راه دور را برای اهداف احراز هویت روی name تنظیم می‌کند.
شماره تلفن فرضی سیستم راه دور را برای اهداف احراز هویت روی number تنظیم می‌کند.
با این گزینه، pppd با احراز هویت خود نزد طرف مقابل با استفاده از CHAP موافقت نخواهد کرد.
با این گزینه، pppd با احراز هویت خود نزد طرف مقابل با استفاده از MS-CHAP موافقت نخواهد کرد.
با این گزینه، pppd با احراز هویت خود نزد طرف مقابل با استفاده از MS-CHAPv2 موافقت نخواهد کرد.
با این گزینه، pppd با احراز هویت خود نزد طرف مقابل با استفاده از EAP موافقت نخواهد کرد.
با این گزینه، pppd موافقت نخواهد کرد که با استفاده از PAP هویت خود را برای طرف مقابل (peer) احراز کند.
طرف مقابل را ملزم می‌کند که هویت خود را با استفاده از احراز هویت CHAP [پروتکل احراز هویت دست‌تکانی چالشی] احراز کند.
استفاده از MPPE (رمزنگاری نقطه به نقطه مایکروسافت) را الزامی می‌کند. این گزینه تمام انواع دیگر فشرده‌سازی را غیرفعال می‌سازد. این گزینه هم رمزنگاری ۴۰ بیتی و هم ۱۲۸ بیتی را فعال می‌کند. برای بالا آمدن موفقیت‌آمیز MPPE، باید هویت شما با MS-CHAP یا MS-CHAPv2 احراز شده باشد. این گزینه در حال حاضر فقط در لینوکس پشتیبانی می‌شود و تنها در صورتی که هسته شما برای داشتن پشتیبانی از MPPE پیکربندی شده باشد.
استفاده از MPPE را با رمزنگاری ۴۰ بیتی الزامی می‌کند.
استفاده از MPPE را با رمزنگاری ۱۲۸ بیتی الزامی می‌کند.
طرف مقابل را ملزم می‌کند که هویت خود را با استفاده از احراز هویت MS-CHAP [پروتکل احراز هویت دست‌تکانی چالشی مایکروسافت] احراز کند.
طرف مقابل را ملزم می‌کند که هویت خود را با استفاده از احراز هویت MS-CHAPv2 [پروتکل احراز هویت دست‌تکانی چالشی مایکروسافت، نسخه ۲] احراز کند.
طرف مقابل را ملزم می‌کند که هویت خود را با استفاده از احراز هویت EAP [پروتکل احراز هویت توسعه‌پذیر] احراز کند.
طرف مقابل را ملزم می‌کند که هویت خود را با استفاده از احراز هویت PAP [پروتکل احراز هویت با گذرواژه] احراز کند.
یک متغیر محیطی برای اسکریپت‌هایی که توسط pppd فراخوانی می‌شوند تنظیم می‌کند. هنگامی که از یک منبع دارای امتیاز (privileged) تنظیم شود، متغیر مشخص‌شده با name نمی‌تواند توسط گزینه‌های موجود در یک منبع فاقد امتیاز تغییر کند. همچنین گزینه unset و محیط شرح داده شده در SCRIPTS را ببینید.
هنگام ثبت وقایع (لاگ کردن) محتویات بسته‌های PAP، این گزینه باعث می‌شود pppd رشته گذرواژه را در پیام لاگ نمایش دهد.
با این گزینه، pppd تا زمانی که یک بسته معتبر LCP از طرف مقابل دریافت نکند، بسته‌های LCP را برای شروع اتصال ارسال نخواهد کرد (مانند گزینه `passive` در نسخه‌های بسیار قدیمی pppd).
اگر این پارامتر داده شود و pppd از EAP SRP-SHA1 برای احراز هویت طرف مقابل استفاده کند (یعنی سرور باشد)، در این صورت pppd از سازوکار اختیاری و سبک چالش مجدد SRP در فواصل زمانی n ثانیه استفاده خواهد کرد. این گزینه از احراز هویت مجدد eap-interval سریع‌تر است، زیرا از یک سازوکار مبتنی بر هش استفاده می‌کند و کلید نشست جدیدی مشتق نمی‌سازد.
راز تولید نام مستعار (pseudonym) بلندمدت را برای سرور تنظیم می‌کند. این مقدار اختیاری است و در صورت تنظیم، فقط باید در سمت سرور (احراز هویت‌کننده) مشخص باشد و برای هر سرور (یا مجموعه‌ای از سرورهای یکسان) باید متفاوت باشد. این مقدار همراه با تاریخ جاری برای تولید کلیدی جهت رمزنگاری و رمزگشایی هویت کلاینت موجود در نام مستعار استفاده می‌شود.
هنگام کار به عنوان کلاینت EAP SRP-SHA1، تلاش می‌کند تا ابتدا از نام مستعار ذخیره‌شده در ~/.ppp_pseudonym به عنوان هویت استفاده کند و هر نام مستعار ارائه‌شده توسط طرف مقابل در حین احراز هویت را در این فایل ذخیره نماید.
تعداد بیت‌های توقف (stop bits) را برای درگاه سریال تنظیم می‌کند. مقادیر معتبر 1 یا 2 هستند. مقدار پیش‌فرض 1 است.
به جای کدگذاری ناهمگام (asynchronous)، از کدگذاری سریال همگام (synchronous) HDLC استفاده می‌کند. دستگاهی که توسط pppd با این گزینه استفاده می‌شود باید از حالت همگام پشتیبانی کند. در حال حاضر از آداپتورهای Microgate SyncLink در لینوکس و FreeBSD 2.2.8 و بالاتر پشتیبانی می‌کند.
(در EAP-TLS یا PEAP) مقدار مشخص‌شده برای remotename را با نام موضوع (subject name)، نام مشترک (common name) یا پسوند نام مشترک گواهی‌های X509 تطبیق می‌دهد. مقادیر مجاز مربوطه برای این گزینه عبارتند از: none، subject، name یا suffix. مقدار پیش‌فرض این گزینه name است.
(در EAP-TLS یا PEAP) بررسی هدف گواهی طرف مقابل و ویژگی‌های استفاده گسترده از کلید (extended key usage) را فعال می‌کند.
شماره واحد ppp را (برای نام رابط مانند ppp0 یا ppp1 و غیره) برای اتصالات خروجی تنظیم می‌کند. اگر این واحد از قبل در حال استفاده باشد، از یک شماره تخصیص‌یافته به صورت پویا استفاده خواهد شد.
نام رابط ppp را برای اتصالات خروجی تنظیم می‌کند. اگر نام رابط قبلاً در حال استفاده باشد یا به هر دلیل دیگری نتوان از آن نام استفاده کرد، pppd متوقف خواهد شد.
رابط ppp را به نمونه موجود VRF (مسیریابی و هدایت مجازی) به نام name در لینوکس متصل (bind) می‌کند. مسیرهای نصب‌شده توسط pppd به جای جدول پیش‌فرض، به جدول مسیریابی VRF با نام name وارد می‌شوند. این گزینه فقط در سیستم‌های لینوکسی که از VRF پشتیبانی می‌کنند در دسترس است.
یک متغیر را از متغیرهای محیطی برای اسکریپت‌هایی که توسط pppd فراخوانی می‌شوند حذف می‌کند. هنگامی که از یک منبع دارای امتیاز مشخص شود، متغیر name نمی‌تواند توسط گزینه‌های موجود در یک منبع فاقد امتیاز تنظیم گردد. همچنین گزینه set و محیط شرح داده شده در SCRIPTS را ببینید.
با این گزینه، pppd پس از برقراری موفقیت‌آمیز اتصال ppp (تا نقطه‌ای که اولین پروتکل کنترل شبکه، معمولاً پروتکل کنترل IP، بالا بیاید) از ترمینال کنترل‌کننده خود جدا خواهد شد (detach).
از این گزینه برای اجرای pppd در واحدهای سرویس systemd از نوع Type=notify استفاده کنید (up_sdnotify به معنای ضمنی nodetach است). هنگامی که up_sdnotify فعال باشد، pppd پس از برقراری موفقیت‌آمیز اتصال ppp (تا نقطه‌ای که اولین پروتکل کنترل شبکه، معمولاً پروتکل کنترل IP، بالا بیاید) به systemd اطلاع می‌دهد. این گزینه تنها در صورتی در دسترس است که pppd با پشتیبانی از systemd کامپایل شده باشد.
استفاده از hostname (با نام دامنه الحاق‌شده به آن، در صورت وجود) را به عنوان نام سیستم محلی برای اهداف احراز هویت اجباری می‌کند (گزینه name را بازنویسی می‌کند). این گزینه معمولاً مورد نیاز نیست، زیرا گزینه name دارای امتیاز است.
از طرف مقابل تا ۲ نشانی سرور DNS را درخواست می‌کند. نشانی‌های ارائه‌شده توسط طرف مقابل (در صورت وجود) در متغیرهای محیطی DNS1 و DNS2 به اسکریپت /etc/ppp/ip-up منتقل می‌شوند و متغیر محیطی USEPEERDNS روی 1 تنظیم خواهد شد. علاوه بر این، pppd فایلی به نام /etc/ppp/resolv.conf شامل یک یا دو خط nameserver با نشانی(های) ارائه‌شده توسط طرف مقابل ایجاد خواهد کرد (مگر اینکه گزینه noresolvconf مشخص شده باشد).
از طرف مقابل تا ۲ نشانی سرور WINS را درخواست می‌کند. نشانی‌های ارائه‌شده توسط طرف مقابل (در صورت وجود) در متغیرهای محیطی WINS1 و WINS2 به اسکریپت /etc/ppp/ip-up منتقل می‌شوند و متغیر محیطی USEPEERWINS روی 1 تنظیم خواهد شد.

لطفاً توجه داشته باشید که برخی مودم‌ها (مانند Huawei E220) برای جلوگیری از شرایط رقابتی (race condition) که منجر به انتساب نادرست سرورهای DNS می‌شود، به این گزینه نیاز دارند.

فایل /etc/ppp/resolv.conf را ایجاد نمی‌کند.
نام مورد استفاده برای احراز هویت سیستم محلی در برابر طرف مقابل را روی name تنظیم می‌کند.
تعداد اسلات‌های اتصال مورد استفاده توسط کد فشرده‌سازی و فشرده‌گشایی سرآیند TCP/IP ون یاکوبسون (Van Jacobson) را روی n تنظیم می‌کند که باید بین 2 و 16 (شامل خود آن‌ها) باشد.
فایل اجرایی یا دستور شل مشخص‌شده با script را قبل از شروع مذاکره PPP و پس از پایان اسکریپت connect (در صورت وجود) اجرا می‌کند. مقداری که برای این گزینه از یک منبع دارای امتیاز تعیین شده باشد، نمی‌تواند توسط یک کاربر فاقد امتیاز لغو یا بازنویسی شود.
از کنترل جریان نرم‌افزاری (یعنی XON/XOFF) برای کنترل جریان داده‌ها در درگاه سریال استفاده می‌کند.

برای برقراری پیوند PPP بر روی اترنت (PPPoE) لازم است افزونه plugin pppoe.so در pppd بارگذاری شود و سپس گزینه nic-interface به جای گزینه‌های مودم ttyname و speed مشخص گردد. گزینه‌های شناخته‌شده PPPoE در pppd عبارتند از:

از دستگاه اترنت interface برای برقراری ارتباط با طرف مقابل استفاده می‌کند. برای مثال، برقراری پیوند PPPoE روی رابط eth0 با مشخص کردن گزینه nic-eth0 در pppd انجام می‌شود. در صورتی که نام رابط غیرمبهم باشد و شبیه به هیچ‌یک از گزینه‌های دیگر pppd نباشد، می‌توان از پیشوند nic- برای این گزینه صرف‌نظر کرد.
به نام سرویس PPPoE مشخص‌شده متصل می‌شود. برای سازگاری با گذشته، نام گزینه rp_pppoe_service نیز پشتیبانی می‌شود.
به نام متمرکزکننده دسترسی (access concentrator) PPPoE مشخص‌شده متصل می‌شود. برای سازگاری با گذشته، نام گزینه rp_pppoe_ac نیز پشتیبانی می‌شود.
به یک نشست موجود PPPoE متصل می‌شود. برای سازگاری با گذشته، نام گزینه rp_pppoe_sess نیز پشتیبانی می‌شود.
اطلاعات تفصیلی درباره متمرکزکننده‌های دسترسی کشف‌شده ارائه می‌دهد. اگر روی مقدار 2 یا بزرگتر تنظیم شود، بسته‌های اکتشافی (discovery packets) را نیز دامپ می‌کند. برای سازگاری با گذشته، نام گزینه rp_pppoe_verbose نیز پشتیبانی می‌شود.
به نشانی MAC مشخص‌شده متصل می‌شود.
تگ Host-Uniq در PPPoE را روی رشته هگزادسیمال ارائه‌شده تنظیم می‌کند. به طور پیش‌فرض، تگ Host-Uniq در PPPoE روی PID فرآیند pppd تنظیم شده است. برای سازگاری با گذشته، این گزینه می‌تواند بدون پیشوند pppoe- نیز مشخص شود.
مهلت زمانی اولیه (timeout) برای بسته‌های اکتشافی بر حسب ثانیه (پیش‌فرض 5).
تعداد تلاش‌های اکتشافی (پیش‌فرض 3).

گزینه‌ها می‌توانند علاوه بر خط فرمان، از فایل‌ها نیز دریافت شوند. pppd قبل از پردازش گزینه‌ها در خط فرمان، گزینه‌ها را از فایل‌های /etc/ppp/options، ~/.ppprc و /etc/ppp/options.ttyname (به همین ترتیب) می‌خواند. (در واقع، گزینه‌های خط فرمان ابتدا پیمایش می‌شوند تا نام ترمینال قبل از خوانده شدن فایل options.ttyname پیدا شود.) در تشکیل نام فایل options.ttyname، عبارت اولیه /dev/ از نام ترمینال حذف شده و هرگونه کاراکتر / باقیمانده با نقطه جایگزین می‌شود.

یک فایل گزینه‌ها به مجموعه‌ای از کلمات که با فاصله سفید (whitespace) از هم جدا شده‌اند تجزیه می‌شود. فاصله سفید می‌تواند با قرار دادن کلمه در علامت نقل‌قول دوتایی (") درون کلمه گنجانده شود. یک بک‌اسلش (\) کاراکتر بعدی را نقل‌قول (escape) می‌کند. علامت هش (#) شروع یک توضیح (کامنت) است که تا پایان خط ادامه دارد. هیچ محدودیتی برای استفاده از گزینه‌های file یا call درون یک فایل گزینه‌ها وجود ندارد.

pppd کنترل دسترسی کافی را برای مدیران سیستم فراهم می‌کند تا دسترسی PPP به یک ماشین سرور بتواند در اختیار کاربران مجاز قرار گیرد بدون اینکه ترسی از به خطر افتادن امنیت سرور یا شبکه‌ای که در آن قرار دارد وجود داشته باشد. این کنترل از طریق اعمال محدودیت بر نشانی‌های IP که طرف مقابل ممکن است استفاده کند بر اساس هویت احراز شده آن (در صورت وجود)، و از طریق محدودیت بر گزینه‌هایی که یک کاربر فاقد امتیاز می‌تواند استفاده کند، فراهم می‌شود. چندین گزینه از pppd دارای امتیاز (privileged) هستند، به ویژه گزینه‌هایی که پیکربندی‌های بالقوه ناامن را ممکن می‌سازند؛ این گزینه‌ها تنها در فایل‌هایی پذیرفته می‌شوند که تحت کنترل مدیر سیستم باشند، یا در صورتی که pppd توسط root اجرا شود.

اگر pppd توسط یک کاربر فاقد امتیاز اجرا شود، به طور پیش‌فرض طرف مقابل باید هویت خود را احراز کند، و نشانی(های) IP که ممکن است استفاده کند توسط ورودی فایل secrets که برای احراز هویت آن به کار رفته، کنترل می‌شود. برای اینکه الزامی به احراز هویت طرف مقابل نباشد، یا باید pppd توسط root اجرا شود یا یک فایل گزینه‌های دارای امتیاز حاوی گزینه noauth فراخوانی گردد.

همان‌طور که در بالا اشاره شد، برخی از گزینه‌های حساس به امنیت دارای امتیاز هستند، به این معنی که یک کاربر عادی فاقد امتیاز که pppd را با مجوز setuid-root اجرا می‌کند، چه در خط فرمان، چه در فایل ~/.ppprc کاربر، یا در فایل گزینه‌های خوانده‌شده با گزینه file، نمی‌تواند از آن‌ها استفاده کند. گزینه‌های دارای امتیاز ممکن است در فایل /etc/ppp/options یا در یک فایل گزینه‌های خوانده‌شده با گزینه call استفاده شوند. اگر pppd توسط کاربر root اجرا شود، گزینه‌های دارای امتیاز بدون محدودیت قابل استفاده خواهند بود.

هنگام باز کردن دستگاه، pppd بسته به اینکه نام دستگاه توسط کاربر مشخص شده باشد یا مدیر سیستم، از شناسه کاربری (UID) کاربر فراخواننده یا UID ریشه (یعنی 0) استفاده می‌کند. اگر نام دستگاه از یک منبع دارای امتیاز آمده باشد، یعنی /etc/ppp/options یا یک فایل گزینه‌های خوانده‌شده با گزینه call، pppd هنگام باز کردن دستگاه از امتیازات کامل root استفاده می‌کند. بنابراین، با ایجاد یک فایل مناسب در مسیر /etc/ppp/peers، مدیر سیستم می‌تواند به کاربران اجازه دهد از طریق دستگاهی که معمولاً مجوز دسترسی به آن را ندارند، یک اتصال ppp برقرار کنند. در غیر این صورت، pppd هنگام باز کردن دستگاه از UID واقعی کاربر فراخواننده استفاده می‌کند.

برای جلوگیری از احتمال به خطر افتادن فایل‌های گزینه‌های دارای امتیاز، فایل‌های secrets و سایر فایل‌های حاوی اطلاعات حساس، pppd قبل از باز کردن این فایل‌ها بررسی مسیر را روی آن‌ها انجام می‌دهد. این کار شامل ترجمه ابتدایی مسیر فایل به یک مسیر مطلق واقعی و فاقد پیوندهای نمادین (symlinks) یا مولفه‌های ".." است. سپس هر مولفه از ریشه به پایین بررسی می‌شود تا اطمینان حاصل شود که مالک آن root است و مجوزهای آن اجازه نوشتن توسط گروه یا دیگران را نمی‌دهد. عدم رعایت این الزامات باعث می‌شود که pppd با یک پیام خطای مناسب خارج شود.

احراز هویت فرآیندی است که طی آن یک طرف، طرف دیگر را از هویت خود مطمئن می‌سازد. این فرآیند شامل ارسال نام طرف اول به دیگری همراه با نوعی اطلاعات محرمانه است که فقط می‌تواند از سوی کاربر مجاز و واقعی آن نام ارائه شود. در چنین تبادلی، طرف اول را "کلاینت" و دیگری را "سرور" می‌نامیم. کلاینت دارای نامی است که با آن خود را به سرور معرفی می‌کند و سرور نیز دارای نامی است که با آن خود را به کلاینت معرفی می‌نماید. عموماً کلاینت واقعی رازی (یا گذرواژه‌ای) را با سرور به اشتراک می‌گذارد و با اثبات اینکه آن راز را می‌داند، هویت خود را احراز می‌کند. در بیشتر موارد، نام‌های مورد استفاده برای احراز هویت با نام میزبان اینترنتی (hostname) طرفین مطابقت دارند، اما این امر ضروری نیست.

در حال حاضر، pppd از سه پروتکل احراز هویت پشتیبانی می‌کند: پروتکل احراز هویت با گذرواژه (PAP)، پروتکل احراز هویت دست‌تکانی چالشی (CHAP) و پروتکل احراز هویت توسعه‌پذیر (EAP). در PAP، کلاینت برای احراز هویت خود، نام و گذرواژه متنی رمزنشده (cleartext) خود را به سرور ارسال می‌کند. در مقابل، سرور تبادل احراز هویت CHAP را با ارسال یک چالش به کلاینت آغاز می‌کند (بسته چالش شامل نام سرور است). کلاینت باید با پاسخی که شامل نام آن به علاوه یک مقدار هش مشتق‌شده از راز مشترک و چالش است پاسخ دهد تا اثبات کند که آن راز را می‌داند. EAP از احراز هویت به سبک CHAP پشتیبانی می‌کند و همچنین شامل سازوکار SRP-SHA1 است که در برابر حملات مبتنی بر واژه‌نامه مقاوم بوده و به گذرواژه متنی رمزنشده در سمت سرور نیازی ندارد.

پروتکل PPP با توجه به متقارن بودن، به هر دو طرف اجازه می‌دهد تا از دیگری درخواست احراز هویت کنند. در این حالت، دو تبادل احراز هویت جداگانه و مستقل رخ خواهد داد. این دو تبادل می‌توانند از پروتکل‌های احراز هویت متفاوتی استفاده کنند و در اصل، نام‌های متفاوتی می‌توانند در این دو تبادل به کار روند.

رفتار پیش‌فرض pppd این است که در صورت درخواست، با احراز هویت موافقت کند. با این حال، اگر pppd هیچ رازی نداشته باشد که بتواند برای احراز هویت با یک پروتکل خاص از آن استفاده کند، با احراز هویت با آن پروتکل موافقت نخواهد کرد.

برنامه pppd اطلاعات محرمانه (secrets) مورد استفاده در احراز هویت را در فایل‌های secrets ذخیره می‌کند (/etc/ppp/pap-secrets برای PAP، فایل /etc/ppp/chap-secrets برای CHAP، MS-CHAP، MS-CHAPv2 و EAP MD5-Challenge، و /etc/ppp/srp-secrets برای EAP SRP-SHA1). تمام فایل‌های secrets قالب یکسانی دارند. فایل‌های secrets می‌توانند هم شامل اطلاعات محرمانه برای استفاده pppd در احراز هویت خود در برابر سیستم‌های دیگر باشند و هم اطلاعات محرمانه برای استفاده pppd هنگام احراز هویت سیستم‌های دیگر در برابر خود.

هر خط در یک فایل secrets شامل یک راز است. یک راز معین مختص ترکیب خاصی از کلاینت و سرور است؛ تنها می‌تواند توسط همان کلاینت برای احراز هویت در برابر همان سرور استفاده شود. بنابراین هر خط در یک فایل secrets حداقل ۳ فیلد دارد: نام کلاینت، نام سرور و راز. این فیلدها ممکن است با فهرستی از نشانی‌های IP دنبال شوند که کلاینت مشخص‌شده هنگام اتصال به سرور مشخص‌شده مجاز به استفاده از آن‌هاست.

یک فایل secrets مانند فایل گزینه‌ها به کلمات تجزیه می‌شود، بنابراین فیلدهای نام کلاینت، نام سرور و راز باید هر کدام یک کلمه باشند و هرگونه فاصله یا نویسه‌های خاص دیگر درون آن‌ها باید در نقل‌قول قرار گرفته یا اسکیپ شوند. توجه داشته باشید که بزرگی و کوچکی حروف در نام کلاینت، نام سرور و راز اهمیت دارد.

اگر راز با یک `@` شروع شود، آنچه در ادامه می‌آید نام فایلی فرض می‌شود که راز باید از آن خوانده شود. نویسه "*" به عنوان نام کلاینت یا سرور با هر نامی مطابقت دارد. هنگام انتخاب یک راز، pppd بهترین تطابق، یعنی تطابقی با کمترین نویسه‌های عام (wildcards) را انتخاب می‌کند.

هر کلمه بعدی در همان خط به عنوان فهرستی از نشانی‌های IP قابل قبول برای آن کلاینت در نظر گرفته می‌شود. اگر فقط ۳ کلمه در خط وجود داشته باشد، یا اگر کلمه اول "-" باشد، تمام نشانی‌های IP غیرمجاز هستند. برای مجاز کردن هر نشانی، از "*" استفاده کنید. کلمه‌ای که با "!" شروع می‌شود نشان می‌دهد که نشانی مشخص‌شده قابل قبول نیست. یک نشانی ممکن است با "/" و یک عدد n دنبال شود تا یک زیرشبکه کامل را نشان دهد، یعنی تمام نشانی‌هایی که در n بیت باارزش‌تر دارای مقدار یکسانی هستند. در این حالت، نشانی ممکن است با علامت مثبت ("+") دنبال شود تا نشان دهد بر اساس شماره واحد رابط شبکه ppp در حال استفاده، یک نشانی از زیرشبکه مجاز است. در این حالت، بخش میزبان (host) نشانی روی شماره واحد به علاوه یک تنظیم خواهد شد.

بنابراین یک فایل secrets هم شامل اطلاعات محرمانه برای استفاده در احراز هویت سایر میزبان‌ها است و هم شامل اطلاعات محرمانه‌ای که برای احراز هویت خودمان در برابر دیگران استفاده می‌کنیم. هنگامی که pppd در حال احراز هویت طرف مقابل است (بررسی هویت طرف مقابل)، رازی را انتخاب می‌کند که نام طرف مقابل در فیلد اول و نام سیستم محلی در فیلد دوم آن باشد. نام سیستم محلی به طور پیش‌فرض همان hostname است که در صورت استفاده از گزینه domain، نام دامنه به آن الحاق می‌شود. این مقدار پیش‌فرض می‌تواند با گزینه name بازنویسی شود، مگر زمانی که از گزینه usehostname استفاده شده باشد. (برای EAP SRP-SHA1، ابزار srp-entry(8) را برای تولید ورودی‌های اعتبارسنج مناسب جهت استفاده در فیلد "secret" ببینید.)

هنگامی که pppd در حال انتخاب یک راز برای استفاده در احراز هویت خود در برابر طرف مقابل است، ابتدا مشخص می‌کند که از چه نامی برای معرفی خود به طرف مقابل استفاده خواهد کرد. این نام می‌تواند توسط کاربر با گزینه user مشخص شود. اگر از این گزینه استفاده نشود، نام به طور پیش‌فرض همان نام سیستم محلی خواهد بود که به روش شرح داده شده در پاراگراف قبل تعیین می‌شود. سپس pppd به دنبال رازی می‌گردد که این نام در فیلد اول و نام طرف مقابل در فیلد دوم آن قرار داشته باشد. اگر از احراز هویت CHAP یا EAP استفاده شود، pppd نام طرف مقابل را خواهد دانست، زیرا طرف مقابل آن را در بسته چالش ارسال کرده است. با این حال، اگر از PAP استفاده شود، pppd باید نام طرف مقابل را از روی گزینه‌های مشخص‌شده توسط کاربر تعیین کند. کاربر می‌تواند مستقیماً نام طرف مقابل را با گزینه remotename مشخص کند. در غیر این صورت، اگر نشانی IP دوردست با یک نام (به جای فرم عددی) مشخص شده باشد، آن نام به عنوان نام طرف مقابل استفاده خواهد شد. در غیر این صورت، pppd از رشته تهی (null string) به عنوان نام طرف مقابل استفاده خواهد کرد.

هنگام احراز هویت طرف مقابل با PAP، گذرواژه ارائه‌شده ابتدا با راز موجود در فایل secrets مقایسه می‌شود. اگر گذرواژه با راز مطابقت نداشته باشد، گذرواژه با استفاده از crypt() رمزنگاری شده و دوباره با راز تطبیق داده می‌شود. بنابراین اطلاعات محرمانه برای احراز هویت طرف مقابل در صورت تمایل می‌توانند به صورت رمزنگاری‌شده ذخیره شوند. اگر گزینه papcrypt داده شود، برای امنیت بهتر از مقایسه اول (رمزنشده) صرف‌نظر می‌شود.

علاوه بر این، اگر گزینه login مشخص شده باشد، نام کاربری و گذرواژه با پایگاه داده گذرواژه سیستم نیز بررسی می‌شوند. بنابراین، مدیر سیستم می‌تواند فایل pap-secrets را به گونه‌ای تنظیم کند که دسترسی PPP تنها به کاربران خاصی داده شود و مجموعه‌ای از نشانی‌های IP که هر کاربر می‌تواند استفاده کند محدود گردد. معمولاً هنگام استفاده از گزینه login، مقدار راز در /etc/ppp/pap-secrets برابر "" خواهد بود که با هر گذرواژه ارائه‌شده توسط طرف مقابل مطابقت دارد. این کار از نیاز به نگهداری راز یکسان در دو مکان جلوگیری می‌کند.

احراز هویت باید قبل از شروع IPCP (یا هر پروتکل کنترل شبکه دیگر) با موفقیت کامل انجام شود. اگر احراز هویت طرف مقابل الزامی باشد و نتواند آن را انجام دهد، pppd پیوند را قطع خواهد کرد (با بستن LCP). اگر IPCP یک نشانی IP غیرقابل قبول را برای میزبان دوردست مذاکره کند، IPCP بسته خواهد شد. بسته‌های IP تنها زمانی قابل ارسال یا دریافت هستند که IPCP باز باشد.

در برخی موارد مطلوب است که به بعضی از میزبان‌هایی که نمی‌توانند هویت خود را احراز کنند اجازه داده شود تا متصل شوند و از یکی از نشانی‌های IP یک مجموعه محدود استفاده نمایند، حتی زمانی که میزبان محلی به طور کلی نیازمند احراز هویت است. اگر طرف مقابل در صورت درخواست از احراز هویت خود خودداری کند، pppd آن را معادل احراز هویت با PAP با استفاده از رشته خالی برای نام کاربری و گذرواژه در نظر می‌گیرد. بنابراین، با افزودن خطی به فایل pap-secrets که رشته خالی را برای کلاینت و گذرواژه مشخص می‌کند، امکان دسترسی محدود برای میزبان‌هایی که از احراز هویت خود امتناع می‌ورزند فراهم می‌شود.

هنگامی که مذاکره IPCP با موفقیت به پایان می‌رسد، pppd آدرس‌های IP محلی و راه دور رابط ppp را به هسته اعلام می‌کند. این کار برای ایجاد یک مسیر میزبان (host route) به سمت انتهای دور پیوند کافی است، که به دو سر پیوند امکان تبادل بسته‌های IP را می‌دهد. ارتباط با سایر ماشین‌ها عموماً نیازمند تغییرات بیشتر در جدول‌های مسیریابی و/یا جدول‌های ARP (پروتکل تفکیک آدرس) است. در اکثر موارد، گزینه‌های defaultroute و/یا proxyarp برای این کار کافی هستند، اما در برخی شرایط دخالت بیشتری لازم است. اسکریپت /etc/ppp/ip-up می‌تواند برای این منظور استفاده شود.

گاهی اوقات مطلوب است که یک مسیر پیش‌فرض (default route) از طریق میزبان دور اضافه شود، مانند حالتی که تنها اتصال یک ماشین به اینترنت از طریق رابط ppp باشد. گزینه defaultroute باعث می‌شود pppd در زمان بالا آمدن IPCP چنین مسیر پیش‌فرضی را ایجاد کند و هنگام قطع شدن پیوند آن را حذف نماید.

در برخی موارد استفاده از proxy ARP مطلوب است، به عنوان مثال روی ماشین سروری که به یک شبکه محلی (LAN) متصل است، تا به سایر میزبان‌ها اجازه برقراری ارتباط با میزبان دور را بدهد. گزینه proxyarp باعث می‌شود pppd به دنبال یک رابط شبکه در همان زیرشبکه (subnet) میزبان دور بگردد (رابطی که از broadcast و ARP پشتیبانی کند، فعال (up) باشد و از نوع نقطه-به-نقطه یا loopback نباشد). در صورت یافتن، pppd یک مدخل ARP دائمی و منتشرشده با آدرس IP میزبان دور و آدرس سخت‌افزاری رابط شبکه یافت‌شده ایجاد می‌کند.

هنگامی که گزینه demand استفاده می‌شود، آدرس‌های IP رابط پیش‌تر در نقطه‌ای که IPCP بالا می‌آید تنظیم شده‌اند. اگر pppd نتواند همان آدرس‌هایی را که برای پیکربندی رابط استفاده کرده بود مذاکره کند (مثلاً هنگامی که طرف مقابل یک ISP است که از تخصیص پویای آدرس IP استفاده می‌کند)، pppd مجبور است آدرس‌های IP رابط را به آدرس‌های مذاکره‌شده تغییر دهد. این کار ممکن است اتصالات موجود را مختل کند و استفاده از شماره‌گیری بر حسب تقاضا (demand dialling) با طرف‌هایی که تخصیص پویای آدرس IP انجام می‌دهند توصیه نمی‌شود.

پروتکل Multilink PPP قابلیت ترکیب دو یا چند پیوند PPP بین یک جفت ماشین را در قالب یک «بسته» (bundle) فراهم می‌کند؛ این بسته به صورت یک پیوند PPP مجازی واحد به نظر می‌رسد که پهنای باند ترکیبی پیوندهای مجزا را در بر دارد. در حال حاضر، multilink PPP تنها در لینوکس پشتیبانی می‌شود.

برنامه pppd با استفاده از تمایزدهنده نقطه انتهایی (endpoint discriminator) طرف مقابل و هویت احراز‌شده آن (در صورتی که خود را احراز هویت کند)، تشخیص می‌دهد که پیوند تحت کنترلش به همان همتایی متصل است که پیوند دیگری به آن وصل است. تمایزدهنده نقطه انتهایی بلوکی از داده است که امید می‌رود برای هر همتا یکتا باشد. انواع مختلفی از داده‌ها می‌توانند استفاده شوند، از جمله رشته‌های بایتی تخصیص‌یافته به صورت محلی، آدرس‌های IP، آدرس‌های MAC، رشته‌های بایتی تصادفی، یا شماره تلفن‌های E-164. تمایزدهنده نقطه انتهایی که توسط pppd به طرف مقابل ارسال می‌شود را می‌توان با استفاده از گزینه endpoint تنظیم کرد.

در برخی شرایط ممکن است طرف مقابل هیچ تمایزدهنده نقطه انتهایی یا مقداری غیریکتا ارسال کند. گزینه bundle رشته‌ای اضافی اضافه می‌کند که هنگام مطابقت دادن پیوندها برای پیوستن به یک دسته (bundle)، به تمایزدهنده نقطه انتهایی و هویت احراز‌شده همتا افزوده می‌شود. گزینه bundle همچنین می‌تواند برای امکان‌پذیر ساختن برقراری چندین دسته بین سیستم محلی و همتا استفاده شود. برنامه pppd از یک پایگاه‌داده TDB در /var/run/pppd2.tdb برای مطابقت دادن پیوندها استفاده می‌کند.

با فرض اینکه چندپیوندی فعال باشد و طرف مقابل مایل به مذاکره چندپیوندی باشد، هنگامی که pppd برای بالا آوردن نخستین پیوند به طرف مقابل فراخوانی می‌شود، تشخیص می‌دهد که هیچ پیوند دیگری به آن همتا متصل نیست و یک دسته جدید ایجاد می‌کند، یعنی یک واحد رابط شبکه ppp دیگر. هنگامی که یک pppd دیگر برای بالا آوردن پیوند دیگری به طرف مقابل فراخوانی می‌شود، دسته موجود را شناسایی کرده و پیوند خود را به آن ملحق می‌کند.

اگر نخستین پیوند خاتمه یابد (به عنوان مثال، به دلیل قطع تماس یا دریافت terminate-request پروتکل LCP)، دسته نابود نمی‌شود مگر اینکه هیچ پیوند دیگری در دسته باقی نمانده باشد. اولین pppd به جای خروج، پس از خاتمه پیوند خود به اجرا ادامه می‌دهد تا زمانی که تمام پیوندهای موجود در دسته خاتمه یابند. اگر اولین pppd یک سیگنال SIGTERM یا SIGINT دریافت کند، دسته را نابود کرده و به فرآیندهای pppd برای هر یک از پیوندهای درون دسته یک SIGHUP ارسال می‌کند. اگر اولین pppd یک سیگنال SIGHUP دریافت کند، پیوند خود را خاتمه می‌دهد اما دسته را خاتمه نمی‌دهد.

نکته: حالت تقاضا (demand mode) در حال حاضر با چندپیوندی پشتیبانی نمی‌شود.

مثال‌های زیر فرض می‌کنند که فایل /etc/ppp/options حاوی گزینه auth است (همانند فایل پیش‌فرض /etc/ppp/options در توزیع ppp).

احتمالاً رایج‌ترین کاربرد pppd، شماره‌گیری به یک ISP است. این کار را می‌توان با دستوری مانند زیر انجام داد:

pppd call isp

که در آن فایل /etc/ppp/peers/isp توسط مدیر سیستم طوری تنظیم شده است که شامل محتوایی شبیه به این باشد:

ttyS0 19200 crtscts
connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
noauth

در این مثال، ما از chat برای شماره‌گیری مودم ISP و طی کردن مراحل ورود (logon) لازم استفاده می‌کنیم. فایل /etc/ppp/chat-isp حاوی اسکریپت مورد استفاده chat است؛ به عنوان مثال می‌تواند حاوی مواردی شبیه به این باشد:

ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
ABORT "Username/Password Incorrect"
"" "at"
OK "at&d0&c1"
OK "atdt2468135"
"name:" "^Umyuserid"
"word:" "\qmypassword"
"ispts" "\q^Uppp"
"~-^Uppp-~"

برای جزئیات بیشتر در مورد اسکریپت‌های chat، به صفحه راهنمای chat(8) مراجعه کنید.

برنامه pppd همچنین می‌تواند برای ارائه یک سرویس ppp شماره‌گیری ورودی (dial-in) برای کاربران استفاده شود. اگر کاربران از قبل حساب‌های ورود به سیستم دارند، ساده‌ترین راه برای راه‌اندازی سرویس ppp این است که به کاربران اجازه داده شود به حساب‌های خود وارد شوند و pppd (نصب‌شده به صورت setuid-root) را با دستوری مانند زیر اجرا کنند:

pppd proxyarp

برای اینکه به یک کاربر اجازه دهید از امکانات PPP استفاده کند، باید یک آدرس IP برای ماشین آن کاربر تخصیص دهید و یک مدخل در /etc/ppp/pap-secrets، /etc/ppp/chap-secrets یا /etc/ppp/srp-secrets ایجاد کنید (بسته به اینکه پیاده‌سازی PPP روی ماشین کاربر از کدام روش احراز هویت پشتیبانی می‌کند)، تا ماشین کاربر بتواند هویت خود را احراز کند. به عنوان مثال، اگر جو ماشینی به نام "joespc" دارد که قرار است اجازه شماره‌گیری به ماشینی به نام "server" را داشته باشد و از آدرس IP joespc.my.net استفاده کند، مدخلی مانند زیر را به /etc/ppp/pap-secrets یا /etc/ppp/chap-secrets اضافه می‌کنید:

joespc server "joe's secret" joespc.my.net

(برای روش تولید مدخل سرور هنگام استفاده از SRP-SHA1، به srp-entry(8) مراجعه کنید.) به عنوان روشی دیگر، می‌توانید یک نام کاربری به عنوان مثال به نام "ppp" ایجاد کنید که پوسته ورود آن pppd و پوشه خانگی آن /etc/ppp باشد. گزینه‌هایی که هنگام اجرای pppd به این شیوه استفاده می‌شوند را می‌توان در /etc/ppp/.ppprc قرار داد.

اگر اتصال سریال شما پیچیده‌تر از یک تکه سیم است، ممکن است لازم باشد ترتیبی دهید که برخی کاراکترهای کنترلی اسکیپ شوند. به طور خاص، اغلب مفید است که XON (^Q) و XOFF (^S) با استفاده از asyncmap a0000 اسکیپ شوند. اگر مسیر شامل یک اتصال telnet باشد، احتمالاً باید ^] را نیز اسکیپ کنید (asyncmap 200a0000). اگر مسیر شامل rlogin باشد، باید از گزینه escape ff در سمتی که کلاینت rlogin را اجرا می‌کند استفاده کنید، چرا که بسیاری از پیاده‌سازی‌های rlogin شفاف (transparent) نیستند؛ آن‌ها دنباله [0xff, 0xff, 0x73, 0x73 به همراه هر ۸ بایت بعدی] را از جریان داده حذف می‌کنند.

پیام‌ها با استفاده از شناسه LOG_DAEMON به دیمن syslog ارسال می‌شوند. (این مورد می‌تواند با کامپایل مجدد pppd با ماکروی LOG_PPP تعریف‌شده به عنوان شناسه دلخواه بازنویسی شود.) برای جزئیات مربوط به اینکه دیمن syslog پیام‌ها را در کجا می‌نویسد، به مستندات syslog(8) مراجعه کنید. در اکثر سیستم‌ها، دیمن syslog از فایل /etc/syslog.conf برای مشخص کردن مقصد(های) پیام‌های syslog استفاده می‌کند. ممکن است نیاز باشد آن فایل را بر اساس نیاز ویرایش کنید.

گزینه debug باعث می‌شود محتوای تمام بسته‌های کنترلی ارسالی یا دریافتی لاگ شوند، یعنی تمام بسته‌های LCP، PAP، CHAP، EAP یا IPCP. این مورد می‌تواند در صورتی که مذاکره PPP موفقیت‌آمیز نباشد یا احراز هویت شکست بخورد مفید باشد. اگر اشکال‌زدایی در زمان کامپایل فعال شده باشد، گزینه debug همچنین باعث لاگ شدن سایر پیام‌های اشکال‌زدایی می‌شود.

اشکال‌زدایی را می‌توان با ارسال سیگنال SIGUSR1 به فرآیند pppd نیز فعال یا غیرفعال کرد. این سیگنال مانند یک کلید ضامن (toggle) عمل می‌کند.

کد خروج pppd برای نشان دادن این تنظیم می‌شود که آیا خطایی شناسایی شده است یا دلیل قطع شدن پیوند چه بوده است. مقادیر استفاده‌شده عبارتند از:

0
برنامه pppd جدا شد (detached)، یا اتصال با موفقیت برقرار شد و به درخواست طرف مقابل خاتمه یافت.
1
یک خطای بلافاصله مرگبار از هر نوعی رخ داد، مانند ناموفق بودن یک فراخوانی سیستمی حیاتی، یا اتمام حافظه مجازی.
2
در پردازش گزینه‌های ارائه‌شده خطایی شناسایی شد، مانند استفاده از دو گزینه ناسازگار با یکدیگر.
3
برنامه pppd به صورت setuid-root تنظیم نشده و کاربر فراخواننده root نیست.
4
هسته سیستم از PPP پشتیبانی نمی‌کند؛ برای مثال، درایور هسته PPP گنجانده نشده یا بارگذاری نمی‌شود.
5
برنامه pppd خاتمه یافت زیرا سیگنال SIGINT، SIGTERM یا SIGHUP برای آن ارسال شد.
6
پورت سریال قفل نشد.
7
پورت سریال باز نشد.
8
اسکریپت اتصال (connect script) شکست خورد (کد خروج غیر صفر برگرداند).
9
دستور مشخص‌شده به عنوان آرگومان گزینه pty اجرا نشد.
10
مذاکره PPP شکست خورد؛ به این معنی که به مرحله‌ای نرسید که حداقل یک پروتکل شبکه (مانند IP) در حال اجرا باشد.
11
سیستم طرف مقابل در احراز هویت خود شکست خورد (یا از آن امتناع کرد).
12
پیوند با موفقیت برقرار شد و به دلیل بیکار بودن (idle) خاتمه یافت.
13
پیوند با موفقیت برقرار شد و به دلیل رسیدن به محدودیت زمانی اتصال خاتمه یافت.
14
تماس مجدد (Callback) مذاکره شد و یک تماس ورودی باید به زودی برسد.
15
پیوند خاتمه یافت زیرا طرف مقابل به درخواست‌های echo پاسخ نمی‌دهد.
16
پیوند با قطع تماس توسط مودم خاتمه یافت.
17
مذاکره PPP شکست خورد زیرا حلقه برگشتی سریال (serial loopback) شناسایی شد.
18
اسکریپت init شکست خورد (کد خروج غیر صفر برگرداند).
19
ما در احراز هویت خود نزد طرف مقابل شکست خوردیم.

برنامه pppd در مراحل مختلف پردازش خود اسکریپت‌هایی را فراخوانی می‌کند که می‌توانند برای انجام پردازش‌های کمکی مخصوص هر سایت استفاده شوند. این اسکریپت‌ها معمولاً اسکریپت‌های شل هستند، اما می‌توانند فایل‌های کدهای اجرایی باشند. برنامه pppd منتظر اتمام اسکریپت‌ها نمی‌ماند (به جز اسکریپت‌های net-init، net-pre-up و ip-pre-up). اسکریپت‌ها به عنوان root اجرا می‌شوند (با شناسه کاربری واقعی و مؤثر تنظیم‌شده روی 0)، تا بتوانند کارهایی مانند به‌روزرسانی جدول‌های مسیریابی یا اجرای دیمن‌های ممتاز را انجام دهند. مراقب باشید که محتوای این اسکریپت‌ها امنیت سیستم شما را به خطر نیندازد. برنامه pppd اسکریپت‌ها را با هدایت ورودی، خروجی و خطای استاندارد به /dev/null اجرا می‌کند، و با محیطی که به جز برخی متغیرهای محیطی که اطلاعاتی درباره پیوند ارائه می‌دهند خالی است. متغیرهای محیطی که pppd تنظیم می‌کند عبارتند از:

نام دستگاه سریال tty مورد استفاده.
نام رابط شبکه مورد استفاده.
نام VRF که رابط ppp به آن متصل شده است. این متغیر فقط زمانی تنظیم می‌شود که رابط ppp با استفاده از گزینه vrf به یک VRF متصل شده باشد.
آدرس IP برای انتهای محلی پیوند. این متغیر فقط زمانی که IPCP بالا آمده باشد تنظیم می‌شود.
آدرس IP برای انتهای دور پیوند. این متغیر فقط زمانی که IPCP بالا آمده باشد تنظیم می‌شود.
آدرس Link-Local IPv6 برای انتهای محلی پیوند. این متغیر فقط زمانی که IPV6CP بالا آمده باشد تنظیم می‌شود.
آدرس Link-Local IPv6 برای انتهای دور پیوند. این متغیر فقط زمانی که IPV6CP بالا آمده باشد تنظیم می‌شود.
نام احراز هویت‌شده همتا. این متغیر فقط در صورتی تنظیم می‌شود که طرف مقابل هویت خود را احراز کند.
شماره طرف دور همان‌طور که توسط گزینه remotenumber به pppd ارائه شده است. معنی این متغیر بر اساس نوع اتصال متفاوت است؛ به عنوان مثال xl2tpd می‌تواند AVP شماره شماره‌گیری یا آدرس IP طرف دور را ارائه دهد. pppoe-server معمولاً آدرس MAC را ارائه می‌دهد.
نرخ باود (baud rate) دستگاه tty.
شناسه کاربری واقعی (real user-id) کاربری که pppd را فراخوانی کرده است.
نام کاربری شناسه کاربری واقعی که pppd را فراخوانی کرده است. این متغیر همیشه تنظیم می‌شود.

برای اسکریپت‌های ip-down و auth-down، برنامه pppd همچنین متغیرهای زیر را تنظیم می‌کند که آماری برای اتصال ارائه می‌دهند:

تعداد ثانیه‌ها از زمانی که مذاکره PPP آغاز شد تا زمانی که اتصال خاتمه یافت.
تعداد بایت‌های ارسالی (در سطح پورت سریال) در طول اتصال.
تعداد بایت‌های دریافتی (در سطح پورت سریال) در طول اتصال.
نام منطقی پیوند، تنظیم‌شده با گزینه linkname.
مقدار گزینه call.
اگر طرف مقابل آدرس‌های کارساز DNS را ارائه دهد، این متغیر با نخستین آدرس کارساز DNS ارائه‌شده تنظیم می‌شود (صرف‌نظر از اینکه گزینه usepeerdns داده شده باشد یا خیر).
اگر طرف مقابل آدرس‌های کارساز DNS را ارائه دهد، این متغیر با دومین آدرس کارساز DNS ارائه‌شده تنظیم می‌شود (صرف‌نظر از اینکه گزینه usepeerdns داده شده باشد یا خیر).
اگر طرف مقابل آدرس‌های سرور WINS را ارائه دهد، این متغیر با اولین آدرس سرور WINS ارائه‌شده مقداردهی می‌شود.
اگر طرف مقابل آدرس‌های سرور WINS را ارائه دهد، این متغیر با دومین آدرس سرور WINS ارائه‌شده مقداردهی می‌شود.
اگر افزونه pppoe برای برقراری اتصال به یک متمرکزکننده دسترسی (AC) استفاده شود، این متغیر با نام AC، همان‌طور که توسط AC ارائه شده، مقداردهی می‌شود.

Pppd اسکریپت‌های زیر را در صورت وجود فراخوانی می‌کند. عدم وجود آن‌ها خطا محسوب نمی‌شود.

/etc/ppp/auth-up
برنامه یا اسکریپتی که پس از احراز هویت موفقیت‌آمیز سیستم راه‌دور اجرا می‌شود. این اسکریپت با پارامترهای زیر اجرا می‌گردد:
interface-name peer-name user-name tty-device speed ipparam
توجه داشته باشید که اگر طرف مقابل هویت خود را احراز نکند (برای مثال هنگام استفاده از گزینه noauth)، این اسکریپت اجرا نمی‌شود.
Override option: auth-up-script /alternative/path
/etc/ppp/auth-down
برنامه یا اسکریپتی که هنگام قطع پیوند اجرا می‌شود، در صورتی که پیش‌تر /etc/ppp/auth-up اجرا شده باشد. این اسکریپت به همان شیوه و با همان پارامترهای /etc/ppp/auth-up اجرا می‌شود.
Override option: auth-down-script /alternative/path
/etc/ppp/ip-pre-up
برنامه یا اسکریپتی که درست پیش از بالا آمدن رابط شبکه ppp اجرا می‌شود. این اسکریپت با همان پارامترهای اسکریپت ip-up (در زیر) اجرا می‌گردد. در این نقطه رابط وجود دارد و آدرس‌های IP به آن تخصیص یافته اما هنوز پایین (down) است. این اسکریپت می‌تواند برای افزودن قوانین فایروال پیش از عبور هرگونه ترافیک IP از رابط استفاده شود. Pppd تا پایان اجرای این اسکریپت پیش از بالا آوردن رابط منتظر می‌ماند، بنابراین این اسکریپت باید سریع اجرا شود.
WARNING: لطفاً توجه داشته باشید که در سیستم‌هایی که یک رابط منفرد چندین پروتکل را حمل می‌کند (Linux)، تضمین قطعی وجود ندارد که ip-pre-up قبل از رفتن رابط به وضعیت up اجرا شود؛ اگرچه اطلاعات IP مشخص نخواهد بود، باید استفاده از net-pre-up را مد نظر قرار دهید، یا به عنوان گزینه جایگزین، سایر NCPها را غیرفعال کنید تا IPv4 تنها پروتکل مذاکره‌شده باشد - که این کار نیز تضمین می‌کند ip-pre-up قبل از رفتن رابط به وضعیت UP فراخوانی شود.
Override option: ip-pre-up-script /alternative/path
/etc/ppp/ip-up
برنامه یا اسکریپتی که هنگام در دسترس قرار گرفتن پیوند برای ارسال و دریافت بسته‌های IP (یعنی بالا آمدن IPCP) اجرا می‌شود. این اسکریپت با پارامترهای زیر اجرا می‌گردد:
interface-name tty-device speed local-IP-address remote-IP-address ipparam
Override option: ip-up-script /alternative/path
/etc/ppp/ip-down
برنامه یا اسکریپتی که هنگام عدم دسترسی پیوند برای ارسال و دریافت بسته‌های IP اجرا می‌شود. این اسکریپت می‌تواند برای خنثی کردن اثرات اسکریپت‌های /etc/ppp/ip-up و /etc/ppp/ip-pre-up استفاده شود. این اسکریپت به همان شیوه و با همان پارامترهای اسکریپت ip-up فراخوانی می‌شود.
Override option: ip-down-script /alternative/path
/etc/ppp/ipv6-up
مشابه /etc/ppp/ip-up، با این تفاوت که هنگام در دسترس قرار گرفتن پیوند برای ارسال و دریافت بسته‌های IPv6 اجرا می‌شود. با پارامترهای زیر اجرا می‌گردد:
interface-name tty-device speed local-link-local-address remote-link-local-address ipparam
Override option: ipv6-up-script /alternative/path
/etc/ppp/ipv6-down
مشابه /etc/ppp/ip-down، اما هنگامی اجرا می‌شود که بسته‌های IPv6 دیگر امکان ارسال روی پیوند را ندارند. این اسکریپت با همان پارامترهای اسکریپت ipv6-up اجرا می‌شود.
Override option: ipv6-down-script /alternative/path
/etc/ppp/net-init
این اسکریپت در لحظه‌ای که شماره واحد ppp مشخص شود اجرا خواهد شد. برای اتمام این اسکریپت صبر خواهد شد و نباید تاخیر قابل‌توجهی ایجاد کند. این اسکریپت می‌تواند برای به‌روزرسانی سیستم‌های حسابداری/دفترداری خارج از ppp استفاده شود و تنها نقطه تضمین‌شده‌ای را فراهم می‌کند که در آن می‌توان اسکریپتی را با دانستن شماره واحد ppp پیش از آغاز LCP اجرا کرد. این اسکریپت با پارامترهای زیر اجرا می‌شود:
interface-name tty-device speed ipparam
Override option: net-init-script /alternative/path
/etc/ppp/net-pre-up
این اسکریپت درست پیش از آغاز مذاکرات NCP اجرا خواهد شد، و اجرای آن در زمانی که رابط (Linux) و/یا زیررابط‌ها (Solaris) بر حسب مورد هنوز پایین (down) هستند تضمین شده است. ppp در انتظار تکمیل این اسکریپت متوقف می‌ماند، و در این اسکریپت می‌توان رابط را با خیال راحت تغییر نام داد (برای مثال با استفاده از "ip li set dev $1 name ppp-foobar"). پارامترها همانند net-init هستند.
Override option: net-pre-up-script /alternative/path
/etc/ppp/net-down
این اسکریپت درست پیش از خاتمه یافتن ppp اجرا خواهد شد و برای پایان آن صبر نخواهد شد. پارامترها همانند net-init هستند.
Override option: net-down-script /alternative/path

/var/run/pppn.pid (BSD یا Linux)، /etc/ppp/pppn.pid (سایر سیستم‌ها) شناسه فرآیند (Process-ID) برای فرآیند pppd روی واحد رابط ppp شماره n.

/var/run/ppp-name.pid (BSD یا Linux)،
/etc/ppp/ppp-name.pid (سایر سیستم‌ها) شناسه فرآیند (Process-ID) برای فرآیند pppd مربوط به پیوند منطقی name (گزینه linkname را ببینید).
/var/run/pppd2.tdb
پایگاه‌داده حاوی اطلاعات مربوط به فرآیندهای pppd، رابط‌ها و پیوندها، که برای تطبیق پیوندها با دسته‌ها (bundles) در عملیات چندپیوندی (multilink) استفاده می‌شود. این فایل ممکن است توسط برنامه‌های خارجی برای دریافت اطلاعات درباره نمونه‌های در حال اجرای pppd، رابط‌ها و دستگاه‌های مورد استفاده آن‌ها، تخصیص آدرس‌های IP و غیره مورد بررسی قرار گیرد. /etc/ppp/pap-secrets نام‌های کاربری، گذرواژه‌ها و آدرس‌های IP برای احراز هویت PAP. مالکیت این فایل باید متعلق به کاربر root باشد و نباید توسط هیچ کاربر دیگری قابل خواندن یا نوشتن باشد. اگر چنین نباشد، Pppd یک هشدار ثبت خواهد کرد.
/etc/ppp/chap-secrets
نام‌ها، رمزها و آدرس‌های IP برای احراز هویت CHAP/MS-CHAP/MS-CHAPv2. مانند /etc/ppp/pap-secrets، این فایل نیز باید متعلق به root باشد و توسط هیچ کاربر دیگری قابل خواندن یا نوشتن نباشد. در غیر این صورت، Pppd یک هشدار ثبت خواهد کرد.
/etc/ppp/srp-secrets
نام‌ها، رمزها و آدرس‌های IP برای احراز هویت EAP. همانند /etc/ppp/pap-secrets، این فایل باید متعلق به root باشد و برای هیچ کاربر دیگری قابل خواندن یا نوشتن نباشد. اگر چنین نباشد، Pppd یک هشدار ثبت خواهد کرد.
~/.ppp_pseudonym
نام مستعار ذخیره‌شده SRP-SHA1 در سمت کلاینت. برای جزئیات به گزینه srp-use-pseudonym مراجعه کنید.
/etc/ppp/options
گزینه‌های پیش‌فرض سیستمی برای pppd، که قبل از گزینه‌های پیش‌فرض کاربر یا گزینه‌های خط فرمان خوانده می‌شوند.
~/.ppprc
گزینه‌های پیش‌فرض کاربر، که قبل از /etc/ppp/options.ttyname خوانده می‌شوند.
/etc/ppp/options.ttyname
گزینه‌های پیش‌فرض سیستمی برای پورت سریالی که در حال استفاده است، که بعد از ~/.ppprc خوانده می‌شوند. در تشکیل بخش ttyname از نام این فایل، پیشوند /dev/ (در صورت وجود) از نام پورت حذف شده و هرگونه اسلش در بخش باقی‌مانده به نقطه تبدیل می‌شود.
/etc/ppp/peers
پوشه‌ای حاوی فایل‌های گزینه‌ها که ممکن است شامل گزینه‌های دارای دسترسی ممتاز باشند، حتی اگر pppd توسط کاربری غیر از root فراخوانی شده باشد. مدیر سیستم می‌تواند فایل‌های گزینه‌ها را در این پوشه ایجاد کند تا به کاربران فاقد دسترسی ویژه اجازه شماره‌گیری بدون نیاز به احراز هویت طرف مقابل را بدهد، اما تنها برای طرف‌های مقابل قابل‌اعتماد خاص.

chat(8), pppstats(8)

Jacobson, V. Compressing TCP/IP headers for low-speed serial links. February 1990.
Rivest, R. The MD5 Message-Digest Algorithm. April 1992.
McGregor, G. PPP Internet Protocol Control Protocol (IPCP). May 1992.
Lloyd, B.; Simpson, W.A. PPP authentication protocols. October 1992.
Simpson, W.A. The Point-to-Point Protocol (PPP). July 1994.
Simpson, W.A. PPP in HDLC-like Framing. July 1994.
Sklower, K.; et al., The PPP Multilink Protocol (MP). August 1996.
Blunk, L.; Vollbrecht, J., PPP Extensible Authentication Protocol (EAP). March 1998.
Haskin, D. IP Version 6 over PPP December 1998.
Wu, T., The SRP Authentication and Key Exchange System September 2000.
Carlson, J.; et al., EAP SRP-SHA1 Authentication Protocol. July 2001.

می‌توان با ارسال یک سیگنال از فهرست زیر، درجه‌ای محدود از کنترل را بر روی فرآیند pppd در حال اجرا اعمال کرد.

این سیگنال‌ها باعث می‌شوند pppd پیوند را پایان دهد (با بستن LCP)، تنظیمات دستگاه سریال را بازگردانی کند و خارج شود. اگر فرآیند اتصال‌دهنده (connector) یا قطع‌کننده (disconnector) در حال اجرا باشد، pppd همان سیگنال را به گروه فرآیند آن ارسال می‌کند تا فرآیند اتصال‌دهنده یا قطع‌کننده خاتمه یابد.
این سیگنال باعث می‌شود pppd پیوند را قطع کند، تنظیمات دستگاه سریال را بازگردانی کند و دستگاه سریال را ببندد. اگر گزینه persist یا demand مشخص شده باشد، pppd تلاش خواهد کرد مجدداً دستگاه سریال را باز کرده و اتصال دیگری برقرار کند (پس از دوره holdoff). در غیر این صورت pppd خارج خواهد شد. اگر این سیگنال در طول دوره holdoff دریافت شود، باعث می‌شود pppd بلافاصله به دوره holdoff پایان دهد. اگر فرآیند اتصال‌دهنده یا قطع‌کننده در حال اجرا باشد، pppd همان سیگنال را به گروه فرآیند آن ارسال خواهد کرد.
این سیگنال وضعیت گزینه debug را تغییر می‌دهد.
این سیگنال باعث می‌شود pppd مجدداً بر سر فشرده‌سازی مذاکره کند. این امر می‌تواند برای فعال‌سازی مجدد فشرده‌سازی پس از غیرفعال شدن آن به دلیل خطای مهلک در خارج‌سازی از حالت فشرده (decompression error) مفید باشد. (خطاهای مهلک فشرده‌سازی‌زدایی معمولاً نشان‌دهنده وجود اشکال در یکی از پیاده‌سازی‌ها است.)

Paul Mackerras (paulus@ozlabs.org)، بر اساس کارهای پیشین توسط Drew Perkins، Brad Clements، Karl Fox، Greg Christy و Brad Parker.

حق نشر Pppd محفوظ است و تحت شرایطی در دسترس قرار گرفته که کپی و استفاده از آن در قالب‌های منبع یا باینری را به شرط رعایت شرایط ذکرشده در زیر مجاز می‌داند. بخش‌هایی از pppd تحت پوشش اطلاعیه‌های حق نشر زیر قرار دارند:

Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
Copyright (c) 1993-2004 Paul Mackerras. All rights reserved.
Copyright (c) 1995 Pedro Roque Marques. All rights reserved.
Copyright (c) 1995 Eric Rosenquist. All rights reserved.
Copyright (c) 1999 Tommi Komulainen. All rights reserved.
Copyright (C) Andrew Tridgell 1999
Copyright (c) 2000 by Sun Microsystems, Inc. All rights reserved.
Copyright (c) 2001 by Sun Microsystems, Inc. All rights reserved.
Copyright (c) 2002 Google, Inc. All rights reserved.

اطلاعیه‌های حق نشر شامل بیانیه‌های زیر هستند:

1. بازتوزیع و استفاده به صورت سورس و باینری، با یا بدون تغییر، مجاز است به شرطی که شرایط زیر رعایت شوند:

1. بازتوزیع‌های کد منبع باید اطلاعیه حق نشر فوق، این فهرست شرایط و سلب مسئولیت زیر را حفظ کنند.

2. بازتوزیع‌ها در قالب باینری باید اطلاعیه حق نشر فوق، این فهرست شرایط و سلب مسئولیت زیر را در مستندات و/یا سایر موارد ارائه‌شده همراه با توزیع بازتولید نمایند.

3. نام "Carnegie Mellon University" نباید برای تایید یا تبلیغ محصولات مشتق‌شده از این نرم‌افزار بدون مجوز کتبی قبلی استفاده شود. برای دریافت مجوز یا هرگونه جزئیات حقوقی، لطفاً با نشانی زیر تماس بگیرید:
Office of Technology Transfer
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213-3890
(412) 268-4387, fax: (412) 268-7395
tech-transfer@andrew.cmu.edu

3b. نام(های) نویسندگان این نرم‌افزار نباید برای تایید یا تبلیغ محصولات مشتق‌شده از این نرم‌افزار بدون مجوز کتبی قبلی استفاده شود.

4. بازتوزیع‌ها به هر شکلی باید شامل تقدیرنامه‌های زیر باشند:
"This product includes software developed by Computing Services
at Carnegie Mellon University (http://www.cmu.edu/computing)."
"This product includes software developed by Paul Mackerras
<paulus@ozlabs.org>".
"This product includes software developed by Pedro Roque Marques
<pedro_m@yahoo.com>".
"This product includes software developed by Tommi Komulainen
<Tommi.Komulainen@iki.fi>".

CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.