Hướng dẫn cấu hình Policy NAT trên Cisco ASA Firewall

Hướng dẫn cấu hình Policy NAT trên Cisco ASA Firewall

Như chúng ta đã biết, chức năng NAT thông thường trên các thiết bị Cisco (bộ định tuyến, tường lửa ASA, v.v.) chuyển địa chỉ IP NGUỒN sang đại chỉ khác. Ngoài ra còn có cái gọi là “NAT dựa trên đích” (hoặc có thể thấy nó được gọi là “NAT ngược”) thay đổi địa chỉ IP đích. Ở đây chúng ta sẽ xử lý NAT dựa trên nguồn thông thường bằng một chính sách.

Đôi khi chúng ta cần thay đổi địa chỉ IP nguồn thành một địa chỉ nguồn khác (hãy gọi nó là “translated-A”) khi chúng ta đang giao tiếp với “destination-A” và cũng thay đổi IP nguồn thành “translated-B” khi chúng ta đang giao tiếp với "destination-B".

Để rõ ràng hơn, chúng ta xem xét kịch bản như sau:

  • Khi máy chủ nội bộ 192.168.1.1 muốn giao tiếp với máy chủ bên ngoài 100.100.100.1, thì máy chủ nội bộ phải được dịch sang 50.50.50.1
  • Khi máy chủ nội bộ 192.168.1.1 muốn giao tiếp với máy chủ bên ngoài 200.200.200.1, thì máy chủ nội bộ phải được dịch sang 50.50.50.2

Chúng ta có thể đạt được chức năng trên với NAT dựa trên chính sách (Policy-Based NAT).

Configuration Example

Giả sử rằng máy chủ nội bộ 192.168.1.1 được kết nối với giao diện bên trong của ASA. Giả sử dãi IP Public đang có là 50.50.50.0/24. Chúng ta sẽ sử dụng dải IP Public để dịch máy chủ nội bộ của chúng ta theo đích.

! Đầu tiên, hãy tạo danh sách truy cập cho Policy NAT
ASA-TGM(config)# access-list POLICYNAT-A extended permit ip host 192.168.1.1 host 100.100.100.1
ASA-TGM(config)# access-list POLICYNAT-B extended permit ip host 192.168.1.1 host 200.200.200.1


! Bây giờ hãy tạo bản dịch NAT tĩnh cho Destination-A
ASA-TGM(config)# static(inside,outside) 50.50.50.1 access-list POLICYNAT-A

! Bây giờ tạo bản dịch NAT tĩnh cho Destination-B
ASA-TGM(config)# static(inside,outside) 50.50.50.2 access-list POLICYNAT-B

Các lệnh trên sẽ thực hiện như sau: Khi địa chỉ nguồn là 192.168.1.1 và địa chỉ đích là 100.100.100.1, thì hãy thay đổi địa chỉ nguồn thành 50.50.50.1.

Tương tự, khi địa chỉ nguồn là 192.168.1.1 và đích là 200.200.200.1, thì hãy thay đổi địa chỉ nguồn thành 50.50.50.2.

Các lệnh nat tĩnh ở trên sẽ chỉ có hiệu lực khi và chỉ khi lưu lượng truy cập giữa các máy chủ được tham chiếu trong danh sách truy cập (hoặc lưu lượng truy cập vào hoặc ra).

Cấu hình Policy NAT trên Firewall Cisco ASA

Policy NAT cho phép bạn xác định địa chỉ thật để NAT bằng cách xác định địa chỉ nguồn và địa chỉ đích trong extended access list. Bạn cũng có thể tùy chỉnh port nguồn và port đích. Nat thông thường chỉ xem xét địa chỉ nguồn và không xét địa chỉ đích. Policy Nat không hỗ trợ time-based access list.

Ta xét các ví dụ sau:


Ví dụ 1: Dùng máy tính có địa chỉ trên mạng 10.1.2.0/24 truy cập đến hai server khác nhau. Khi máy tính truy cập đến server có địa chỉ IP 209.165.201.11 thì địa chỉ thật của máy tính sẽ được dịch sang địa chỉ 209.165.202.129. Khi máy tính truy cập đến server có địa chỉ ip 209.165.200.225 thì địa chỉ máy tính sẽ được dịch sang địa chỉ 209.165.202.130.

Các lệnh cấu hình như sau:

ASA-TGM(config)# access-list NET1 permit ip 10.1.2.0 255.255.255.0 209.165.201.0 255.255.255.224
ASA-TGM(config)# access-list NET2 permit ip 10.1.2.0 255.255.255.0 209.165.200.224 255.255.255.224
ASA-TGM(config)# nat (inside) 1 access-list NET1
ASA-TGM(config)# global (outside) 1 209.165.202.129
ASA-TGM(config)# nat (inside) 2 access-list NET2
ASA-TGM(config)# global (outside) 2 209.165.202.130

Ví dụ 2: Máy tính trên mạng 10.1.2.0/24 truy cập một server duy nhất cho cả dịch vụ web và các dịch vụ Telnet. Khi máy tính truy cập đến server cho các dịch vụ web, địa chỉ máy tính được dịch sang địa chỉ 209.165.202.129. Khi máy tính truy cập cùng một máy chủ cho các dịch vụ Telnet, địa chỉ máy tính được dịch sang địa chỉ 209.165.202.130.

Các lệnh cấu hình như sau:

ASA-TGM(config)# access-list WEB permit tcp 10.1.2.0 255.255.255.0 209.165.201.11 255.255.255.255 eq 80
ASA-TGM(config)# access-list TELNET permit tcp 10.1.2.0 255.255.255.0 209.165.201.11 255.255.255.255 eq 23
ASA-TGM(config)# nat (inside) 1 access-list WEB
ASA-TGM(config)# global (outside) 1 209.165.202.129
ASA-TGM(config)# nat (inside) 2 access-list TELNET
ASA-TGM(config)# global (outside) 2 209.165.202.130

Đối với Policy static NAT, bạn có thể bắt đầu lưu lượng truy cập đến và từ máy chủ thật. Tuy nhiên, địa chỉ đích trong ACL chỉ được sử dụng cho traffic được khởi tạo bởi máy chủ thật. Đối với traffic truy cập đến máy chủ thật từ mạng đích, địa chỉ nguồn không được kiểm tra, và theo NAT rule thì địa chỉ máy chủ thật được sử dụng. Vì vậy, nếu bạn cấu hình Policy static NAT như sau:

ASA-TGM(config)# access-list NET1 permit ip 10.1.2.0 255.255.255.224 209.165.201.0 255.255.255.224
ASA-TGM(config)# static (inside,outside) 209.165.202.128 access-list NET1

Khi các máy chủ trên mạng 10.1.2.0/27 truy cập đến mạng 209.165.201.0/24, chúng được dịch sang các địa chỉ tương ứng trên mạng 209.165.202.128/27. Nhưng bất kỳ máy chủ nào bên ngoài cũng có thể truy cập các địa chỉ 209.165.202.128/27, không chỉ các máy chủ trên mạng 209.165.201.0/24.

Do địa chỉ nguồn không được kiểm tra cho lưu lượng truy cập đến máy chủ thật, vì vậy bạn không thể sử dụng Policy static NAT để dịch các địa chỉ thật khác nhau đến cùng một địa chỉ được ánh xạ. Ví dụ mô hình sau:

ASA-TGM(config)# static (in,out) 209.165.200.225 access-list policy-nat
ASA-TGM(config)# access-list policy-nat permit ip host 10.1.1.1 host 209.165.201.1
ASA-TGM(config)# access-list policy-nat permit ip host 10.1.1.2 host 209.165.201.2

Mô hình trên, cho thấy hai máy chủ bên trong là 10.1.1.1 và 10.1.1.2, mà bạn muốn được dịch sang 209.165.200.225. Khi máy chủ 209.165.201.1 bên ngoài kết nối tới địa chỉ 209.165.200.225, thì kết nối đến 10.1.1.1. Khi máy chủ 209.165.201.2 bên ngoài kết nối đến cùng một địa chỉ 209.165.200.225, nhưng bạn muốn kết nối đến 10.1.1.2. Tuy nhiên, vì địa chỉ đích trong ACL không được kiểm tra cho traffic truy cập đến máy chủ thật, thì ACL đầu tiên phù hợp với máy chủ thật được sử dụng. Vì ACL đầu tiên là cho 10.1.1.1, sau đó tất cả các kết nối gửi đến từ 209.165.201.1 và 209.165.201.2 và định tuyến tới 209.165.200.255 sẽ có địa chỉ đích được dịch sang 10.1.1.1.

Chúc các bạn thành công!

Nếu bạn có bất kỳ câu hỏi hoặc gặp khó khăn, đừng ngần ngại liên hệ với chúng tôi theo thông tin dưới đây để được hỗ trợ thêm.

CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH

• Địa chỉ: Số 23E4 KĐT Cầu Diễn, Tổ 7, Phú Diễn, Bắc Từ Liêm, Hà Nội

• Điện thoại: 02432012368

• Hotline: 098 115 6699

 Email: info@datech.vn

• Website: https://datech.vn