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!