NAT là gì? Tìm hiểu cách thức hoạt động và cách cấu hình NAT trên Router Cisco

NAT là gì?

NAT (Network Address Translation) là “dịch địa chỉ mạng”. Đây là kỹ thuật được sử dụng để chuyển đổi địa chỉ Private IP (địa chỉ IP riêng) của các thiết bị trong một mạng LAN thành địa chỉ Public IP (địa chỉ IP công cộng) để giúp các thiết bị này có thể truy cập vào Internet. Tức là với NAT nhiều thiết bị trong mạng LAN có thể sử dụng một địa chỉ IP công cộng duy nhất để hoạt động trên Internet.

Để hiểu rõ ràng hơn, ta sẽ cùng đi vào những đặc điểm khi kết nối trên internet như sau:

  • Để có thể hoạt động trên Internet, bất kỳ thiết bị nào cũng cần phải có một địa chỉ IP. Địa chỉ IP này sẽ là địa chỉ IP công cộng vì nó là duy nhất trên toàn thế giới.
  • Tuy nhiên ta có thể sử dụng Private IP cho các thiết bị trong mạng LAN. Địa chỉ IP riêng thì không phải duy nhất trên toàn thế giới nhưng nó là duy nhất trong một mạng LAN. Tức là ta có thể định tuyến dữ liệu dựa trên địa chỉ Private IP này trong mạng LAN.
  • Ý tưởng của NAT chính là việc chuyển địa chỉ Private sang địa chỉ IP công cộng để có thể kết nối với Internet. Với NAT tất cả các thiết bị trong mạng LAN chỉ cần sử dụng một địa chỉ IP công cộng duy nhất. Khi dữ liệu từ máy chủ web trả về thì Router sẽ dựa trên bảng lưu trữ địa chỉ NAT để biết được chính xác thiết bị nào trong mạng LAN cần dữ liệu.

Dịch địa chỉ mạng NAT được sử dụng với mục đích ban đầu để bỏ qua nhu cầu gán địa chỉ mới cho mọi máy chủ khi mạng được di chuyển hoặc đổi nhà cung cấp dịch vụ Internet. NAT đã trở thành một công cụ hữu hiệu giúp tiết kiệm tài nguyên địa chỉ IPv4.

Minh họa NAT là gì
Minh họa NAT là gì

Bình thường, Router và Firewall NAT cũng sẽ thực hiện chức năng NAT này. Khi một thiết bị muốn kết nối vào Internet, các thiết bị mạng sẽ gán địa chỉ IP công cộng cho thiết bị đó.

Với mạng gia đình thì địa chỉ IP thường được nhà ISP cung cấp. Do đó, Modem và bộ định tuyến DSL sẽ thực hiện NAT cho các thiết bị trong mạng gia đình.

NAT hoạt động như thế nào?

Về cơ bản, Bộ định tuyến được cấu hình cho NAT. Nghĩa là Router sẽ có 1 giao diện cho mạng cục bộ LAN và 1 giao diện cho mạng toàn cầu WAN. Khi một gói đi qua mạng LAN sang mạng WAN thì NAT sẽ chuyển đổi địa chỉ riêng thành địa chỉ công cộng. Và ngược lại khi một gói đi từ mạng WAN vào mạng LAN thì NAT sẽ chuyển địa chỉ IP công cộng thành địa chỉ IP riêng.

Hình ảnh minh họa cho NAT là gì
Hình ảnh minh họa cho NAT hoạt động

Trong trường hợp NAT hết địa chỉ. Có nghĩa là không còn địa chỉ nào trong nhóm được cấu hình thì các gói sẽ bị loại bỏ và gói không thể truy cập giao thức điều khiển ICMP của máy chủ đích sẽ được gửi.

Ngoài ra, NAT còn dịch số cổng tức là thay thế số cổng của máy chủ bằng một số cổng khác trong gói sẽ được định tuyến đến đích. Sau đó, nó tạo mục tương ứng về địa chỉ IP và số cổng trong bảng NAT.

Sở dĩ NAT phải chuyển đổi số cổng của máy chủ là bởi vì: Nếu có 2 máy chủ đều yêu cầu tới 1 đích trên cùng 1 số cổng cùng một lúc. Nếu NAT chỉ dịch địa chỉ IP thì khi các gói của chúng đến NAT. Cả hai địa chỉ IP của máy chủ đều sẽ được chuyển thành địa chỉ công cộng và được gửi đến đích. Khi máy chủ đích gửi phản hồi, NAT sẽ không biết được phản hồi thuộc máy chủ nào? (vì số cổng nguồn của hai máy chủ đều giống nhau). Đo đó, NAT sẽ che dấu cả số cổng nguồn và tạo một mục riêng trong bảng NAT.

Phân biệt địa chỉ NAT bên trong và bên ngoài

Địa chỉ NAT bên trong đề cập đến các địa chỉ phải được dịch. Bên ngoài đề cập đến các địa chỉ không thuộc quyền kiểm soát của một tổ chức. Ta cần phải phân biệt rõ các loại địa chỉ sau:

  • Địa chỉ nội bộ bên trong (Inside local) – là loại địa chỉ IP được gán cho máy chủ trên mạng LAN. Địa chỉ này là địa chỉ riêng và không phải do nhà ISP cung cấp. Đây là máy chủ bên trong được nhìn từ mạng bên trong.
  • Địa chỉ toàn cầu bên trong (Inside Global) – là loại địa chỉ IP công cộng đại diện cho một hoặc nhiều địa chỉ IP riêng của mạng LAN. Đây là máy chủ bên trong được nhìn từ mạng bên ngoài.
  • Địa chỉ bên ngoài cục bộ (Outside Local) – là địa chỉ IP thực của máy chủ đích trong mạng nội bộ sau khi dịch.
  • Địa chỉ toàn cầu bên ngoài (Outside Global) – là địa chỉ IP của máy chủ đích bên ngoài trước khi dịch.

Các loại NAT

các loại NAT

Có 3 cách để định cấu hình NAT hiện nay:

Static NAT

  • Trong loại NAT này, một địa chỉ IP riêng không đăng ký (Private IP) được ánh xạ với một địa chỉ IP được đăng ký hợp pháp (Public IP), tức là có sự tương ứng một-một giữa địa chỉ cục bộ và địa chỉ toàn cầu.
  • Loại này thường được sử dụng cho việc lưu trữ trang web (Web hosting).
  • Static NAT không thường được sử dụng trong tổ chức do có nhiều thiết bị cần truy cập Internet và cung cấp truy cập Internet cần sử dụng địa chỉ IP công cộng.
  • Điều này dẫn đến tình trạng nếu tổ chức cần 3000 thiết bị truy cập Internet, họ phải mua 3000 địa chỉ IP công cộng, gây chi phí lớn.

Dynamic NAT

  • Trong loại NAT này, một địa chỉ IP không đăng ký (unregistered IP) sẽ được chuyển đổi thành một địa chỉ IP được đăng ký (Public IP) từ một nhóm địa chỉ IP công cộng.
  • Nếu địa chỉ IP trong nhóm không còn trống, gói tin sẽ bị loại bỏ, vì chỉ một số lượng cố định địa chỉ IP riêng có thể được chuyển đổi thành địa chỉ IP công cộng.
  • Điều này có nghĩa, nếu có một nhóm 2 địa chỉ IP công cộng, chỉ có thể chuyển đổi 2 địa chỉ IP riêng vào một thời điểm. Nếu địa chỉ IP riêng thứ 3 muốn truy cập Internet, gói tin sẽ bị loại bỏ.
  • NAT loại này thường được sử dụng khi số lượng người dùng muốn truy cập Internet là cố định. Cũng tương tự như Static NAT, việc mua nhiều địa chỉ IP toàn cầu để tạo một nhóm là tốn kém.

Port Address Translation

  • Còn được gọi là NAT overload. Trong loại này, nhiều địa chỉ IP cục bộ (private IP) có thể được chuyển đổi thành một địa chỉ IP được đăng ký (Public IP) duy nhất.
  • Số hiệu cổng (port numbers) được sử dụng để phân biệt các luồng dữ liệu, tức là luồng dữ liệu nào thuộc về địa chỉ IP nào.
  • Đây là loại NAT thường được sử dụng phổ biến nhất vì có thể kết nối hàng ngàn người dùng tới Internet chỉ bằng một địa chỉ IP toàn cầu.
  • Loại này tiết kiệm chi phí vì tổ chức chỉ cần một địa chỉ IP công cộng thực tế để cung cấp truy cập Internet cho nhiều người dùng.

Cấu hình NAT từ cơ bản đến nâng cao trên Router Cisco

Dưới đây là một hướng dẫn cấu hình Network Address Translation (NAT) từ cơ bản đến phức tạp trên một bộ định tuyến Cisco. Lưu ý rằng các bước và cú pháp có thể thay đổi tùy theo thiết bị và phiên bản phần mềm.

Cấu hình Basic NAT (Static NAT):

Trong ví dụ này, chúng ta sẽ cấu hình Static NAT để chuyển đổi một địa chỉ IP riêng cụ thể thành một địa chỉ IP công cộng.

1. Đăng nhập vào bộ định tuyến qua giao diện người dùng hoặc dòng lệnh.

2. Chọn chế độ cấu hình. Ví dụ:

configure terminal

3. Cấu hình ánh xạ địa chỉ IP:

ip nat inside source static [inside_local_IP] [outside_global_IP]

Trong đó, [inside_local_IP] là địa chỉ IP riêng trong mạng cục bộ và [outside_global_IP] là địa chỉ IP công cộng muốn ánh xạ.

4. Kích hoạt chức năng NAT trên giao diện mạng bên trong:

interface [inside_interface] ip nat inside

5. Kích hoạt chức năng NAT trên giao diện mạng bên ngoài:

interface [outside_interface] ip nat outside

Trong đó, [outside_interface] là tên của giao diện kết nối với mạng bên ngoài (Internet).

Lưu cấu hình và khởi động lại bộ định tuyến để áp dụng thay đổi.

Cấu hình Dynamic NAT:

Trong ví dụ này, chúng ta sẽ cấu hình Dynamic NAT để ánh xạ các địa chỉ IP riêng thành các địa chỉ IP công cộng từ một nhóm địa chỉ IP công cộng.

1. Thực hiện các bước từ 1 đến 3 như trong cấu hình Basic NAT.

2. Cấu hình NAT pool (nhóm địa chỉ IP công cộng):

ip nat pool [pool_name] [start_IP] [end_IP] netmask [subnet_mask]

Trong đó, [pool_name] là tên của pool, [start_IP] và [end_IP] là địa chỉ IP đầu và cuối của pool, [subnet_mask] là subnet mask của địa chỉ IP công cộng.

3. Cấu hình ánh xạ địa chỉ IP:

ip nat inside source list [ACL_number] pool [pool_name]

Trong đó, [ACL_number] là số của Access Control List (ACL) xác định các địa chỉ IP riêng, [pool_name] là tên của pool NAT.

4. Kích hoạt chức năng NAT trên giao diện mạng bên trong và bên ngoài như trong cấu hình Basic NAT.

Cấu hình Port Address Translation (PAT):

Trong ví dụ này, chúng ta sẽ cấu hình PAT để ánh xạ nhiều địa chỉ IP riêng thành một địa chỉ IP công cộng duy nhất thông qua số hiệu cổng.

1. Thực hiện các bước từ 1 đến 3 như trong cấu hình Basic NAT.

2. Cấu hình ánh xạ địa chỉ IP sử dụng PAT:

ip nat inside source list [ACL_number] interface [outside_interface] overload

Trong đó, [ACL_number] là số của Access Control List (ACL) xác định các địa chỉ IP riêng, [outside_interface] là tên của giao diện kết nối với mạng bên ngoài.

3. Kích hoạt chức năng NAT trên giao diện mạng bên trong như trong cấu hình Basic NAT.

Lưu cấu hình và khởi động lại bộ định tuyến.