PPPoE چیست؟


Pont-to-Point Protocol over Ethernet یک پروتکل لایه 2 میباشد و همانطور که از اسم آن بر می آید از دسته پروتکل های PPP است.

PPPoE تمامی خاصیت های یک پروتکل PPP را دارد اما با این خصوصیت که بر روی شیکه Ethernet نیز قابل اجراست. یعنی شما میتوانید ارتباطهایی مانند کانکشن PPTP را بر روی لایه 2 داشته باشید.
این پروتکل توسط اولین ISP با هدف تجاری دنیا یعنی UUNET ابداع شده است که اطلاعات کامل این پروتکل با RFC2516 قابل دسترس است.
معمولا ISP  ها بیشتر از این پروتکل استفاده می کنند, یکی به دلیل isolation آن و دیگری به دلیل نیاز به کمترین تنظیمات سمت مشترک.
اصول کار  PPPoE همانند DHCP ست. که طی 4 مرحله کلاینت را به سرور متصل می کند.


 

(PPPoE Active Discovery Initiation (PADI


این درخواست به صورت broadcast به تمام شبکه ازسال می شود که کلاینت Mac address خود را درون آن می نویسد.

 

(PPPoE Active Discovery Offer (PADO


PPPoE Server پس از دریافت broadcast کلاینت با ذکر Mac address خود به کلاینت یک packet ارسال می کند. که حاوی پیشنهادی برای برقراری ارتباط است.

 

(PPPoE Active Discovery Request(PADR

 

کلاینت پس از دریافت پیشنهاد PPPoE Server در صورت توافق شرایط یک تائیدیه به وی می فرستد. که شرایط مورد توافق می تواند مسائلی نظیر Authentication protocol یا فعال بودن یا نبودن encryption باشد.

 

(PPPoE Active Discovery Session-confirmation(PADS


و در مرحله آخر PPPoE server  درخواست کلاینت را با یک تائیدیه قبول میکند و ارتباط برقرار می شود.

با بررسی موارد فوق خواهیم دید که لازمه برقراری یک ارتباط PPPoE وجود یک LAN و امکان ارسال broadcast است.

 

PPPoE server بر روی روتر سیسکو

Cisco همانند همیشه که کاملترین راهکارها را در زمینه Routing  می دهد برای PPPoE Server نیز بهترین سرویس را ارائه می دهد. که به نحوه پیکر بندی آن می پردازیم:
این امکان وجود دارد که بر روی sub-interface  ها نیز PPPoE Server  داشته باشیم که تنظیمات آن با اینترفیس معمولی تفاوتی ندارد.

من نتوانستم آمار دقیقی از مدلهای روتر سیسکو که از PPPoE پشتیبانی می کنند بگیرم اما روی سری های 2800,3600,3700,3800,7000 خودم تست کرده ام.

ابتدا باید VPDN را فعال کنیم:


VPDN  enable


سپس باید یک vpdn group  بسازیم که در بعضی IOS ها میبایست به جای آن از bba group استفاده کرد


vpdn-group admins
 accept-dialin
  protocol pppoe
  virtual-template 1

که در گروه ساخته شده بالا virtual template 1 برای دیگر تنظیمات به آن معرفی شده است.
و در صورت عدم وجود vpdn-group چنین می نویسیم:


bba-group pppoe global
 virtual-template 1
sessions max limit 1400
sessions per-vc limit 1400
sessions per-mac limit 1400
sessions per-vlan limit 1400

 

اکنون باید یک ip pool  برای آدرسهایی که میخواهیم به کلاینت ها داده شود بسازیم:


Ip local pool  Persianadmins 172.16.0.10 172.16.0.250


حالا میبایست virtual template مورد نظر را config کنیم:

 

interface Virtual-Template1
mtu 1400
ip unnumbered FastEthernet0
peer default ip address pool Persianadmins


برای کلاینت ها میبایست DNS نیز قرار دهیم پس می نویسیم:


Ip name-server  8.8.8.8
Ip name-server 192.9.9.3


 بعد از آن باید آدرسهای کلاینت ها را NAT کنیم. بر فرض اینکه آدرس valid روتر 109.74.224.1  باشد می نویسیم:


Access-list  10 permit 172.16.0.0  0.0.0.255
Ip nat pool valid  109.74.224.1 109.74.224.1 prefix-length 24
Ip nat inside source list 10  pool valid overload


و در آخر وارد اینترفیس مربوطه می شویم و بر روی آن PPPoE را enable  می کنیم:

Int fast0/1
pppoe enable

اکنون تمامی کامپیوتر های داخل آن LAN می توانند از طریق کانکشن PPPoE به اینترنت متصل شوند