PPPoE (PPP over Ethernet) هنوز رایجترین روش تحویل اینترنت در ایران است: ADSL ، VDSL و بیشتر سرویسهای FTTH خانگی و اداری با یوزر و رمز PPPoE وصل میشوند. اگر بهجای مودم معمولی از روتر سیسکو استفاده میکنید، روتر باید نقش PPPoE Client (Dialer) را بگیرد. در طرف دیگر ماجرا، ISPها و شبکههای سازمانی بزرگ از روتر سیسکو بهعنوان PPPoE Server (RAS یا BRAS) برای اتصال مشترکان استفاده میکنند.
در این مطلب هر دو نقش را با کانفیگ کامل مرور میکنیم: Dialer روی روترهای ISR و ISR 4000 ، PPPoE روی VLAN برای FTTH ، NAT ، DNS از ISP ، مسئله حیاتی MTU و MSS ، و راهاندازی یک PPPoE Server ساده.

PPPoE روی روتر سیسکو در یک نگاه
| Client | اینترفیس فیزیکی + interface Dialer1 با یوزر و رمز ISP |
| Server | bba-group pppoe + interface Virtual-Template + Pool آدرس |
| سربار | ۸ بایت هدر PPPoE ؛ MTU مؤثر ۱۴۹۲ |
| تنظیم حیاتی | ip mtu 1492 و ip tcp adjust-mss 1452 |
| احراز هویت | PAP یا CHAP (بسته به ISP) |
| FTTH ایران | معمولاً PPPoE روی یک VLAN مشخص؛ روی subinterface |
فهرست مطالب
PPPoE چطور کار میکند
PPPoE دو مرحله دارد. در مرحله Discovery ، Client با پیامهای broadcast (PADI ، PADO ، PADR ، PADS) سرور PPPoE را پیدا میکند و یک Session ID میگیرد. در مرحله Session ، یک نشست PPP معمولی روی اترنت برقرار میشود: احراز هویت با PAP یا CHAP ، و گرفتن IP و DNS با IPCP. هدر PPPoE شش بایت و هدر PPP دو بایت است؛ یعنی ۸ بایت از ۱۵۰۰ بایت MTU اترنت کم میشود و ۱۴۹۲ بایت برای IP میماند.
کانفیگ PPPoE Client (Dialer)
! ---------- physical interface to the modem / ONT ---------- interface GigabitEthernet0/0/0 description To ISP modem (bridge mode) no ip address pppoe enable group global pppoe-client dial-pool-number 1 no shutdown ! ! ---------- Dialer ---------- interface Dialer1 description PPPoE to ISP ip address negotiated ip mtu 1492 ip tcp adjust-mss 1452 ip nat outside encapsulation ppp dialer pool 1 ppp ipcp dns request ppp authentication chap pap callin ppp chap hostname shabake-user ppp chap password 0 Isp-Passw0rd ppp pap sent-username shabake-user password 0 Isp-Passw0rd no cdp enable ! ip route 0.0.0.0 0.0.0.0 Dialer1
نکتهها:
- مودم باید در حالت Bridge باشد تا خود روتر سیسکو نشست PPPoE را برقرار کند.
ppp ipcp dns requestسرورهای DNS را از ISP میگیرد؛ اگر روتر DNS سرور کلاینتهاست، باip dns serverآن را فعال کنید.- بسته به ISP ، فقط PAP یا فقط CHAP کافی است؛ تعریف هر دو ضرری ندارد.
PPPoE روی VLAN (FTTH)
بسیاری از سرویسهای فیبر، PPPoE را روی یک VLAN مشخص تحویل میدهند (شماره VLAN را از ISP بپرسید). در این حالت PPPoE را روی یک subinterface فعال کنید:
interface GigabitEthernet0/0/0 no ip address no shutdown interface GigabitEthernet0/0/0.100 encapsulation dot1Q 100 pppoe enable group global pppoe-client dial-pool-number 1
ساخت subinterface را در آموزش ساختن sub interface روی روتر سیسکو توضیح دادهایم.
NAT برای شبکه داخلی
interface GigabitEthernet0/0/1 description LAN ip address 192.168.1.1 255.255.255.0 ip nat inside ! ip access-list standard LAN-NAT permit 192.168.1.0 0.0.0.255 ip nat inside source list LAN-NAT interface Dialer1 overload
جزئیات انواع NAT را در پیادهسازی NAT روی روتر سیسکو ببینید.
مسئله MTU ؛ صفحههایی که باز نمیشوند
رایجترین شکایت بعد از راهاندازی PPPoE روی روتر این است: اینترنت وصل است، اما بعضی سایتها باز نمیشوند یا نیمهکاره باز میشوند. علت، همان ۸ بایت هدر PPPoE است؛ کلاینتها بستههای ۱۵۰۰ بایتی میفرستند که از لینک ۱۴۹۲ بایتی عبور نمیکنند. دو خط ip mtu 1492 و ip tcp adjust-mss 1452 روی Dialer این مشکل را برای ترافیک TCP حل میکنند؛ توضیح کامل و روش اندازهگیری MTU مسیر را در MTU و پیدا کردن Max MTU توسط روتر سیسکو آوردهایم.
PPPoE Server (RAS)
روتر سیسکو میتواند نشستهای PPPoE مشترکان را بپذیرد؛ برای یک ISP کوچک، شبکه وایرلس محلی یا آزمایشگاه. نمونه ساده با احراز هویت محلی:
bba-group pppoe global virtual-template 1 sessions per-mac limit 2 ! interface GigabitEthernet0/0/1 description Subscriber access no ip address pppoe enable group global ! interface Loopback1 ip address 100.64.0.1 255.255.255.255 ! interface Virtual-Template1 ip unnumbered Loopback1 ip mtu 1492 ip tcp adjust-mss 1452 peer default ip address pool PPPOE-POOL ppp authentication chap pap ! ip local pool PPPOE-POOL 100.64.0.10 100.64.0.250 username sub001 password 0 Sub-Pass-001
در شبکه عملیاتی بهجای یوزرهای محلی، احراز هویت و ثبت مصرف (Accounting) با سرور RADIUS انجام میشود (aaa authentication ppp default group radius). برای تعداد زیاد مشترک، از روترهای ASR 1000 یا پلتفرمهای BNG استفاده کنید؛ روترهای شعبه برای چند ده نشست مناسباند.
بررسی و عیبیابی
R1# show pppoe session R1# show interfaces Dialer1 R1# show ip interface brief | include Dialer|Virtual R1# show ppp all R1# debug pppoe events R1# debug ppp authentication
| علامت | علت محتمل |
|---|---|
| نشست PPPoE برقرار نمیشود (PADI بدون پاسخ) | مودم در حالت Bridge نیست، VLAN اشتباه، یا کابل |
| Authentication failed | یوزر یا رمز اشتباه، یا نوع احراز هویت (PAP/CHAP) ناسازگار |
| Dialer IP دارد اما اینترنت نیست | مسیر پیشفرض یا NAT تعریف نشده |
| بعضی سایتها باز نمیشوند | MTU و MSS تنظیم نشده |
پرسشهای متداول
روی ISR 4000 هم همین دستورهاست؟
بله؛ روی IOS XE هم PPPoE Client با همین ساختار (pppoe enable group global و dial-pool) کار میکند.
IP ثابت از ISP گرفتهام؛ چه تغییری لازم است؟
معمولاً همچنان ip address negotiated کافی است و ISP همان IP ثابت را تحویل میدهد.
دو لینک PPPoE دارم؛ Failover چطور؟
دو Dialer با dial-pool جدا بسازید و با IP SLA و مسیر شناور جابهجا کنید؛ ببینید سیسکو IP SLA.
منابع
- RFC 2516 – A Method for Transmitting PPP Over Ethernet (PPPoE)
- Cisco – Resolve MTU, MSS and PMTUD Issues
مشاوره با AKA NET
برای راهاندازی اینترنت PPPoE روی روتر سیسکو، Failover چند لینک و راهاندازی PPPoE Server با آکانت (AKA NET) تماس بگیرید.
تلفن: 09121308444 | ایمیل: aka@aka.ir | aka.ir