Tìm hiểu về NAT: Network Address Translation

Trong môi trường WORKGROUP các máy liên hệ với nhau thông qua IP Address do chúng ta tự gán cho từng máy hoặc do DHCP Server cấp phát các IP Address dạng này được gọi là IP Private hay nói cách khác các máy từ một mạng khác thông qua Internet sẽ không thể truy cập vào các máy này với IP Private đó.

Mà khi đó cả hệ thống mạng chúng ta sẽ liên lạc với các mạng bên ngoài thông qua một IP Address khác được gọi là IP Public, IP này ta có được là do nhà cung cấp dịch vụ ISP cung cấp hoặc bạn phải liên hệ nhà cung cấp để mua nó. Nếu bạn mua IP Public này thì IP Public của bạn là duy nhất nhưng nếu là do nhà cung cấp dịch vụ gán thì IP Public này sẽ là IP động hay nói cách khác nó sẽ thay đổi một cách ngẫu nhiên.

double-nat-illustration-100711217-large.jpg (699×466)


VD: Hệ thống mạng của bạn bao gồm 5 máy có IP Address từ 192.168.1.2 đến 192.168.1.6 và được gắn với một Router ADSL có IP là 192.168.1.1 thì các IP này gọi là IP Private

Lúc này nhà cung cấp dịch vụ ISP sẽ tự gán cho toàn hệ thống mạng của bạn một IP bất kỳ nào đó chẳng hạn như 222.254.136.25 thì IP này sẽ gọi là IP Public, và các máy trên Internet nhìn vào mạng của chung ta chỉ thấy duy nhất một IP Public này mà thôi.

Bây giờ giả sử tôi có 2 mạng hoàn toàn độc lập với nhau và có thể nhìn thấy nhau thông qua mạng Internet với IP Public do nhà cung cấp dịch vụ cấp, tuy nhiên do mỗi mạng có nhiều máy tính mà từ mạng này chỉ thấy duy nhất của mang kia một IP Public duy nhất mà thôi.

Vậy khi tôi đứng từ một máy tính bất kỳ trong mạng thứ 1 tôi không thể truy cập tài nguyên của một máy bất kỳ từ mạng thứ 2 được

Tuy nhiên với công cụ Network Address Translation - NAT của Windows sẽ giúp ta giải quyết vấn đề này. Tính năng chủ yếu của NAT Server là phân tích các yêu cầu của các máy Client hoặc các yêu cầu từ Internet và trả về kết quả yêu cầu nếu có.

VD: Trong mạng ta chỉ định máy NAT Server có IP là 192.168.1.2 và một máy cài dịch vụ Web Server có IP là 192.168.1.5 thì một máy nào đó trên Internet khi truy cập vào mạng của ta thông qua giao thức Web (Port 80) sẽ được NAT Server dẫn đến máy có IP là 192.168.1.5

NAT có 2 dạng đó là NAT cứng và NAT mềm, vậy khi nào ta triển khai NAT cứng và khi nào cần triển khai NAT mềm?

Khi mạng của chúng ta < 4 máy thì ta nên sử dụng NAT Cứng





Khi đó tất cả các máy trong mạng LAN nối trực tiếp với Router ADSL hoặc thông qua một Switch và kết nối với Router ADSL. Trong mô hình này chúng ta sẽ tiết kiệm được chi phí nhưng bù lại Modem ADSL sẽ làm việc quá sức vì bản thân nó cũng có CPU và RAM để phân tích dữ liệu, nhưng vì CPU & RAM của Router ADSL rất khiêm tốn nên xử lý các gói tin rất chậm chạp.

Do đó với một mạng > 4 máy ta nên chọn mô hình thứ 2 là NAT Mềm. Với mô hình này ta phải dựng một NAT Server với 2 Card Lan riêng biệt. Một Card nối với các máy khác trong mạng thông qua Switch, Card còn lại nối trực tiếp với Router ADSL. Khi đó các máy Client muốn lên Internet phải thông qua NAT Server và từ đó NAT Server sẽ thông qua Router ADSL để kết nối Internet.

Vì NAT Server có CPU & RAM mạnh gấp nhiều lần so với CPU & RAM của Router ADSL nên có tốc độ xử lý nhanh hơn.





Trong bài Lab này tôi sử dụng 3 mạng trong đó hai máy PC01 & PC03 được nối với nhau thông qua Card Lan với mạng 192.168.1.0/24 đóng vai trò là một mạng Internet. Mạng 172.16.1.0/24 chính là mạng Lan của chúng ta và mạng 10.0.1.0/24 là mạng ngoài dùng để truy cập vào mạng của chúng ta. Khi đó các IP trong mạng 192.168.1.0/24 là các IP Public

Trong đó máy PC02 & PC04 đóng vai trò là các máy Client trong mạng tương ứng

Máy PC01 sẽ cài dịch vụ NAT Server

Như vậy nếu ta đứng từ máy PC04 ta truy cập vào máy PC02 thành công đồng nghĩa với việc một máy từ mạng ngoài thông qua IP Public truy cập thành công vào mạng chúng ta nhờ NAT Server dẫn đường.





Cấu hình IP các máy như sau:

Cấu hình IP 4 máy tính

Vì trong bài Lab này 2 máy PC01 & PC03 đóng vai trò là Router nên ta phải cài đặt LAN Routing để có thể nối các mạng lại với nhau







Trong cửa sổ Configuration bạn chọn Custom configuration

Tại máy PC01 ta cài cả 2 dịch vụ đó là NAT and basic firewall & LAN Routing





PC01 sau khi cài đặt hoàn tất bạn sẽ thấy có thêm mục NAT/Basic firewall

Trong khi đó tại PC03 ta không cài thêm mục NAT and basic firewall mà chỉ cài LAN Routing mà thôi





Tại NAT Server bạn nhấp phải vào NAT/Basic Firewall chọn New Interface

Vì NAT Server yêu cầu phải có 2 Card Lan trở lên, một card đóng vai trò ngõ ra của các máy trong mạng Lan (trong bài này chính là Card Cross) Card còn lại để kết nối Internet và là ngõ vào của các yêu cầu từ Internet (trong bài này chính là Card Lan). Vì vậy tại đây ta phải cấu hình cả 2 Card ra vào của hệ thống

Đầu tiên bạn chọn Card Cross





Vì Card Cross chỉ kết nối với các máy trong mạng Lan nên IP của nó là IP Private nên trong mục Interface type bạn chọn lựa chọn đầu tiên Private interface connected to private network





Tiếp tục cấu hình cho Card Lan





Nhưng lần này ta chọn là Public interface connected to the internet và chọn luôn 2 lựa chọn bên dưới là:

Enable NAT on this interface: bật tính năng NAT trên cổng này

Enable a basic firewall on this interface: bật tường lửa trên cổng này





Đến đây cơ bản ta đã hoàn tất cấu hình xong NAT Server cho các máy trong mạng LAN nhưng nếu một máy nào đó trên mạng Internet truy cập vào mạng chúng ta sẽ vẫn chưa vào được các máy Client bên trong do nó chỉ thấy duy nhất mỗi IP Public của Router chúng ta mà thôi (trong ví dụ này IP Public chính là IP Card Lan của máy PC01)

Ví dụ trong hệ thống mạng chúng ta bây giờ có máy PC02 cài dịch vụ Web Server và bạn muốn ai đó khi truy cập vào mạng chúng ta thông qua giao thức Web (Port 80) sẽ truy cập thẳng vào máy này. Do đó tại NAT Server ta phải cấu hình Card Lan chỉ định các cổng giao tiếp với bên ngoài

Tại cửa sổ Network Address Translation Properties của Card Lan bạn chọn Tab Services and Ports





Chọn tiếp mục Web Server (HTTP)

Cửa sổ Edit Services hiện ra cho ta thấy rõ rằng Port mà ta đang cấu hình chính là Port 80, tại đây ta phải nhập IP của máy PC02 vào tại mục Private address có như vậy khi máy ngoài truy cập vào hệ thống mạng thì NAT Server sẽ dựa vào đây dẫn đường đến máy PC02





Do tại đây chúng ta giả lập mạng 192.168.1.0/24 là mạng Internet nên tôi phải nối 2 mạng 172.16.1.0/24 và 10.0.1.0/24 lại với nhau bằng RIP (xem lại bài Routing) cả máy PC01 & PC03 cùng làm

Chọn RIP Version 2 for internet protocol





Interface chính là Card Lan

Chọn Lan và OK





Bây giờ tại máy PC04 tôi truy cập vào mạng 172.16.1.0/24 thông qua IP Public là 192.168.1.1 sẽ thấy hiện ra trang Web của PC02 (xem thêm bài IIS để biết cấu hình Web Server)