Giới thiệu về NAT và PAT

Một phần của tài liệu GIÁO TRÌNH CCNA - Chương 4: Công nghệ WAN và bảo mật ppt (Trang 45 - 183)

NAT hoạt động trên một router Cisco và được thiết kế để đơn giản hóa

địa chỉ IPv4 và bảo tồn. NAT cho phép địa chỉ riêng IPv4 sử dụng địa chỉ IPv4

không đăng kí để kết nối với Internet. Thông thường, NAT kết nối hai mạng

lưới và dịch địa chỉ riêng trong mạng nội bộ (inside local) vào địa chỉ công cộng (inside global) trước khi gói tin được chuyển tiếp đến một mạng khác. Là một phần của chức năng này, bạn có thể cấu hình NAT để quảng cáo chỉ có một

địa chỉ cho toàn bộ mạng thế giới bên ngoài. Quảng cáo chỉ có một địa chỉ có hiệu quả ẩn mạng nội bộ từ thế giới bên ngoài, cung cấp thêm tính bảo mật cho hệ thống mạng bên trong. Hình 2-1 cho thấy một ví dụ về sự biên dịch địa chỉ

Hình 2-1: Network Address Translations

Bất kỳ thiết bị nằm giữa một mạng nội bộ và mạng công cộng như tường lửa,

router, hoặc một máy tính – sử dụng NAT, được định nghĩa trong RFC 1631.

Trong thuật ngữ NAT, mạng bên trong (inside network) là tập hợp của các

mạng để dịch. Mạng lưới bên ngoài (outside network) đề cập đến tất cả các địa

chỉ khác. Thông thường đây là những địa chỉ hợp lệ trên Internet.

Cisco định nghĩa về NAT:

Inside local address: Các địa chỉ IPv4 được gán cho một host trên mạng bên

trong. Các địa chỉ bên trong có thể không phải là một địa chỉ IPv4 được gán bởi

Trung tâm Mạng lưới thông tin hoặc nhà cung cấp dịch vụ.

Inside global address: Một địa chỉ IPv4 hợp pháp được gán bởi các nhà cung cấp NIC hoặc nhà cung cấp dịch vụ mà đại diện cho một hoặc nhiều địa chỉ IPv4 bên trong đến với thế giới bên ngoài.

Outside local address: Các địa chỉ IPv4 của một host bên ngoài khi nó xuất

hiện với mạng bên trong. Không nhất thiết phải hợp pháp, các địa chỉ bên ngoài

Outside global address: Các địa chỉ IPv4 được gán cho một host trên mạng

bên ngoài của chủ sở hữu host. Các địa chỉ bên ngoài được cấp phát từ một địa

chỉ trên toàn cục định tuyến hay không gian mạng.

NAT có nhiều hình thức và có thể làm việc theo nhiều cách sau:

Static NAT: Gán địa chỉ IPv4 không đăng ký với một địa chỉ IPv4 đăng ký

(one to one). NAT tĩnh đặc biệt hữu ích khi một thiết bị được truy cập từ bên ngoài mạng.

Dynamic NAT: Gán địa chỉ IPv4 không đăng ký với một địa chỉ IPv4 đăng

ký từ một nhóm các địa chỉ IPv4 đăng ký.

NAT overloading: Gán nhiều địa chỉ IPv4 không đăng ký với một địa chỉ IPv4 đơn đăng ký (many to one) bằng cách sử dụng các cổng khác nhau. Quá tải

(overloading) còn được gọi là PAT và là một dạng của NAT động.

NAT cung cấp những lợi ích hơn khi sử dụng các địa chỉ công cộng:

■ Loại bỏ sự cần thiết phải gán lại địa chỉ cho tất cả các host có yêu cầu truy cập

ra bên ngoài, tiết kiệm thời gian và tiền bạc.

■ Bảo tồn địa chỉ thông qua ghép kênh các cổng ứng dụng. Với NAT, host nội

bộ có thể chia sẻ một địa chỉ IPv4 đăng ký duy nhất cho tất cả các thông tin liên lạc bên ngoài. Trong loại cấu hình, tương đối ít các địa chỉ bên ngoài là cần thiết để hỗ trợ nhiều host nội bộ, do đó bảo tồn các địa chỉ IPv4.

■ Bảo vệ an ninh mạng. Bởi vì các mạng cá nhân không quảng cáo địa chỉ của

họ hoặc cấu trúc liên kết nội bộ, họ vẫn an toàn hợp lý khi họ đạt được kiểm

soát truy cập bên ngoài kết hợp với NAT.

Một trong những tính năng chính của NAT là PAT, mà cũng được gọi là "overload" trong cấu hình Cisco IOS. PAT cho phép bạn chuyển nhiều địa chỉ

nội bộ thành một địa chỉ bên ngoài duy nhất, cơ bản cho phép các địa chỉ nội bộ để chia sẻ một địa chỉ bên ngoài. Hình 2-2 cho thấy một ví dụ về dịch địa chỉ Port. Danh sách sau đây nêu bật những hoạt động của PAT:

Hình 2-2: Port Address Translation

■ PAT sử dụng số nguồn cổng duy nhất trên địa chỉ IPv4 để phân biệt giữa các bản dịch. Bởi vì số cổng được mã hóa trong 16 bit, tổng số phiên nội bộ NAT có thể dịch thành địa chỉ bên ngoài, về mặt lý thuyết, có đến 65.536.

■ PAT nỗ lực để bảo quản port nguồn gốc. Nếu các cổng nguồn đã được giao, PAT nỗ lực để tìm số cổng đầu tiên có sẵn. Nó bắt đầu từđầu của nhóm cổng phù hợp, 0 đến 511, 512-1023, hoặc 1024-65535. Nếu PAT không tìm thấy một cổng có sẵn từ các nhóm cổng phù hợp và nếu có nhiều hơn một địa chỉ IPv4 bên ngoài được cấu hình, PAT di chuyển đến địa chỉ IPv4 tiếp theo và cố gắng bố trí các cổng nguồn gốc một lần nữa. PAT tiếp tục cố gắng để bố trí các cổng nguồn gốc cho đến khi nó chạy ra cổng hiện có và địa chỉ IPv4 bên ngoài.

1. Biên dịch địa chỉ nguồn bên trong:

Ta có thể dịch các địa chỉ IPv4 riêng vào địa chỉ IPv4 toàn cầu duy nhất khi

đang giao tiếp bên ngoài mạng. Ta có thể cấu hình dịch tĩnh hoặc động địa chỉ

nguồn bên trong.

Hình 2-3 minh họa một router dịch một địa chỉ nguồn bên trong một mạng vào một địa chỉ nguồn bên ngoài mạng.

Hình 2-3: Biên dịch một địa chỉ với NAT. Các bước để dịch một địa chỉ nguồn bên trong như sau:

Bước 1:Người dùng tại host 1.1.1.1 sẽ mở ra một kết nối tới host B.

Bước 2:Các gói tin đầu tiên mà router nhận được từ host 1.1.1.1, router sẽ kiểm tra bảng NAT của nó.

• Nếu một mục biên dịch tĩnh được cấu hình, các bộđịnh tuyến đi đến Bước 3. • Nếu không có mục biên dịch nào tồn tại, router sẽxác định rằng địa chỉ nguồn 1.1.1.1 (SA 1.1.1.1) phải được dịch tựđộng. Router sau đó chọn một địa chỉ

hợp pháp, có giá trị toàn cục từcác pool địa chỉ động và tạo ra một mục biên dịch (trong ví dụ, 2.2.2.2). Loại mục này được gọi là một mục nhập đơn giản (simple entry).

Bước 3: Router thay thếđịa chỉ nguồn bên trong nội bộ của host 1.1.1.1 với mục biên dịch địa chỉ toàn cục và chuyển tiếp các gói tin.

Bước 4: Host B nhận được gói dữ liệu và phản hồi tới host 1.1.1.1 bằng cách sử

địa chỉ nội bộ bên trong của host 1.1.1.1 và chuyển tiếp các gói tin đến host 1.1.1.1. Host 1.1.1.1 nhận được gói và tiếp tục cuộc trao đổi thông tin. Router thực hiện bước 2 đến 5 cho mỗi gói.

Bảng sau minh họa thứ tự mà một router tiến hành thẩm tra luồng dữ liệu, tuỳ

thuộc vào hướng của bản dịch.

Local to global Global to local

1. Kiểm tra danh sách đầu vào truy cập nếu sử dụng Ipsec.

2. Thực hiện giải mã-cho công nghệ

mã hóa hoặc IPsec.

3. Kiểm tra danh sách truy cập vào. 4. Kiểm tra tốc độ giới hạn của đầu vào.

5. Thực hiện thống kê các gói tin vào. 6. Thực hiện chính sách định tuyến. 7. Chuyển gói tin.

8. Chuyển tới cache web.

9. Thực hiện NAT bên trong ra bên ngoài (cục bộđến toàn cục).

10. Kiểm tra crypto map và đánh dấu cho việc mã hóa nếu thích hợp.

11. Kiểm tra danh sách truy cập ra bên ngoài.

1. Kiểm tra danh sách đầu vào truy cập nếu sử dụng IPsec.

2. Thực hiện giải mã-cho công nghệ

mã hóa hoặc IPsec.

3. Kiểm tra danh sách truy cập vào. 4. Kiểm tra tốc độ giới hạn của đầu vào.

5. Thực hiện thống kê các gói tin vào. 6. Thực hiện NAT ngoài vào trong (chuyển đổi địa chỉ từ toàn cục đến nội bộ).

7. Thực hiện chính sách định tuyến. 8. Chuyển gói tin.

9. Chuyển tới cache web.

10. Kiểm tra crypto map và đánh dấu cho việc mã hóa nếu thích hợp.

11. Kiểm tra danh sách truy cập ra bên ngoài. 12. Kiểm tra CBAC. 13. TCP đánh chặn. 14. Thực hiện mã hóa. 15. Thực hiện xếp hàng đợi. IPsec = IP security

CBAC = Context-Based Access Control

Để cấu hình biên dịch từ địa chỉ tĩnh bên trong trên router, làm theo các bước

sau:

Bước 1 Thiết lập biên dịch tĩnh giữa một địa chỉ nội bộ bên trong và một địa chỉ

bên trong toàn cục

Router(config)#ip nat inside source static local-ip global-ip.

Bước 2 Xác định và đánh dấu các giao diện cổng bên trong.

Router(config)#interfacetype number

Router(config-if)#ip nat inside

Bước 3:Xác định và đánh dấu các giao diện cổng bên ngoài.

Sử dụng lệnh show ip nat translation trong chếđộ EXEC để hiển thị thông tin biên dịch, như thể hiện ởđây:

2. Cơ chế NAT tĩnh:

Ví dụ này cho thấy việc sử dụng các phương pháp gán địa chỉ riêng biệt với NAT tĩnh cho mạng, như hình 2-4. Router biên dịch các gói tin từ host 10.1.1.2

đến một địa chỉ nguồn của 192.168.1.2.

Hình 2-4: NAT tĩnh

Để cấu hình biên dịch động địa chỉ nguồn, theo các bước sau:

Bước 1: Xác định một pool của các địa chỉ toàn cục được cấp phát khi cần thiết.

Router(config)#ip nat pool name start-ip end-ip {netmask netmask |

prefix-lengthprefix-length}

Dùng câu lệnh no ip nat poolđể bỏ cấu hình trên. Router(config)#interfacetype number

Router(config)#access-list access-list-number permit source [source- wildcard]

Bước 3: Thiết lập biên dịch động các địa chỉ nguồn, quy định cụ thể ACL đã

được định nghĩatrong bước trước.

Router(config)#ip nat inside source listaccess-list-numberpoolname

Bước 4:Xác định và đánh dấu các giao diện cổng bên trong.

Router(config)#interfacetype number

Router(config)#ip nat inside

Bước 5:Xác định và đánh dấu các giao diện cổng bên ngoài.

Router(config)#interfacetype number

Router(config)#ip nat outside

Sử dụng lệnh ip nat translations trong chếđộ EXEC để hiển thị thông tin biên dịch.

3. Cơ chếNAT động:

Ví dụ trong hình 2-5 cho thấy sự chuyển tất cả các địa chỉ nguồn mà thông qua 1 ACL, có nghĩa là một địa chỉ nguồn từ mạng 192.168.1.0/24, vào một địa chỉ

từ các pool có tên là net-208. Pool địa chỉ từ 171.69.233.209/28 đển 171.69.233.222/28.

Hình 2-5: NAT động.

4. Overloading một địa chỉ toàn cục bên trong:

Bạn có thể bảo tồn các địa chỉ trong pool địa chỉ bên trong toàn cục bằng cách

cho phép các router sử dụng một địa chỉ toàn cục bên trong cho nhiều địa chỉ

nội bộ bên trong. Khi overloading này được cấu hình, các bộ định tuyến duy trì

đầy đủ thông tin từ các giao thức cao cấp-thí dụ, số cổng TCP hoặc UDP-để

dịch địa chỉ bên trong toàn cục trở lại vào đúng địa chỉ nội bộ bên trong. Khi nhiều địa chỉ nội bộ bên trong gán đến một địa chỉ toàn cục bên trong, các số

cổng TCP hay UDP của mỗi host sẽ dùng để phân biệt giữa các địa chỉ nội bộ.

Hình 2-6 minh họa hoạt động NAT khi một địa chỉ toàn cục bên trong đại diện

cho nhiều địa chỉ nội bộ bên trong. Các số cổng TCP hoạt động giải quyết vấn đề phân biệt các địa chỉ.

Hình 2-6: Overloading một địa chỉ toàn cục bên trong.

Cả host B và host C nghĩ rằng họ đang nói chuyện với một host duy nhất tại địa

chỉ 2.2.2.2. Thật ra họ đang nói chuyện với các host khác nhau, số cổng chính là sự khác biệt. Trong thực tế, nhiều host bên trong có thể chia sẻ địa chỉ IPv4

trong toàn cục bằng cách sử dụng nhiều số cổng.

Router thực hiện quá trình khi overloading các địa chỉ toàn cục bên trong như

sau:

Bước 1:Người dùng tại host 1.1.1.1 sẽ mở ra một kết nối tới host B.

Bước 2:Các gói tin đầu tiên mà router nhận được từ host 1.1.1.1 và router kiểm

tra bảng NAT của nó.

Nếu không có mục biên dịch tồn tại, router sẽ xác định địa chỉ 1.1.1.1 phải được

biên dịch và thiết lập một bản dịch của các địa chỉ nội bộ bên trong 1.1.1.1 vào một địa chỉ pháp lý toàn cục ở bên trong. Nếu quá tải (overloading) được kích

hoạt và bản dịch khác đang hoạt động, router sử dụng lại địa chỉ bên trong toàn cục từ các bản dịch đó và tiết kiệm đủ thông tin để có thể dịch trở lại. Loại mục được gọi là một mục mở rộng (extended entry).

Bước 3: Router thay thế địa chỉ nguồn bên trong nội bộ 1.1.1.1 với các lựa chọn bên trong địa chỉ toàn cục và chuyển tiếp các gói tin.

Bước 4 Host B nhận được gói dữ liệu và phản hồi tới host 1.1.1.1 bằng cách sử

dụng địa chỉ IPv4 toàn cục 2.2.2.2.

Bước 5: Khi router nhận được gói tin với địa chỉ IPv4 trong toàn cục, các bộ định tuyến thực hiện một bảng NAT tra cứu. Sử dụngcác địa chỉ bên trong toàn cục và cổng và địa chỉ toàn cục bên ngoài và cổng như là một key, các router

dịch địa chỉ trở lại vào địa chỉ nội bộ bên trong 1.1.1.1 và chuyển tiếp các gói tin đến host 1.1.1.1. Host 1.1.1.1 nhận được gói và tiếp tục cuộc đàm thoại.

Router thực hiện bước 2 đến 5 cho mỗi gói.

Để cấu hình overloading của các địa chỉ toàn cục bên trong theo các bước sau:

Bước 1:Xác định một standard ACL cho phép các địa chỉ đó sẽ được biên dịch.

Router(connfig)#access-list access-list-number permit source [source- wildcard]

Bước 2: Thiết lập bảng dịch nguồn động, quy định cụ thể ACL đã được định

nghĩa trong bước trước.

Router(config)#ip nat inside source list access-list-number interface

interfaceoverload

Dùng câu lệnh no ip nat inside sourceđể bỏ lệnh trên. Từ khóa overloaddùng để bật tính năng PAT.

Bước 3Xác định giao diện cổng bên trong.

Router(config)#interfacetype number

Router(config-if)#ip nat inside

Bước 4:Xác định các giao diện cổng bên ngoài.

Router(config)#interfacetype number

Router(config-if)#ip nat outside

Sử dụng lệnh show ip nat translations trong chế độ EXEC để hiển thị thông tin

ip nat translation {timeout | udp-timeout | dns-timeout | tcp-timeout | finrst-

timeout | icmp-timeout | pptp-timeout | syn-timeout | port-timeout} {seconds |

never}

II - Giải quyết vấn đề bảng dịch :

Khi có vấn đề kết nối trong một môi trường NAT, nó thường rất khó để xác định nguyên nhân của vấn đề. NAT thường là nguyên nhân, trong khi thực tế có

một vấn đề cơ bản. Khi bạn đang cố gắng xác định nguyên nhân của một vấn đề

kết nối IPv4, nó giúp loại bỏ NAT như là vấn đề tiềm năng. Thực hiện theo các bước sau để xác minh rằng NAT đang hoạt động như mong đợi:

Bước 1 Dựa trên cấu hình, xác định rõ những gì NAT phải đạt được. Bạn có thể xác định cấu hình NAT có vấn đề.

Bước 2 Sử dụng lệnh show ip nat translationsđể xác định xem bản dịch đúng

chưa.

Bước 3 Kiểm tra sự chuyển đổi địa chỉ đang xảy ra bằng cách sử dụng lệnh

showdebug.

Bước 4 Xem xét cụ thể những gì đang xảy ra với các gói tin, và xác minh rằng các router có các thông tin định tuyến chính xác cho các địa chỉ dịch chuyển các

gói tin.

Nếu việc chuyển đổi địa chỉ không tương ứng trong bảng dịch, xác minh các

mục sau đây:

• Không có ACL hướng trong để từ chối gói tin vào các bộ định tuyến NAT.

• Các ACL được tham chiếu bởi lệnh NAT cho phép tất cả các mạng cần thiết. • Các pool có địa chỉ NAT đủ.

• Các giao diện cổng có đúng với NAT vào trong hay NAT ra ngoài.

Trong môi trường mạng đơn giản, nó rất hữu ích để theo dõi số liệu thống kê NAT bằng câu lệnh show ip nat statistics. Tuy nhiên, trong một môi trường

NAT phức tạp hơn với một số bản dịch đang diễn ra, lệnh này cho thấy không

còn hữu ích. Trong trường hợp này, nó có thể là cần thiết để chạy các lệnh

Một phần của tài liệu GIÁO TRÌNH CCNA - Chương 4: Công nghệ WAN và bảo mật ppt (Trang 45 - 183)