1. Cấu hình NAT
Trong phần này sẽ tập trung chủ yếu vào chính sách dịch địa chỉ để chuyển đổi thông lượng qua các thiết bị của bạn. Phần này sẽ trình bày cách để cấu hình một địa chỉ NAT, PAT động . Một địa chỉ NAT, PAT tĩnh là như thế nào. Hạn chế số lượng kết nối TCP, để ngăn chặn các cuộc tấn công tràn TCP SYN , và kiểm tra cấu hình dịch. Một địa chỉ được dịch phải đảm bảo các yêu cầu sau đây:
Yêu cầu cấu hình: Trong phiên bản 6 hoặc phiên bản trước đó. Bạn luôn phải cấu hình rule cho Nat các gói tin. Hay nói cách khác, nếu gói tin không được cho phép bởi Rule NAT thì nó sẽ bị cấm. Rule này áp dụng cho cả traffic vào và ra
Trong phiên bản 7, NAT là tùy chọn và không được yêu cầu. Để khởi động tính năng NAT, sử dụng câu lệnh sau:
Asa(config)#nat-control
Lần thứ nhất ta yêu cầu địa chỉ dịch với lệnh nat-control, quy tắc này cũng tương tự trong phiên bản 6.0. Nếu chính sách giữa inbound và outbound không liên kết được với nhau và một địa chỉ dịch có giá trị thì packet bị lỗi. Tuy nhiên, có một ngoại lệ đối với quy tắc này là: nếu có 2 interface tham gia vào quá trình giaop tiếp có mức độ bảo mật như trên thì chúng ta không cần đến một địa chỉ dịch theo quy tắc để chuyển paket giữa chúng.
2. Cấu hình NAT động
Việc cấu hình một địa chỉ dịch động ( cả NAT hay PAT) tham gia vào 2 quá trình xử lý sau:
– Xác định địa chỉ local sẽ được NAT
– Tạo nên một địa chỉ global mà địa chỉ local có thể được NAT tới
– Theo đó chúng ta có thể cấu hình 2 loại này mà không có vấn đề gì. Phần sau ta sẽ bàn tới việc từng bước cài đặt địa chỉ NAT và PAT động cũng như diễn đạt lại nhiều ví dụ khác nhau của các ví dụ dịch động
Xác định địa chỉ local trong việc dịch
Để xác định một địa chỉ local có thể được dịch, ta sử dụng lệnh nat như sau:
ciscoasa(config)# nat (logical_if_name) NAT_ID
local_IP_addr subnet_mask
[tcp] max_TCP_conns [embryonic_conn_limit]
[udp max_UDP_conns] [dns] [norandomseq]
Những quy định cụ thể của lệnh nat mà địa chỉ local sẽ dịch sang quy định rất ngiêm khắc trong lệnh global. Tên logic của interface nơi mà các thiết bị vùng được đặt xuất hiện trong dấu ngoặc đơn (“( )”), ví dụ như : (inside)
NAT_ID Các mối quan hệ giữa lệnh nat và global, tạo ra một chính sách.Nhưng trong một số trường hợp ngoại lệ, số lượng bạn sử dụng cho các NAT_ID (số chính sách) không quan trọng. Có một trường hợp đặc biệt bằng cách sử dụng một số NAT_ID: nếu bạn nhập số 0, bạn đang nói với các thiết bị mà các địa chỉ theo sau này trong lệnh nat không nên translated. Cisco đề cập đến tính năng này như nhận dạng NAT, đã được giới thiệu trong phiên bản 6.2. Bạn có thể muốn sử dụng nhận dạng NAT nếu bạn có một hỗn hợp các địa chỉ công cộng và cá nhân đang được sử dụng bên trong mạng của bạn cho các máy tính với địa chỉ công cộng, bạn có thể vô hiệu hóa NAT bằng cách sử dụng lệnh nat 0 và quy định cụ thể địa chỉ hoặc địa chỉ của các thiết bị.Nếu bạn quy định số lượng địa chỉ mạng cho một địa chỉ local, cũng như ước lượng xấp xỉ số mặt nạ mạng con, thì ta điền số mạng và một mặt nạ mạng con bạn có thể thay đổi địa chỉ dịch (những địa chỉ inside của interface).Để làm điều đó ta dùng lệnh sau:
ciscoasa(config)# nat (inside) 1 0.0.0.0 0.0.0.0
lệnh NAT-ID tương ứng với lệnh global. Chú ý rằng ta có thể rút gọn chuỗi 0.0.0.0 0.0.0.0 chỉ thành 0 0.
Bạn có thể giới hạn tổng kết nối TCP bằng lện: (max_TCP_conns), và cũng có thể giảm một nửa kết nối TCP: embryonic_conn_limit
Bắt đầu từ phiên bản 7.0 bạn có thể giới hạn số lượng tối đa cho một kết nối UDP. Tuy nhiên nếu bạn không cấu hình giới hạn số kết nối cho thiết bị mà đã dùng các chính sách để liên kết với nhau thì bảng conn table vẫn hỗ trợ cho các thiết bị được cho phép
Để hiển thị những lệnh nat của bạn gõ lệnh: show run nat command.
Cách tạo một dải địa chỉ global
Chính sách dịch luôn cấu hình giữa một cặp interface, ví dụ như inside và outside, hoặc dmz và outside. Lệnh nat định nghĩa local hoặc interface gốc của một địa chỉ dịch
Để định nghĩa đích đến hay interface đầu ra chứa địa chỉ global, ta sử dụng lệnh global như sau:
ciscoasa(config)# global (logical_if_name) NAT_ID
first_global_IP_addr[-last_global_IP_addr]
[netmask subnet_mask]
Logical_if_name là tham số miêu tả tên logic của interface. Thông lượng sẽ được dịch và chuyển ra trên interface này.
The NAT_ID là tham số cơ bản của lệnh. Đây là địa chỉ global có thể được sử dụng
Việc dịch PAT có thể bị xóa khỏi bảng khi không có kết nối tương ứng trong bảng giới hạn thời gian kết nối. Trong khi việc dịch NAT thì không nể sử dụng lệnh để điều khiển thời gian (thời gian mặc định hết hạn là 3 giờ)
Văn Công Thắng – VnPro
Trong phần này sẽ tập trung chủ yếu vào chính sách dịch địa chỉ để chuyển đổi thông lượng qua các thiết bị của bạn. Phần này sẽ trình bày cách để cấu hình một địa chỉ NAT, PAT động . Một địa chỉ NAT, PAT tĩnh là như thế nào. Hạn chế số lượng kết nối TCP, để ngăn chặn các cuộc tấn công tràn TCP SYN , và kiểm tra cấu hình dịch. Một địa chỉ được dịch phải đảm bảo các yêu cầu sau đây:
Yêu cầu cấu hình: Trong phiên bản 6 hoặc phiên bản trước đó. Bạn luôn phải cấu hình rule cho Nat các gói tin. Hay nói cách khác, nếu gói tin không được cho phép bởi Rule NAT thì nó sẽ bị cấm. Rule này áp dụng cho cả traffic vào và ra
Trong phiên bản 7, NAT là tùy chọn và không được yêu cầu. Để khởi động tính năng NAT, sử dụng câu lệnh sau:
Asa(config)#nat-control
Lần thứ nhất ta yêu cầu địa chỉ dịch với lệnh nat-control, quy tắc này cũng tương tự trong phiên bản 6.0. Nếu chính sách giữa inbound và outbound không liên kết được với nhau và một địa chỉ dịch có giá trị thì packet bị lỗi. Tuy nhiên, có một ngoại lệ đối với quy tắc này là: nếu có 2 interface tham gia vào quá trình giaop tiếp có mức độ bảo mật như trên thì chúng ta không cần đến một địa chỉ dịch theo quy tắc để chuyển paket giữa chúng.
2. Cấu hình NAT động
Việc cấu hình một địa chỉ dịch động ( cả NAT hay PAT) tham gia vào 2 quá trình xử lý sau:
– Xác định địa chỉ local sẽ được NAT
– Tạo nên một địa chỉ global mà địa chỉ local có thể được NAT tới
– Theo đó chúng ta có thể cấu hình 2 loại này mà không có vấn đề gì. Phần sau ta sẽ bàn tới việc từng bước cài đặt địa chỉ NAT và PAT động cũng như diễn đạt lại nhiều ví dụ khác nhau của các ví dụ dịch động
Xác định địa chỉ local trong việc dịch
Để xác định một địa chỉ local có thể được dịch, ta sử dụng lệnh nat như sau:
ciscoasa(config)# nat (logical_if_name) NAT_ID
local_IP_addr subnet_mask
[tcp] max_TCP_conns [embryonic_conn_limit]
[udp max_UDP_conns] [dns] [norandomseq]
Những quy định cụ thể của lệnh nat mà địa chỉ local sẽ dịch sang quy định rất ngiêm khắc trong lệnh global. Tên logic của interface nơi mà các thiết bị vùng được đặt xuất hiện trong dấu ngoặc đơn (“( )”), ví dụ như : (inside)
NAT_ID Các mối quan hệ giữa lệnh nat và global, tạo ra một chính sách.Nhưng trong một số trường hợp ngoại lệ, số lượng bạn sử dụng cho các NAT_ID (số chính sách) không quan trọng. Có một trường hợp đặc biệt bằng cách sử dụng một số NAT_ID: nếu bạn nhập số 0, bạn đang nói với các thiết bị mà các địa chỉ theo sau này trong lệnh nat không nên translated. Cisco đề cập đến tính năng này như nhận dạng NAT, đã được giới thiệu trong phiên bản 6.2. Bạn có thể muốn sử dụng nhận dạng NAT nếu bạn có một hỗn hợp các địa chỉ công cộng và cá nhân đang được sử dụng bên trong mạng của bạn cho các máy tính với địa chỉ công cộng, bạn có thể vô hiệu hóa NAT bằng cách sử dụng lệnh nat 0 và quy định cụ thể địa chỉ hoặc địa chỉ của các thiết bị.Nếu bạn quy định số lượng địa chỉ mạng cho một địa chỉ local, cũng như ước lượng xấp xỉ số mặt nạ mạng con, thì ta điền số mạng và một mặt nạ mạng con bạn có thể thay đổi địa chỉ dịch (những địa chỉ inside của interface).Để làm điều đó ta dùng lệnh sau:
ciscoasa(config)# nat (inside) 1 0.0.0.0 0.0.0.0
lệnh NAT-ID tương ứng với lệnh global. Chú ý rằng ta có thể rút gọn chuỗi 0.0.0.0 0.0.0.0 chỉ thành 0 0.
Bạn có thể giới hạn tổng kết nối TCP bằng lện: (max_TCP_conns), và cũng có thể giảm một nửa kết nối TCP: embryonic_conn_limit
Bắt đầu từ phiên bản 7.0 bạn có thể giới hạn số lượng tối đa cho một kết nối UDP. Tuy nhiên nếu bạn không cấu hình giới hạn số kết nối cho thiết bị mà đã dùng các chính sách để liên kết với nhau thì bảng conn table vẫn hỗ trợ cho các thiết bị được cho phép
Để hiển thị những lệnh nat của bạn gõ lệnh: show run nat command.
Cách tạo một dải địa chỉ global
Chính sách dịch luôn cấu hình giữa một cặp interface, ví dụ như inside và outside, hoặc dmz và outside. Lệnh nat định nghĩa local hoặc interface gốc của một địa chỉ dịch
Để định nghĩa đích đến hay interface đầu ra chứa địa chỉ global, ta sử dụng lệnh global như sau:
ciscoasa(config)# global (logical_if_name) NAT_ID
first_global_IP_addr[-last_global_IP_addr]
[netmask subnet_mask]
Logical_if_name là tham số miêu tả tên logic của interface. Thông lượng sẽ được dịch và chuyển ra trên interface này.
The NAT_ID là tham số cơ bản của lệnh. Đây là địa chỉ global có thể được sử dụng
Việc dịch PAT có thể bị xóa khỏi bảng khi không có kết nối tương ứng trong bảng giới hạn thời gian kết nối. Trong khi việc dịch NAT thì không nể sử dụng lệnh để điều khiển thời gian (thời gian mặc định hết hạn là 3 giờ)
Văn Công Thắng – VnPro