Thursday, November 21, 2024

[Cisco] PPPoE

-

Trong bài viết tuần này, chúng ta cùng trao đổi về một kỹ thuật được sử dụng rất nhiều  trên các đường truyền Internet ADSL hoặc FTTH – kỹ thuật PPPoE.  

PPP là một giao thức chuyên dụng chạy trên các đường link point – to – point, Ethernet là  một giao thức data link multiaccess nổi trội được sử dụng rất rộng rãi trong các mạng  doan nghiệp ngày nay. Kỹ thuật PPPoE cho phép chạy giao thức data link PPP trên một  đường truyền Ethernet, tận dụng được đầy đủ các ưu điểm của hai loại data link nổi bật  này. Như thường lệ, chúng ta cùng khảo sát vấn đề quan tâm thông qua một ví dụ cấu hình.

Sơ đồ

Hình 1 – Sơ đồ bài lab ví dụ.

Mô tả 

  • Sơ đồ bài lab gồm hai router R1 và R2 được đấu nối với nhau như hình vẽ bằng  một đường link Ethernet. 
  • Bài lab này sẽ thực hiện cấu hình để biến đường link Ethernet này thành một  đường PPPoE cho phép R1 và R2 tận dụng được những tính năng đặc biệt của  PPP cho đường link Ethernet. 

Yêu cầu 

  • Cấu hình R1 làm PPPoE server và R2 làm PPPoE client, thiết lập liên kết PPPoE  giữa R1 và R2. 
  • Thực hiện xác thực CHAP giữa R1 và R2, sử dụng password chung trên hai router  là CISCO. 
  • Trên link PPPoE này, đặt địa chỉ cho R1 là 192.168.12.1/30 và cho R2 là  192.168.12.2/30. Kiểm tra rằng hai địa chỉ này đã đi đến được nhau. 

Thực hiện 

Cấu hình 

Trên R1

R1(config)#bba-group pppoe R1_R2 
R1(config-bba-group)#virtual-template 1 
R1(config-bba-group)#exit

R1(config)#interface virtual-template 1 
R1(config-if)#encapsulation ppp 
R1(config-if)#ip address 192.168.12.1 255.255.255.252 
R1(config-if)#ppp authentication chap 
R1(config-if)#exit 

R1(config)#username R2 password CISCO 
R1(config)#interface f0/0 
R1(config-if)#no shutdown  
R1(config-if)#pppoe enable group R1_R2 
R1(config-if)#exit

Trên R2

R2(config)#interface f0/0 
R2(config-if)#no shutdown 
R2(config-if)#pppoe-client dial-pool-number 1 
R2(config-if)#exit 

R2(config)#interface dialer 0 
R2(config-if)#dialer pool 1 
R2(config-if)#encapsulation ppp 
R2(config-if)#ip address 192.168.12.2 255.255.255.252 
R2(config-if)#exit 

R2(config)#username R1 password CISCO

Ghi chú 

PPPoE – PPP over Ethernet là kỹ thuật cho phép truyền frame PPP qua môi trường  Ethernet. Điều này cho phép triển khai các đường link point – to – point qua một môi  trường multi access, từ đó có thể áp dụng trên data link các phương pháp xác thực mà các  kỹ thuật multi access không hỗ trợ, cũng như tận dụng được những đặc điểm của data  link point – to – point dù đang sử dụng môi trường truyền tải multi access. PPPoE được  sử dụng rộng rãi trong các kỹ thuật truy nhập băng rộng như ADSL hay FTTH,… PPPoE sử dụng mô hình client – server. Hoạt động thiết lập một session PPPoE được mô  tả trong hình 2:

Hình 2 – Trao đổi thiết lập PPPoE session.

Ta tóm lược các bước như sau: 

  • Khi một PPPoE client muốn thiết lập kết nối PPPoE, nó gửi broadcast gói tin  PADI (PPPoE Active Discovery Initiation) vào môi trường multi – access. ∙ Nếu trên môi trường multi access này tồn tại một PPPoE server, server sẽ hồi đáp  một gói tin PADO (PPPoE Active Discovery Offer) đến địa chỉ MAC của client  đã khởi tạo session.  
  • Nếu client chấp nhận gói tin offer trả về này, nó sẽ gửi ra gói tin PADR (PPPoE  Active Discovery Request) đến server để yêu cầu dịch vụ PPP. 
  • Nếu server đồng ý với request nhận được, nó sẽ hồi đáp lại cho client gói tin  PADS (PPPoE Active Discovery Session confirmation), client và server có thể bắt  đầu trao đổi các gói PPP bên trong các Ethernet frame để thực hiện thương lượng  các thông số và thiết lập kết nối PPP. 

Trong các IOS cũ, việc cấu hình PPPoE server đòi hỏi phải sử dụng các lệnh “vpdn”  (Virtual Private Dialin Network). Trong các hệ điều hành mới sau này, một cú pháp mới  cho riêng hoạt động cấu hình PPPoE đã được tích hợp, sử dụng mode cấu hình “bba group” – viết tắt của Broadband Aggregation Group. Chúng ta có thể sử dụng Global  group – là group áp cho mọi cổng được cấu hình để kết cuối PPPoE, hoặc chúng ta có thể  tạo các group riêng và hiệu chỉnh các thông số theo ý mình rồi áp các group khác nhau  này vào các cổng khác nhau. 

Một yêu cầu bắt buộc khác trong việc cấu hình PPPoE server là chúng ta phải cấu hình  một interface virtual – template và áp nó lên các BBA – group. Virtual – template đơn  thuần là một dạng khuôn mẫu cấu hình được định trước và có thể sử dụng cho nhiều  group, chúng ta sẽ thiết lập các thông số PPP trên virtual – template này, trong đó có  thông số của hoạt động xác thực. 

Việc cấu hình PPPoE client trên router khá rõ ràng: chúng ta tạo ra một interface dialer,  cấu hình các thông số PPP và địa chỉ IP trên nó rồi áp nó vào một cổng vật lý bằng cách  sử dụng một thông số có tên là “dialer pool”. 

Chúng ta có thể tham khảo cấu hình chi tiết đã được trình bày ở trên. Trong cấu hình này,  ngoài các template, interface được cấu hình cho hoạt động PPPoE, chúng ta còn thực hiện  cấu hình xác thực CHAP cho kết nối PPPoE giữa R1 và R2. Phương thức xác thực này  vận hành hoàn toàn giống như khi chạy trên một đường link PPP thực sự.  

Một điểm cần lưu ý là vì PPP chạy trên Ethernet nên dẫn đến này sinh vấn đề về MTU.  Giá trị MTU mặc định của giao thức Ethernet là 1500 byte và chúng ta có thêm 8 byte  header PPP được đóng gói vào bên trong Ethernet frame, do đó giá trị MTU của PPPoE  chỉ còn lại 1500 – 8 = 1492 byte. Để tránh các vấn đề phân mảnh, chúng ta nên cấu hình  lại giá trị MTU trên các cổng PPPoE. 

Trên R1:

R1(config)#interface virtual-template 1 
R1(config-if)#mtu 1492 
R1(config-if)#exit

Trên R2:

R2(config)#interface dialer 0 
R2(config-if)#mtu 1492 
R2(config-if)#exit

Ngoài ra, để tránh việc các TCP session hoạt động bị lỗi, chúng ta nên hiệu chỉnh thêm  giá trị TCP MSS về 1452 (1500 – 8 – 40) (20 byte IP header và 20 byte TCP header) trên  router client nếu router này phải đóng vai trò router kết cuối đi Internet (router ADSL  hoặc FTTH):

R2(config)#interface dialer 0 
R2(config-if)#ip tcp adjust-mss 1452

Kiểm tra 

Ta kiểm tra rằng link PPPoE đã thông suốt IP:

R1#ping 192.168.12.2 

Type escape sequence to abort. 
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
!!!!! 
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/48/64 ms

Các PPPoE session đã được thiết lập:

R1#show pppoe session  
 1 session in LOCALLY_TERMINATED (PTA) State 
 1 session total 

Uniq ID PPPoE RemMAC Port VT VA State  SID LocMAC VA-st  18 18 0021.a053.94d0 Fa0/0 1 Vi1.1 PTA   0017.9550.6e18 UP  

R2#show pppoe session  
 1 client session  

Uniq ID PPPoE RemMAC Port VT VA State  SID LocMAC VA-st  N/A 18 0017.9550.6e18 Fa0/0 Di0 Vi1 UP   0021.a053.94d0 UP 

Trên đây, chúng ta đã hoàn tất cấu hình một bài lab ví dụ về PPPoE. PPPoE được sử  dụng nhiều trong thực tế doanh nghiệp, đặc biệt là với các đường truy nhập Internet. Nắm  vững kỹ thuật này là một yêu cầu cần thiết với các kỹ sư network. 

Cảm ơn các bạn! 

Hẹn gặp lại các bạn trong các bài viết tiếp theo!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories