Thủ thuật công nghệ

Giới thiệu về UAG DirectAccess – Phần 2: Kỹ thuật chuyển đổi IPv6 và NRPT

Giới thiệu về UAG DirectAccess – Phần 2: Kỹ thuật chuyển đổi IPv6 và NRPT

<>Quản Trị Mạng – <>Trong phần này chúng tôi sẽ giới thiệu cho các bạn một số kỹ thuật chuyển đổi IPv6 được sử dụng bởi máy chủ và máy khách DirectAccess nhằm cho phép dữ liệu IPv6 có thể luân chuyển được trong mạng IPv4.

Chúng ta hiện đang sử dụng các mạng IPv4 và chắc chắn một điều là các mạng này sẽ vẫn sử dụng trong một thời gian dài nữa. Mặc dù hiện đã có một số mạng bước đầu chuyển sang sử dụng IPv6 nhưng việc triển khai, nâng cấp các giao thức này diễn ra rất chậm và đôi khi không được chuyển đổi một cách hoàn chỉnh. Thêm vào đó, có rất ít máy tính có thể truy cập Internet IPv6, chính vì vậy có thể nói quá trình chuyển đổi sang IPv6 sẽ còn rất dài.

<>Các kỹ thuật chuyển đổi sang IPv6

Do máy khách DirectAccess sử dụng IPv6 để kết nối đến máy chủ DirectAccess và có thể đến máy chủ nằm trong mạng công ty, nên cần phải có phương pháp để cho phép dữ liệu IPv6 này di chuyển trong mạng IPv4. DirectAccess giải quyết vấn đề này bằng cách sử dụng một số kỹ thuật chuyển đổi IPv6 khác nhau, giúp dữ liệu IPv6 được đóng gói trong các IPv4 header và vì vậy có thể di chuyển trong các mạng “IPv4-only” ngày nay. Các kỹ thuật được sử dụng ở đây là:

  • <>Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)

    ISATAP được sử dụng trên các mạng nội bộ để các host truyền thông với nhau bằng IPv6. Cách thực hiện là sử dụng một adapter ISATAP tunnel có gán địa chỉ IPv6 và sau đó đóng gói dữ liệu truyền thông trong ISATAP này bên trong IPv4 header và gửi đi trong cơ sở hạ tầng mạng nội bộ. Khi các dữ liệu này đến được máy chủ đích của nó, IPv4 header sẽ được tháo gỡ ra và lộ diện các IPv6 header lẫn tải trọng. ISATAP cho phép bạn có thể sử dụng tất cả các ưu việt của IPv6 mà không yêu cầu nâng cấp các thiết bị mạng cũng như cơ sở hạ tầng.
     
  • <>6to4 Protocol
     
    Giao thức 6to4 được sử dụng bởi máy khách DirectAccess khi máy khách này được gán public IP. Cũng như ISATAP, một adapter 6to4 tunnel sẽ tự động được cấu hình trên máy khách DirectAccess có địa chỉ IPv6. Dữ liệu IPv6 của máy khách DirectAccess sẽ được gửi ra từ adapter này và sau đó được đóng gói trong IPv4 header để di chuyển trong mạng IPv4-only đến máy chủ DirectAccess. UAG DirectAccess Wizard sẽ tự động cấu hình máy chủ UAG DirectAccess như một 6to4 router cho tổ chức do đó mà bạn không cần phải biết bất cứ thứ gì về 6to4. 6to4 yêu cầu tất cả thiết bị được đặt giữa máy khách và máy chủ DirectAccess cho phép giao thức IPv4.
     
  • <>Teredo Protocol
     
    Giao thức Teredo là một kỹ thuật chuyển đổi IPv6 khác mà máy khách DirectAccess sử dụng để kết nối với máy chủ UAG DirectAccess qua mạng IPv4 Internet. Teredo được sử dụng khi máy khách DirectAccess được gán địa chỉ IP riêng và có truy cập outbound đến cổng UDP 3544 trên máy chủ UAG DirectAccess. Với Teredo, dữ liệu IPv6 sẽ được gửi thông qua adapter Teredo (tự động được cấu hình trên máy khách DirectAccess) và sau đó được đóng gói bên trong một IPv6 header, sau đó tiếp tục được đóng gói trong UDP header. Hai địa chỉ public IP phải được gán cho giao diện bên ngoài của máy chủ UAG DirectAccess; Chúng được sử dụng để xác định kiểu thiết bị NAT mà máy khách DirectAccess nằm phía sau. Thêm vào đó, tất cả thiết bị cần cho phép ping để máy khách Teredo có thể kết nối đến chúng.
     
  • <>IP-HTTPS Protocol
     
    IP-HTTPS là một giao thức hoàn toàn mới được phát triển bởi Microsoft, giao thức này cho phép các máy khách DirectAccess có thể kết nối với máy chủ UAG DirectAccess chỉ khi cổng outbound TCP 443 được cho phép truyền thông với máy khách. Cách thức này được sử dụng trong trường hợp các tường lửa được thiết lập ở mức rất hạn chế hoặc khi tổ chức mà máy khách DirectAccess chỉ cho phép truy cập outbound thông qua thiết bị Web proxy. Với IP-HTTPS, máy khách DirectAccess sẽ thiết lập một adapter IP-HTTPS tunnel và gửi dữ liệu của nó qua đó. Sau đó dữ liệu này sẽ được đóng gói bên trong IPv4 header, tiếp đó được đóng gói trong HTTP header và mã hóa bằng SSL (TLS). Như những gì có thể hình dung, nếu các overhead trong mỗi giao thức càng cao thì sự ảnh hưởng đến hiệu suất càng lớn.

Chính vì điều này mà nên tránh cấu hình IP-HTTPS nếu có thể. Máy khách DirectAccess, khi được gán địa chỉ IP riêng (private IP) sẽ cố sử dụng giao thức Teredo, đây là giao thức cho hiệu suất khá tốt. Chỉ khi Teredo không thể sử dụng, máy khách DirectAccess sẽ chuyển sang sử dụng sang giao thức IP-HTTPS.

Thoạt nhìn chúng ta có thể cho rằng các công nghệ chuyển đổi IPv6 rất khó hiểu và khó nhớ nhưng UAG DirectAccess Wizard sẽ làm tất cả các công việc cần làm cho bạn. Nó sẽ cấu hình máy chủ UAG DirectAccess làm 6to4 router, Teredo router và IP-HTTPS gateway mà bạn không cần biết nhiều về các giao thức làm cho DirectAccess làm việc. Tất cả các kỹ thuật này đều hoạt động ở phía dưới và cho phép kết nối xuyên suốt đối với các máy khách DirectAccess.

Trong các tổ chức, sự phân phối các kết nối máy khách DirectAccess khá khác nhau. Sự phân phối này có thể thay đổi phụ thuộc vào việc vô hiệu hóa split tunneling.


Hình 1

Mặc định, máy khách DirectAccess sử dụng split tunneling để cho phép người dùng truy cập Internet trực tiếp mà không bắt buộc các kết nối sử dụng gateway mạng nội bộ. Chúng ta có thể sử dụng DirectAccess “Force Tunneling”, có thể vô hiệu hóa tính năng split tunneling cho các kết nối máy khách DirectAccess và buộc chúng phải sử dụng cổng Internet trên mạng công ty để kết nối Internet. Nhược điểm của tùy chọn Force Tunneling này là máy khách DirectAccess phải sử dụng IP-HTTPS, điều đó dẫn đến tình trạng kém về mặt hiệu suất. Force Tunneling và split tunneling sẽ được thảo luận một cách chi tiết hơn trong phần tiếp dưới đây.

<>Name Resolution Policy Table (NRPT)

Name Resolution Policy Table (NRPT) được sử dụng bởi máy khách DirectAccess để nó xác định nên sử dụng máy chủ DNS nào, vấn đề này hoàn toàn phụ thuộc vào tên miền hoặc FQDN của đích mà nó cố gắng kết nối đến. Với sự trợ giúp của NRPT, máy khách DirectAccess sẽ gửi các truy vấn DNS đến máy chủ UAG DirectAccess để phân giải tên khi tên miền này nằm bên trong mạng nội bộ, và gửi các truy vấn DNS đối với tên miền nằm bên ngoài tổ chức đến địa chỉ máy chủ DNS được cấu hình trên NIC của máy khách DirectAccess.

Cho ví dụ, giả sử tổ chức của bạn có nhiều miền con nằm trong miền gốc contoso.com. Các miền này có thể nằm trong cùng forest hay các forest khác nhau; về mặt phân giải tên miền thì điều này không hề có vấn đề. Khi cấu hình NRPT, bạn thiết lập nó với một entry tuyên bố tất cả các yêu cầu về miền có dạng *.contoso.com sẽ được gửi đến địa chỉ IP của máy chủ UAG DirectAccess. Lý do các yêu cầu phân giải tên miền được gửi đến địa chỉ IP của máy chủ UAG DirectAccess là UAG lấy địa chỉ của máy chủ DNS mạng nội bộ bằng cách cài đặt DNS proxy của chính nó. DNS proxy trên máy chủ UAG sẽ sử dụng các máy chủ DNS được cấu hình trên giao diện ngoài để phân giải tên miền được yêu cầu bởi máy khách DirectAccess.

Vậy điều gì sẽ xảy ra đối với các tên miền không có trong NRPT? Trong trường hợp này, máy khách DirectAccess sẽ gửi các yêu cầu truy vấn tên miền đến địa chỉ máy chủ DNS được cấu hình trên NIC của nó. Khi máy khách DirectAccess kết nối với mạng, không quan tâm đến việc nằm phía sau thiết bị NAT hay được gán public IP, nó sẽ nhận từ DHCP một địa chỉ máy chủ DNS. Đây chính là địa chỉ mà máy khách DirectAccess sẽ sử dụng để phân định tất cả các tên miền không có trong tổ chức.

Kiểu định tuyến DNS hay chuyển tiếp DNS có điều kiện đưa đến cấu hình máy khách DirectAccess mặc định có kích hoạt split tunneling. Lý do chúng ta chọn split tunneling làm cấu hình mặc định là vì nó cải thiện đáng kể hiệu suất cho máy khách DirectAccess và các host trong mạng nội bộ khi chúng cần kết nối đến tài nguyên Internet. Nếu split tunneling bị vô hiệu hóa (“Force Tunneling” trong cách nói của DirectAccess) thì tất cả lưu lượng sẽ chuyển rời thông qua các đường hầm IPsec; gồm có cả các lưu lượng cho mạng nội bộ lẫn lưu lượng Internet.

Một số người có thể lo ngại về split tunneling vì có ai đó cho rằng split tunneling không tốt. Quan điểm này có thể đúng với các máy khách VPN trong những năm 90, còn các hệ điều hành Windows gần đây không cho phép kẻ tấn công có thể định tuyến thông qua máy khách VPN để kết nói đến mạng công ty. Tình huống thậm chí còn an toàn hơn với DirectAccess, vì nếu một kẻ tấn công nào đó tìm ra cách định tuyến các kết nối từ Internet thông qua máy khách DirectAccess thì các kết nối sẽ bị thất bại vì IPsec yêu cầu việc bảo mật trong đường hầm phải dựa trên địa chỉ IP của máy khách DirectAccess, thêm vào đó là chứng chỉ máy tính, tài khoản máy tính, tài khoản người dùng,.. thẻ thông minh cũng được yêu cầu để thiết lập kết nối. Các vấn đề bảo mật tồn tại với split tunneling không áp dụng đối với máy khách DirectAccess nên không có lý do gì phải lo lắng về vấn đề này trong kịch bản DirectAccess.

NRPT cũng được sử dụng để ngăn chặn máy khách DirectAccess phân giải một số tên miền cụ thể để truy vấn DNS về các tên miền đó không bao giờ được gửi đến máy chủ DNS trong mạng nội bộ (một trường hợp của UAG DirectAccess là DNS proxy trên máy chủ UAG DirectAccess). Một ví dụ quan trọng trong tình huống này là tên miền của Network Location Server (NLS). Máy khách DirectAccess sử dụng NLS để xác định xem nó có nằm trên mạng công ty hay không. Nếu máy khách DirectAccess có thể kết nối đến NLS thì nó biết rằng nó đang nằm trong mạng công ty và tắt NRPT. Nếu không, NRPT được kích hoạt.

Nếu NRPT đã được cấu hình để máy khách DirectAccess có thể phân giải tên miền của NLS thì máy khách DirectAccess trên mạng Internet sẽ nghĩ rằng nó đang nằm trong mạng công ty và sẽ tắt NRPT. Nếu máy khách DirectAccess nằm trong mạng Internet và đã tắt NRPT, nó sẽ không gửi các truy vấn DNS đối với tên miền của mạng công ty đến DNS proxy của máy chủ UAG DirectAccess và do đó sẽ không thể phân giải các tên miền của mạng nội bộ. Để giải quyết vấn đề này, NRPT cần được cấu  hình với một rule ngoại lệ để tránh máy khách DirectAccess trên mạng Internet phân giải tên miền của NLS.

Cho ví dụ, nếu NRPT được cấu hình để gửi tất cả các truy vấn phù hợp với chuỗi *.contoso.com đến DNS proxy trên máy chủ UAG DirectAccess thì nó sẽ có cả truy vấn tên miền nls.contoso.com, đây là tên miền của NLS trên mạng công ty. Tuy nhiên nếu chúng ta tạo một ngoại lệ đối với tên miền <>nls.contoso.com trong NRPT, dù tên miền này vẫn nằm trong phạm vi *.contoso.com, nhưng truy vấn sẽ không được gửi đến DNS proxy trên máy chủ UAG DirectAccess mà thay vào đó sẽ được gửi đến DNS server được cấu hình trên NIC của máy khách UAG DirectAccess. Do không thể phân giải tên miền này nên máy khách DirectAccess trên mạng Internet sẽ thừa nhận rằng nó nằm ngoài mạng công ty và sẽ kích hoạt NRPT.

<>Kết luận

Trong phần này, chúng tôi đã giới thiệu cho các bạn được các kỹ thuật chuyển đổi giao thức IPv6 được sử dụng bởi máy khách và máy chủ DirectAccess nhằm cho phép dữ liệu IPv6 được truyền tải trên mạng Internet hoặc mạng nội bộ. Chúng tôi sẽ giới thiệu về chức năng và những giá trị của Name Resolution Policy Table, được DirectAccess sử dụng nhằm xác định máy chủ DNS mà nó sẽ gửi yêu cầu truy vấn tên miền cụ thể. Trong phần ba của loạt bài này, chúng tôi sẽ giới thiệu cho các bạn về các tính năng của NAT64/DNS64 có trong máy chủ UAG DirectAccess.