494 6 Đ ánh dấu cổng này là cổng kết nối ra mạng công cộng bên ngoài. Router (config -if) # ip nat outside Hình v ẽ - 2 hình Hình 1.1.4.a Sự chuyển đ ổ i đ ị a chỉ sẽ đư ợ c thưc hiện giữa hai cổng inside và outside 495 Hình 1.1.4.b. Cấu hình NAT chuyển đ ổ i cố đ ị nh từ đ ị a chỉ 10.1.1.2 sang 192.168.1.2. Khi có một gói dữ liệu từ host 10.1.1.2 đư ợ c gửi ra ngoài internet, router GW sẽ chuyển đ ổ i đ ị a chỉ nguồn 10.1.1.2 của gói dữ liệu sang đ ị a chỉ 192.168.1.2 trước khi phát gói ra cổng s0. 1.1.4.2. Chuyển đổi động Đ ể Chuyển đ ổ i đ ộ ng đ ị a chỉ nguồn bên trong, chúng ta cấu hình theo các bước như sau: Bước 1 Thực hiện Xác đ ị nh dải đ ị a chỉ đ ạ i diện bên ngoài Rourter (config) # ip nat pool name start-ip end-ip [netmask netmask /prefix-length prefix -length] 2 Ghi chú Trong chế đ ộ cấu hình toàn cục, gõ lệnh no ip na t pool name đ ể xóa dải đ ị a chỉ đ ạ i diên bên ngoài. Thiết lập ACL cơ bản cho phép những đ ị a Trong chế đ ộ cấu hình chỉ nội bộ bên trong nào đư ợ c chuyển đ ổ i. Router (config) # access - list access-list- number permit source [source-wildcard] toàn cục, gõ lệnh n o access-list access-list- number đ ể xóa ACL đ ó. 3 Thiết lập mối liên quan giữa đ ị a chỉ nguồn Trong chế đ ộ cấu hình đ ã đư ợ c xác đ ị nh trong ACL ở bước trên với toàn cục, gõ lênh no ip dải đ ị a chỉ đ ạ i diện bên ngoài: Router (config) # ip nat inside source li st access-list-number pool name nat inside source đ ể xóa sự chuyển đ ổ i đ ộ ng này 4 Xác đ ị nh cổng kết nối vào mạng nội bộ Sau khi gõ xong lệnh 496 Router (config) # interface type number interface, dấu nhắc của dòng lệnh sẽ chuyển đ ổ i từ config sang (config-if)# 5 Đ ánh dấu cổng này là cổng kết nối vào mạng nội bộ. Router (config -if) # ip nat inside 6 Thóat khỏi chế đ ộ cổng hiện tại. Router (config) # exit 7 Xác đ ị nh cổng kết nối ra bên ngoài. Router (config) # interface type number 8 Đ ánh dấu cổng này là cổng kết nối ra bên ngoài. Router (config) # ip nat outside Danh sách đ i ề u khiển truy cập (ACL – Access Control List) cho phép khai báo những đ ị a chỉ nào đư ợ c chuyển đ ổ i. Bạn nên nhớ là kết thúc một ACL luôn có câu lệnh ẩ n cấm tuyệt đ ố i đ ể tránh những kết quả không dự tính đư ợ c khi một ACL có quá nhiều đ i ề u kiện cho phép. Cisco khuyến cáo là không nên dùng đ i ề u kiện cho phép tất cả permit any trong ACL sử dụng cho NAT vì câu lệnh này làm hao tốn quá nhiều tài nguyên của Router và do đ ó có thể gây ra sự cố mạng. 497 Hình 1.1.4.c Xét ví dụ hình 1.1.4.c: Dải đ ị a chỉ công cộng đ ạ i diện ben ngoài có tên là nat- pool1, bao gồm các đ ị a chỉ từ 179.9.8.80 đ ế n 179.9.95. Đ ị a chỉ nội bộ bên trong đư ợ c phép chuyển đ ổ i đư ợ c đ ị nh nghĩa trong access-list 1 là 10.1.0.0 – 10.1.0.255. Như v ậy, gói dữ liệu nào trong mạng nội bộ đ i ra ngoài Internet có đ ị a chỉ nguồn nằm trong dải đ ị a chỉ 10.1.0.0 – 10.1.0.255 sẽ đư ợ c chuyển đ ổ i đ ị a chỉ nguồn sang một trong bất kỳ đ ị a chỉ nào còn trống trong dải đ ị a chỉ công cộng 179.9.8.80 – 179.9.8.95. Host 10.1.1.2 sẽ không đư ợ c chuyển đ ổ i đ ị a chỉ vì đ ị a chỉ của nó không đư ợ c cho phép trong acces-list 1, do đ ó nó không truy cập đư ợ c Internet. Overloading hay PAT Overloading đư ợ c cấu hình theo hai cách tùy theo đ ị a chỉ IP công cộng đư ợ c cấp phát như thể nào. Một ISP có thể cho một hệ thống mạng của khách hàng sử dụng chung một đ ị a chỉ IP công cộng duy nhất, đ ia jchỉ IP công cộng này chính là đ ị a chỉ của cổng giao tiểp trên Router nối về ISP. Sau đ ây là ví dụ cấu hình cho tình huống này: 498 Router (config) # access-list 1 permit 10.0.0.0 0.0.255.255 Router (config) ip nat inside source list 1 interface serial0/0 overload Bước Thực hiện 1 Ghi chú Tạo ACL đ ể cho phép những đ ị a chỉ nội bộ Trong chế đ ộ cấu hình nào đư ợ c chuyển đ ổ i. Router(config) # access-list acl-number toàn cục, gõ lệnh no access-list tương ứ ng. access-list- number đ ể xóa access-list permit source [source-wildcard] 2A Thiết lập mối liên quan giữa đ ị a chỉ nguồn đ ã Trong chế đ ộ cấu hình đư ợ c xác đ ị nh trong access-list ở bước trên với toàn cục, gõ lệnh no ip đ ị a chỉ đ ạ i diện là đ ị a chỉ của cổng kết nối với nat inside source đ ể xóa bên ngoài. Router (config) # ip nat inside source list acl- number interface interface overload sự chuyển đ ổ i đ ộ ng này. Từ khóa overload đ ể cho phép chạy PAT Hoặc 2B Khai báo dải đ ị a chỉ đ ạ i diện bên ngoài dùng overload. Router (config) ip nat pool name start-ip end- ip [netmask netmask / prefix - length prefix- length] Thiết lập chuyển đ ổ i overload giữa đ ị a chỉ nội bộ đ ã đư ợ c xác đ ị nh trong ACL ở bước 1 với dải đ ị a chỉ đ ạ i diện bên ngoài mới khai báo ở 499 trên. Router (config) # ip nat inside source list acl- number pool name overload 3 Xác đ ị nh cổng kết nối với mạng nội bộ. Router (config) # interface type number Router (config-if) # ip nat inside Sau khi gõ lệnh interface, dấu nhắc của dòng lệnh sẽ đư ợ c đ ổ i từ (config)# sang (config-if)# 4 Xác đ ị nh cổng kết nối với bên ngoài. Router (config) # interface type number Router (config-if) # ip nat outside. Một cách khác đ ể cấu hình Overload là khi ISP cung cấp một hoặc nhiều đ ị a chỉ IP công cộng đ ể cho hệ thống mạng khách hàng sử dụng làm dải đ ị a chỉ chuyển đ ổ i PAT. Cấu hình ví dụ cho tình huống này như sau: • Xác đ ị nh đ ị a chỉ nội bộ đư ợ c phép chuyển đ ổ i là 10.0.0.0/16: 500 Router (config) # access-list 1 permit 10.0.0.0.0.0.255.255 • Khai báo dải đ ị a chỉ đ ạ i diện bên ngoài với tên là nat-pool2, bao gồm các đ ị a chỉ trong subnet 179.9.8.20/28: Router (config) # ip nat pool nat-pool2 179.9.8.20 netmask 255.255.255.240 • Thiết lập sự chuyển đ ổ i Overload đ ị a chỉ nội bộ đư ợ c xác đ ị nh trong access- list 1 với dải đ ị a chỉ đ ạ i diện nat pool2: Router (config) # ip nat inside source list 1 pool nat-pool2 overload Hình 1.1.4.d. Xét ví dụ hình 1.1.4.d: đ ị a chỉ nội bộ bên trong đư ợ c phép chuyển đ ổ i đư ợ c xác đ ị nh trong access-list 1 là 192.168.2.0/24 và 192.168.3.0/24. Đ ị a chỉ đ ạ i diện bên ngoài là đ ị a chỉ của cổng serial 0, cổng kết nối ra Internet. Như vậy phải toàn bộ đ ị a chỉ bên trong đư ợ c chuyển đ ổ i PAT với một đ ị a chỉ IP đ ạ i diện duy nhất là đ ị a chỉ của cổng kết nối ra Internet, cổng serial 0. 501 1.1.5. Kiểm tra cấu hình PAT Sau khi NAT đ ã đư ợ c cấu hình, chúng ta có thể dùng lệnh clear và show đ ể kiểm tra hoạt đ ộ ng của NAT. Mặc đ ị nh, trong bảng chuyển đ ổ i NAT đ ộ ng, mỗi một cặp chuyển đ ổ i đ ị a chỉ sẽ bị xóa đ i sau một khoảng thời gian không sử dụng. Với chuyển đ ổ i không sử dụng chỉ số Port thì khoảng thời gian mặc đ ị nh là 24 giờ. Chúng ta có thể thay đ ổ i khoảng thời gian này bằng lệnh ip nat translation timeout timeout_seconds trong chế đ ộ cấu hình toàn cục. Các thông tin về sự chuyển đ ổ i có thể đư ợ c hiển thị bằng các lệnh sau: Lệnh Clear ip nat translation * Giải Thích Xóa mọi cặp chuyển đ ổ i đ ị a chỉ đ ộ ng trong bảng NAT. Clear ip nat translation inside global- Xóa một cặp chuyển đ ổ i đ ị a chỉ đ ộ ng ip local-ip [outside local-ip global-ip] bên trong hoặc cả bên trong và bên ngoài tương ứ ng với đ ị a chỉ cụ thể đư ợ c khai báo trong câu lệnh. Clear ip nat translation protocol inside Xóa một cặp chuyển đ ổ i đ ị a chỉ đ ộ ng global -ip global-port local-ip local-port mở rộng. [outside local-ip local-port global-ip global -port] Show ip nat translations Show ip nat statistics Hiển thị bảng NAT đ ang hoạt đ ộ ng. Hiển thị trạng thái hoạt đ ộ ng của NAT. 502 Hình 1.1.5.a Hình 1.1.5.b Chúng ta có thể dùng lệnh show run đ ể kiểm tra lại các giá trị cần khai báo trong các câu lệnh cấu hình NAT, access-list, interface. 1.1.6. Xử lý sự cố cấu hình NAT và PAT Thường rất khó xác đ ị nh nguyên nhân của sự cố khi kết nối IP bị sự cố trong môi trường NAT. Nhiều khi chúng ta nhầm lẫn là do NAT gây ra nhưng thực sự nguyên nhân lại nằm ở chỗ khác. Khi cố gắng xác đ ị nh nguyên nhân sự cố của một kết nối IP, chung ta nên cố gắng xác đ ị nh loại trừ khả năng từ NAT trước. Sau đ ay là các bước đ ể kiểm tra hoạt đ ộ ng của NAT: 1. Dựa vào tập tin cấu hình, xác đ ị nh rõ ràng NAT thực hiện những gì. 2. Kiểm tra bảng NAT xem các chuyển đ ổ i đ ị a chỉ có đ úng không. 3. Kiểm tra hoạt đ ộ ng NAT xảy ra như thế nào bằng các lệnh show và debug. 4. Xem chi tiết những gì xảy ra cho một gói dữ liệu và kiểm tra xem router có đ ị nh tuyến đ úng cho gói dữ liệu hay không. 503 Sử dụng lệnh debug ip nat đ ể kiểm tra hoạt đ ộ ng của NAT, hiển thị các thông tin về mỗi gói đư ợ c chuyển đ ổ i NAT bởi router. Lệnh debug ip nat detal còn cung cấp thêm một số thông tin liên quan đ ế n sự chuyển của mỗi gói giúp chúng ta xác đ ị nh lỗi, ví dụ như lỗi không xác đ ị nh đư ợ c đ ị a chỉ đ ạ i diện bên ngoài. Hình 1.1.6 Xét ví dụ hình 1.1.6. Hai dòng đ ầ u tiên cho thấy các gói yêu cầu và trả lời DNS đư ợ c phát đ i. Những dòng còn lại cho biết về một kết nối Telnet từ một host bên trong tới một host bên ngoài mạng. Đ ể giải mã những thông tin hiển thị của lệnh debug, chúng ta dựa vào những đ i ể m mấu chốt sau: • Dấu * kế bên từ NAT cho biết sự chuyển đ ổ i đ ang đư ợ c thực hiện trên đư ờ ng chuyển mạch nhanh. Gói dữ liệu đ ầ u tiên của một phiên đ ố i thoại luôn đư ợ c xử lý chuyển mạch nên chuyển mạch chậm. Các gói dữ liệu tiếp theo đư ợ c truyền chuyển mạch nhanh với bộ đ ệ m, không cần xử lý nhiều như gói đ ầ u tiên. . chú Trong chế đ ộ cấu hình toàn cục, gõ lệnh no ip na t pool name đ ể xóa dải đ ị a chỉ đ ạ i diên bên ngoài. Thiết lập ACL cơ bản cho phép những đ ị a Trong chế đ ộ cấu hình. overload Hình 1.1.4.d. Xét ví dụ hình 1.1.4.d: đ ị a chỉ nội bộ bên trong đư ợ c phép chuyển đ ổ i đư ợ c xác đ ị nh trong access-list 1 là 192.168.2.0/24 và 192.168 .3. 0/24. Đ ị a. 502 Hình 1.1.5.a Hình 1.1.5.b Chúng ta có thể dùng lệnh show run đ ể kiểm tra lại các giá trị cần khai báo trong các câu lệnh cấu hình NAT, access-list, interface. 1.1.6. Xử lý sự cố cấu