tài liệu hay, giúp các bạn nhiều trong quá trình học tập và làm việc về các lĩnh vực mà các bạn quan tâm. tài liệu hay, giúp các bạn nhiều trong quá trình học tập và làm việc về các lĩnh vực mà các bạn quan tâm.
Lời mở đầu Như biết, không gian IPv4 toàn cầu cạn kiệt. Vào tháng 02/2011, IANA (Internet Assigned Numbers Authority) – tổ chức quản lý địa IP số hiệu mạng toàn giới công bố địa IPv4 cấp phát hết. Dải IPv4 sử dụng đến ngày nằm kho IP quan quản lý IP cấp vùng ISP; không IP để cấp phát. Việc sử dụng IPv4 ISP quy hoạch cẩn thận để không gây lãng phí tài nguyên mạng cạn kiệt. Địa IPv4 dài 32 bit nhị phân, theo lý thuyết cung cấp cho giới khoảng tỉ địa IP, vào thời điểm đời cho dải địa nhiều vô tận sử dụng hết, đến thời điểm cạn kiệt. Tốc độ phát triển Internet công nghệ chạy IP nhiều năm qua tăng đến chóng mặt, nằm dự liệu tổ chức xây dựng nên chồng giao thức TCP/IP ban đầu. Để giải vấn đề hao tốn địa IP nhanh, nhiều biện pháp giúp hạn chế tốc độ tiêu thụ IP đưa ra. Biện pháp cho phổ biến mà sử dụng rộng rãi chia không gian IP Unicast thành hai không gian IP Private IP Public. Một vấn đề đặt dù IP Private không định tuyến môi trường Internet toàn cầu host gán IP Private mạng nội có nhu cầu truy nhập Internet. Để giải vấn đề này, sử dụng kỹ thuật có tên gọi NAT – Network Address Translation. Kỹ thuật NAT thực chuyển đổi địa IP gói tin xuất phát từ vùng private thành địa IP Public gói tin từ mạng nội môi trường Internet bên thực chuyển đổi ngược lại địa IP từ Public thành Private gói tin trả từ Internet vào mạng nội bộ. Điều thực cách suốt hoàn toàn với người dùng với thực thể mạng môi trường Internet. PHẦN I: TỔNG QUAN VỀ NAT(Network Address Translation). Như ta biết, để tiết kiệm địa IP biện pháp sử dụng phổ biến chia không gian IP Unicast thành hai không gian IP Private IP Public. Vậy IP Private gì? IP Public gì? Dải IP Private: dải IP sử dụng mạng nội bộ, IP Private sử dụng sử dụng lại từ mạng nội qua mạng nội khác. Các IP Private không diện bảng định tuyến router Internet dùng để truy nhập thông tin Internet được. IP Private quy định RFC – 1918, gồm dải sau: • • • 10.0.0.0 đến 10.255.255.255 (lớp A). 172.16.0.0 đến 172.31.255.255 (lớp B). 192.168.0.0 đến 192.168.255.255 (lớp C). Dải IP Public: dải IP định tuyến môi trường Internet toàn cầu, sử dụng để đặt cho host Internet, sử dụng để trao đổi thông tin Internet. Vì không tồn Internet nên admin mạng LAN dùng lại IP private cho mạng quan, tổ chức.Máy tính internet có địa public địa public nhất, cần phải có kỹ thuật để chuyển đổi IP Private mạng LAN thành IP Public để internet ngược lại để máy Internet gửi trả liệu cho máy LAN NAT(Network Address Translation) đời để giải vấn để này. 1. NAT(Network Address Translation) ? NAT giống router, chuyển tiếp gói tin lớp mạng khác mạng lớn. NAT dịch hay thay đổi hai địa bên gói tin gói tin qua router, hay số thiết bị khác. Thông thường, NAT thường thay đổi địa (thường địa riêng) dùng bên mạng sang địa công cộng. NAT coi firewall bản. Để thực công việc đó, NAT trì bảng thông tin gói tin gửi qua. Khi PC mạng kết nối đến website Internet header địa IP nguồn thay đổi thay địa Public mà cấu hình sẵn NAT server , sau có gói tin trở NAT dựa vào bảng record mà lưu gói tin, thay đổi địa IP đích thành địa PC mạng chuyển tiếp đi. Thông qua chế quản trị mạng có khả lọc gói tin gửi đến hay gửi từ địa IP cho phép hay cấm truy cập đến port cụ thể. 2. Cơ chế hoạt động NAT. NAT sử dụng IP làm IP công cộng cho máy (client) với IP riêng. Khi máy thực kết nối gửi liệu tới máy tính internet, liệu gởi tới NAT, sau NAT thay địa IP gốc máy gửi gói liệu với địa IP NAT. Máy tính từ xa máy tính internet nhận tín hiệu gởi gói tin trở cho NAT computer chúng nghĩ NAT computer máy gởi gói liệu đi. NAT ghi lại bảng thông tin máy tính gởi gói tin cổng dịch vụ gởi gói tin nhận máy tính (client). NAT xử lý gói tin xuất phát từ bên bên mạng theo cách thức sau: • Khi NAT nhận gói tin từ cổng bên trong, gói tin đáp ứng tiêu chuẩn để NAT, router tìm kiếm bảng NAT địa bên (outside address) gói tin. Nói cách khác, tiến trình NAT tìm kiếm hàng bảng NAT địa outside local address với địa đích gói tin. Nếu phép so trùng tìm thấy, gói tin bị loại bỏ. • Nếu có hàng bảng NAT tìm thấy (trong hàng này, địa đích gói tin với địa outside local), NAT thay địa đích gói tin • địa outside global theo thông tin bảng NAT. Tiến trình NAT tiếp tục tìm kiếm bảng NAT để xem có địa inside local vớI địa nguồn gói tin hay không. Nếu có hàng tìm thấy, NAT tiếp tục thay địa nguồn gói tin địa inside global. Nếu hàng tìm thấy, NAT tạo hàng bảng NAT chèn địa vào gói tin. NAT xử lý gói tin xuất phát từ mạng bên vào mạng bên theo cách sau: • Khi NAT nhận gói tin xuất phát từ cổng bên ngoài, đáp ứng tiêu chuẩn để NAT, tiến trình NAT tìm kiếm bảng NAT hàng • địa inside global vớI đia đích gói tin. Nếu hàng bảng NAT tìm thấy, gói tin bị loạI bỏ. Nếu có hàng tìm thấy bảng NAT, NAT thay địa đích địa • inside local từ bảng NAT. Router tìm kiếm bảng NAT để tìm địa outside global với địa nguồn gói tin. Nếu có hàng tìm thấy, NAT thay địa đích địa outside local từ bảng NAT. Nếu NAT không tìm thấy hàng nào, tạo hàng bảng NAT thực bước 2. 3. Khái niện NAT. Inside local address - Địa IP gán cho host mạng trong. Đây địa cấu tham số hệ điều hành máy tính gán cách tự động thông qua giao thức DHCP. Địa địa IP hợp lệ cấp NIC (Network Information Center) nhà cung cấp dịch vụ Internet. Inside global address - Là địa hợp lệ cấp NIC nhà cung cấp dịch vụ trung gian. Địa đại diện cho hay nhiều địa IP inside local việc giao tiếp với mạng bên ngoài. Outside local address - Là địa IP host thuộc mạng bên ngoài, host thuộc mạng bên nhìn host thuộc mạng bên thông qua địa này. Outside local không thiết phải địa hợp lệ mạng IP (có thể địa private). Outside global address - Là địa IP gán cho host thuộc mạng người sở hữu host đó. Địa gán địa IP hợp lệ mạng Internet. Chúng ta hình dung để phân biệt kiểu địa sau: Các gói tin bắt nguồn từ bên mạng nội (inside) có source IP địa kiểu “inside local” destination IP “ouside local” phần mạng nội bộ. Cũng gói tin đó, chuyển mạng (qua NAT) source IP address chuyển thành "inside global address" địa destination IP gói tin “outside global address”. Hay ngược lại, gói tin bắt nguồn từ mạng bên ngoài, mạng bên đó, địa source IP "outside global address", địa destination IP "inside global address". Cũng gói tin chuyển vào mạng bên (qua NAT), địa source "outside local address" địa destination gói tin "inside local address". 4. Lợi ích NAT Ban đầu, NAT đưa nhằm giải vấn đề thiếu hụt địa IPv4, phát triển nhằm giải • NAT giúp chia sẻ kết nối Internet (hay mạng khác) với nhiều máy LAN • • với IP nhất, hay dãy IP cụ thể. NAT che giấu IP bên LAN. NAT giúp quản trị mạng lọc gói tin gửi đến hay gửi từ địa IP cho phép hay cấm truy cập đến port cụ thể. PHẦN II: PHÂN LOẠI NAT. Có phương án NAT: • NAT tĩnh (Static NAT) • • • NAT động (Dynamic NAT) NAT overload – PAT(Port Address Translate) Masquerading ( hay NAPT) 1. NAT tĩnh (Static NAT) NAT tĩnh hay gọi Static NAT: phương thức NAT đổi một. Nghĩa địa IP cố định LAN ánh xạ địa IP Public cố định trước gói tin Internet. Phương pháp không nhằm tiết kiệm địa IP mà có mục đích ánh xạ IP LAN IP Public để ẩn IP nguồn trước Internet làm giảm nguy bị công mạng. Ví dụ: Giả sử mạng nội sơ đồ hình có host cần Internet gán địa từ 192.168.1.1 đến 192.168.1.6. Để phục vụ cho việc Internet host này, công ty sử dụng IP tĩnh cấp từ ISP 199.99.9.1, 199.99.9.2,…, 199.99.9.6. Ta cần phải cấu hình entry NAT tĩnh cho cặp địa – để host Internet. Phương án có nhược điểm LAN có IP muốn Internet ta phải có IP Public để ánh xạ. Do phương án NAT tĩnh dùng với máy chủ thuộc vùng DMZ với nhiệm vụ Public Server lên Internet. 2. NAT động(Dynamic NAT). NAT động (Dynamic NAT) giải pháp tiết kiệm IP Public cho NAT tĩnh. Thay ánh xạ IP cố định LAN IP Public cố định. LAN động cho phép NAT dải IP LAN dải IP Public cố định bên ngoài. Ví dụ: Hệ thống LAN công ty có 100 IP, muốn 100 IP truy cập Internet theo phương án NAT tĩnh công ty phải thuê từ ISP 100 IP Public. Điều tốn kém, giải pháp NAT động cho phép cần thuê từ ISP 10 IP Public thời điểm có 10 IP LAN truy cập Internet. Tuy nhiên giải pháp NAT động có hạn chế thời điểm công ty cần 20 IP LAN truy cập Internet mười IP truy cập sau phải đợi đến có IP rỗi (các IP trước không chiếm dụng IP Public nữa) truy cập Internet được. Chính giải pháp NAT động sử dụng. 3. NAT overload – PAT(Port Address Translate). NAT overload – PAT: giải pháp dùng nhiều đặc biệt Modem ADSL, giải pháp mang lại hai ưu điểm NAT là: • Ẩn địa IP hệ thống mạng nội trước gói tin Internet giằm • giảm thiểu nguy công mạng. Tiết kiệm không gian địa IP. Bản chất PAT kết hợp IP Public số hiệu cổng (port) trước Internet. Lúc IP LAN Internet ánh xạ IP Public kết hợp với số hiệu cổng. Ví dụ: Ta sử dụng IP kết nối lên ISP ( hay nói cách khác IP Public ) : 200.0.0.1 host bên sử dụng để ngoài, IP bên NAT thành IP kết nối để Internet. Giả sử có hai host 192.168.1.1 192.168.1.2 truy nhập web đến địa 6.8.6.8 Internet NAT thành 200.0.0.1. Lúc này, để phân biệt hai thực thể này, chế NAT sử dụng thêm tham số port TCP UDP hoạt động NAT mình. Ta quan sát gói tin NAT: Inside local Inside global Host Source: 192.168.1.1:1024 Destination: 6.8.6.8:80 Source: 200.0.0.1:1024 Destination: 6.8.6.8:80 Host Source: 192.168.1.2:1024 Destination: 6.8.6.8:80 Source: 200.0.0.1:1025 Destination: 6.8.6.8:80 Ta thấy rằng, lần bên cạnh chuyển đổi địa chỉ, router NAT thực chuyển đổi port sử dụng. Ta phân tích : • Host truy nhập web đến server 6.8.6.8 nên destination port 80, source port sử dụng port ngẫu nhiên lớn 1024, giả sử port 1024. Host truy nhập web đến server 6.8.6.8 với destination port 80 • giả sử sử dụng source port 1024. Khi hai gói tin TCP xuất phát từ hai host NAT thành gói tin có source IP 200.0.0.1, source port chuyển đổi thành port khác để phân biệt hai gói; ví dụ, gói host đổi thành port 1024, gói host đổi thành port 1025. Các entry chuyển đổi với thông số port kèm lưu vào bảng NAT router, để từ đó, gói tin trả phân biệt hai đối tượng khác có địa IP 200.0.0.1. Nếu trả port 1024 → host 1, trả port 1025 → host 2. Như vậy, hai host • sử dụng địa để Internet. Ta biết trường TCP UDP port dài tới 16 bit, cung cấp 65536 port, nên cho phép nhiều host nội sử dụng chung địa IP public hoạt động NAT để Internet. Tuy nhiên, cần phải lưu ý rằng, giá trị port dùng để phân biệt host với mà port sử dụng để phân biệt session ứng dụng. Do đó, host mở đồng thời 10 kết nối Internet chẳng hạn, có 10 port khác sử dụng để NAT 10 session Internet. Port NAT dùng cho session ứng dụng, dùng cho phânbiệt host. 4. Masquerading ( hay NAPT) Đây trường hợp đặc biệt NAT động. Nó sử dụng Linux. Với NAPT, nhiều địa IP ẩn địa nhất. Nó tương phản với NAT động , có kết nối cho IP thời điểm. Trong NAPT nhiều kết nối đến IP phân chia thông qua TCP Port. Vấn đề đặc biệt NAPT số service host định chấp nhận kết nối từ port đặc quyền để đảm bảo kết nối vào từ user bình thường. Có lẽ superuser xử lý port này. Vì DOS Window người sử dụng chúng nên số chương trình sử dụng kết nối NAPT. NAPT thường sử dụng port tầm vực cao. Trong Linux , bắt đầu 61000 kết thúc 61000+4096. Mặc định thay đổi . Điều Linux thực NAPT cho đồng thời 4096 kết nối NAPT . Kết nối NAPT cần phải lưu giữ nhiều thông tin trạng thái kêt nối. Ví dụ Linux, xem tất packet với Destination IP= Local IP Destination port nằm tầm port cho phép NAPT phải demasqueraded (phân giải packet masqueraded) . Thực chất việc thay đổi destination address source address header packet. Như NAPT có chiều . Những kết nối vào Masquerading . Vì chí host có entry masquerading table NAT device entry hợp lệ kết nối active. Ngay ICMP-Reply liên quan đến kết nối (host/port unreachable) phải filter relay NAT router. Lợi ích lớn Masquerading cần IP cấp mà toàn mạng kết nối trực tiếp đến Internet. Ví dụ : • • Masquerading cho mạng 203. 156. 0. dùng NAT đến IP local Cho packet IP source IP thay IP NAT router. Source port đổi thành port nằm tầm Masquerading 5. Một số kỹ thuật NAT khác Virtual Server (Loadbalancing) NAT router đóng vai trò virtual server kết nối vào chuyển đến hay nhiều server thật . Phụ thuộc vào giải thuật xây dựng mà kết nối vào server bên trong. Ví dụ : • • Tạo virtual server với IP 203. 156. 98. 100 Sử dụng host 203. 156. 98. 111 203. 156. 98. 112 real server • cho virtual server. Một kết nối từ bên remap NAT router để sử dụng host (realserver) • Load Balancing Giải thuật để định real server kết nối. Cho ví dụ kiểm tra tải real server dựa việc đếm số packet giây qua NAT device đến real server sau chọn real server có hiệu nhất. Bằng cách điều chỉnh traffic mạng giảm tải cho server. Số giải thuật sử dụng đếm dựa cách tính toán khác tất có chung mục đích giảm tải cho server. Khái niệm “tải” không rõ ràng không đĩnh nghĩa nhất. Ví dụ: Chạy deamon server cung cấp thông tin cho NAT router tải (load) máy remap kết nối đến hệ thống nơi mà số thấp nhất. Điều đòi hỏi liên lạc host (real server) NAT router nên sử dụng thông tin có NAT router số kết nối remap đến host ta phải sử dụng thông tin vốn server dễ dàng tìm thấy số byte packet giây host handle. Yếu tố đề cập vài ý niệm để định việc đạt cân việc phân bố tải. Chính xác cố gắng đo lường tính toán tải cho host. Có số giải thuật ví dụ giải thuật dựa học thuyết nguyên lý không chắn định lượng Heisenberg. Vì phải tìm cách làm tối thiểu chi phí host để định tải host kết nối. Ngay giả sử tìm phương thức xác tốt để định tải sử dụng dựa việc định nghĩa “tải” thực tiễn chưa phải giải pháp tốt IP packet có kích thước nhỏ xác định cách định lượng vật lý. Chúng ta chọn host cần gửi kết nối đến kết nối mở mà chưa thật tối ưu. Tuy nhiên dù phương thức đề cập áp dụng vào thực tiễn cho việc xác định cân tải có cách tính toán tốt mà chưa tìm ra. Có nhiều cách tiếp cận để giải cho toán Load balancing , hầu hết số chúng mức application. Một ví dụ mô tả RFC 1794 dùng DNS support cho Load balancing. Trong tài liệu đề cập đến việc dùng DNS cho việc điều khiển tải máy cách tìm IP máy bận rộn chất vấn (queried). Vì DNS-queries cache liên tiếp DNS-server với việc điều khiển giới hạn cách khắt khe. Nó làm việc hoàn toàn tốt có nhiều chất vấn chúng đến từ nhiều máy client. Tuy nhiên Load balancing có làm việc trạng thái tốt cách tiếp cận không giúp server bị fail chí IP phân chia riêng biệt việc chất vấn cache server bị fail server hiệu chế load balancing hoàn toàn bị phá vỡ . Một ví dụ cho chương trình cache tiếng Squid sử dụng giải thuật phức tạp để tìm mục tiêu tốt nhất. Giải chưa hẳn giống NAT mục tiêu nhau. Với NAT phân bố tải cho service lớn đa dạng dựa IP Squid phục vụ cho mục đích khác so sánh chưa hẳn hoàn toàn hợp lý. Người viết chọn squid ví dụ squid thực việc load balancing để tìm liệu cho tối ưu cách thông minh. Backup Systems Virtual server sử dụng để đạt khả phục vụ tốt giải toán real server bị fail trên. Vì service cung cấp Virtual server có khả real server . Đặt trường hợp real server bị fail có xác suất p virtual server sử dụng NAT real server trường hợp bị fail tính toán sau: Đặt: • p1. . pn khả xảy lỗi server n N (N số server cung cấp cho virtual server) • pNAT: khả xảy lỗi NAT router, lỗi không phụ thuộc vào thiết bị khác • pvirt: khả xảy lỗi virtual server realserver bị fail Công thức tính toán là: Pvirt=1-((1- [tích(pi) chạy từ 1->n]) X (1-pNAT)) Dĩ nhiên setup hệ thống sử dụng công thức cho việc tính toán load balancing phải thay đổi danh sách server sử dụng NAT router real server bị fail . Điều không thuộc NAT-code thực tốt mức cao , chí từ shell scripts. Quan trọng phải có chế remove server bị fail từ bảng virtual server phải xây dựng bảng virtual server có khả thay đổi dễ dàng để IP thêm vào loại bỏ thời gian thực thi (runtime) . Như với cách làm có liên kết khả load balancing high availability dùng virtual server. Nó hoàn toàn suốt tất host người sử dụng chương trình dùng virtual service. Multiple routers per Destination Như thấy dùng NAT để phân bố tải qua nhiều host đạt khả sẵn sàng cao (high availability) . Chúng ta sử dụng NAT để làm điều cho nhiều mạng không? Vâng có thể. Ở phần thấy sử dụng virtual server thay cho nhiều host thật (real server) . Chúng ta tạo kết nối mạng ảo (virtual network) gồm nhiều mạch thật (real wire) dùng kỹ thuật virtual server. Chúng ta làm điều với NAT nào? Hãy tưởng tượng có nguồn cung cấp Internet (Internet provider). Chọn không muốn xảy lỗi nguồn bị hỏng. Mỗi host cần kết nối Internet phải có IP mua cho host IP từ nhà cung cấp khác nhau. Như sử dụng host để gửi packet đến vị trí. Bây setup cho hệ thống mô tả trên, phân bố tải cách sử dụng host thông qua provider vài khác thông qua provider có “higher availibility” kết nối đến Internet . Tuy nhiên hình dung khó thực load balancing host định gửi packet đi. Chúng ta không đề cập đến làm để mạng dùng IP hay IP khác. Ở vấn đề sử dụng “central authority” để định host sử dụng provider dĩ nhiên thông qua special NAT router. Sử dụng Nat máy tính Local cần IP. Nếu có provider tin cậy sử dụng IP provider cung cấp đồng thời sử dụng IP bên mạng. Bây host bên mạng muốn thiết lập kết nối tới Internet cần gửi packet đến default router (NAT-router) với source IP IP host này. Do NATrouter biết tất kết nối ra, định provider để gửi packet cho tối ưu. Nó thay source IP IP provider chọn gửi packet đến router provider này. Vì source IP IP provider cung cấp nên đường packet provider định thông qua provider router . Host gửi packet provider chọn NAT router xử lý suốt. Chúng ta sử dụng giải thuật sử dụng cho Virtual server. Điểm khác ứng dụng ứng dụng can thiệp vào xử lý routing. PHẦN III: Các vấn đề NAT cần giải 1. Lưu giữ thong tin trạng thái Ngoại trừ NAT tĩnh, lại đòi hỏi cần phải lưu trữ quản lý thông tin động từ client sử dụng hệ thống router. Thông tin phải sau thời gian timeout để NAT-IP gắn cho host sử dụng lại. Thời gian timeout lý phải đọc thông tin TCP-header. Timeout ngắn cho TCP-connection vừa đóng cho TCPconnection thiết lập. Ví dụ nhiều telnet session treo thời gian dài trao đổi packet . Trong trường hợp này, có đủ NAT-IP không cần ngắt kết nối , giả sử trường hợp nhiều kết nối yêu cầu NAT-IP cần có thêm IP cho telnet session bị chết để lấy lại IP. Một cách khác không giữ thông tin trạng thái mà cần tìm IP định (NAT-ip) . Nó đơn giản cho việc thực NAT nhiều trường hợp làm việc tốt cho giải trên. Khi có đủ NAT-IP dư cho việc sử dụng không ý tới chi tiết khác cách , ngoại trừ telnet session chương trình liên quan chẳng hạn ssh. Chỉ số NAT-IP không nhiều không đủ , cần lưu giữ thông tin trạng thái nhận xác kết nối vừa đóng lấy lại IP cấp phát mà không cần hết thời gian timeout. Việc lưu giữ dấu vết kết nối khác phục vụ cho mục đích bảo mật sử dụng firewall, không NAT. Có số trường hợp việc NAT truy tìm IP hoàn toàn không hiệu quả. Đó ứng dụng virtual server virtual network traffic sinh IP phân chia nữa. Khi yêu cầu NAT truy tìm thêm TCP/UDP port cân tải giảm traffic tốt cách remap kết nối đến IP thích hợp . 2. Phân chia (fragmentation) Quan hệ mật thiết với việc lưu giữ thông tin trạng thái TCP UDP vấn đề IP fragment. Nó định việc thay đổi IP address mà TCP/UDP port. Telnet packet đối xử khác với HTTP packet. Cho ví dụ sử dụng virtual server DNS cho tất service map tới host cung cấp service thực , nhiều service chí cung cấp virtual host. Một firewall gateway mức application làm điều gateway không suốt. Vấn đề packet fragment đến NAT-router , cung cấp thông tin port ngoại trừ fragment chứa TCP-header. Đó lý phải lưu giữ thông tin trạng thái fragment. Chúng ta phải lưu giữ tất thông liệu fragment gồm TCP/UDP port biết port fragment khác hoạt động. Nhiều phương pháp không thích đáng IP layer không đảm bảo packet tới với số thứ tự (sequence) Ví dụ fragment thứ packet fragment qua NAT router trước fragment lưu giữ thông tin port . Trong trường hợp ngăn lại fragment fragment số đến fragment số tớI đích để biết có cần phảI thay đổI thông tin packet hay không . Việc thay đổi không IP mà TCP/UDP port không quan trọng chắn hữu ích. Ví dụ: sử dụng virtual server . Giả sử muốn tạo virtual webserver deamon webserver thật chạy máy khác lắng nghe port khác số lý do. Khi không ghi nhận lại destination port packet , default port 80 đến virtual server thay destination port port mà real webserver lắng nghe vào packet reply có mong muốn. Khi tất real webserver phải lắng nghe port mà virtual server cung cấp dịch vụ web (default port 80). Xin nói thêm TCP connection thực chế handshaking lần packet reply không port để kết nối tới kết nối không thiết lập. 3. Định giao thức (protocol) cụ thể NAT luôn suốt nói , hoàn toàn suốt mà IP giao thức nắm giữ thông tin IP packet. Có số giao thức chúng gửI IP phần liệu truyền đi. Như IP thay đổi với NAT router gặp nhiều vấn đề trục trặc gửi tới người nhận . Nó IP truyền đi. Một cách giải cho vấn đề tìm thông tin data truyền dựa giao thức để biết thông tin IP thêm vào. Qúa trình làm thêm overhead phức tạp hơn. Một số ví dụ cho Protocol làm việc với NAT FTP FTP command PORT response PASV send IP port cho đầu kết nối bên . Cho FTP để làm việc với kết nối bị thay đổi phải thay IP message . Điều phức tạp IP port truyền dạng mã ASSCII mô tả cho số thập phân. Tức số thập phân đơn lẻ mô tả byte packet . Vì lý IP chiều dài cố định FTP-packet, thay IP IP khác nhiều số packet lớn nhỏ điều buộc phải chỉnh lạI TCP –sequence number phải giữ số thông tin kết nối để điều chỉnh sequence number thích hợp packet . Đây không vấn đề cho giao thức FTP mà cho nhiều giao thức khác mà thay đổi IP làm thay đổi chiều dài packet ICMP Một số ICMP message phụ thuộc vào loại message , thêm vào header packet gây vấn đề . Nếu packet thay đổi header chứa NAT-Ip IP host nhận message ICMP . Dựa điều không thay local IP mà thêm vào NAT-Ip vào header điều giải quyết. DNS Dễ thấy vấn đề name service IP bên muốn cung cấp NAT-domain. Một cách giải dùng DNS service . Một cho việc giải đáp cho IP bên khác giải đáp cho IP mạng . Dĩ nhiên IP giải đáp DNS server thứ không đưa vào danh sách nhóm IP động cho NAT. NAT router hầu hết đặt ranh giới mạng phân chia internal DNS external DNS mở rộng sử dụng cho lý bảo mật Nếu sử dụng cách tiếp cận phức tạp ghi lại tất DNS data relay NAT router nên sử dụng gateway mức ứng dụng thực NAT DNS thích hợp vớI mức gateway nên tác động tới kernel thật cần thiết(xây dựng NAT) BOOTP Giao thức vấn đề với NAT không khỏi ranh giới NAT-domain. Routing Protocol (RIP, EGP…) Không cần phải giải thích routing protocol gặp nhiều vấn đề với NAT . Có nhiều giao thức tìm đường khác làm việc với không dễ dàng chút Có cách giải là: • Không sử dụng giao thức , sử dụng static routing. Đây cách chọn lựa tốt cho phần lớn kết nối từ mạng bên thông qua NAT router • Sử dụng gateway mức ứng dụng • Ghi lại thông tin packet 4. Tản mạn ứng dụng ảnh hưởng NAT Một số giao thức lớp ( FTP SIP) gửi thông tin địa tầng mạng bên ứng dụng payloads. FTP chế độ kích hoạt, ví dụ, sử dụng việc chia kết nối để điều khiển traffic (câu lệnh) cho liệu (file contents). Khi yêu cầu truyền file, trạm tạo yêu cầu xác lập kết nối trao đổi liệu địa lớp lớp nó. Nếu máy trạm tạo yêu cầu giả phía sau NAT firewall đơn giản, việc truyền địa IP số cổng TCP tạo thông tin nhận Server không hợp lệ. Một Gateway tầng ứng dụng (ALG) sửa lỗi này. Một module phần mềm ALG chạy thiết bị NAT firewall cập nhật liệu payload tạo bất hợp lệ dịch chuyển địa chỉ. ALG hiển nhiên cần phải hiểu giao thức cấp cao mà chúng cần sửa chữa, giao thức với vấn đề đòi hỏi khác phần ALG Một giải pháp khác sử dụng để giải quyêt vấn đề sử dụng công nghệ NAT traversal sử dụng giao thức STUN hay ICE hay tiếp cận độc quyền session border controller. NAT traversal ứng dụng dựa TCP UDP, kỹ thuật dựa UDP đơn gian hơn, hiểu biết rộng rãi hơn, tương thích với legacy NATs hơn. Trong hai trường hợp, giao thức tầng cao phải thiết kế với NAT traversal giữa, không làm việc cách tin cậy symmetric NATs hay poorly-behaved legacy NATs khác. Một tiện ích có triển vọng khác UPnP (Universal Plug and Play) hay Bonjour (NATPMP), cài yêu cầu liên hợp thiết bị NAT. Tuy nhiên, hầu hết giao thức client-server truyền thống (ngoại trừ FTP), không gửi thônng tin liên hệ lớp không yêu cầu phải có xử lý đặc biệt NAT. Trên thực tế, tránh phức tạp NAT yêu cầu thực tế thiết kế giao thức tầng cao ngày nay. NAT nguyên nhân vấn đề nơi mã hóa IPsec ứng dụng trường hợp nơi nhiều thiết bị SIP phones xác định đằng sau NAT. Phones mã hóa tín hiêu với IP sec tóm lược thông tin cổng gói tin IPsec nghĩa thiết bị NA(P)T truy cập dịch chuyển cổng. Trong trường hợp thiết bị NA(P)T hoàn nguyên tới họat động NAT đơn giản. Điều nghĩa tất traffic trở lại tới NAT bị map tới client nguyên nhân dịch vụ lỗi. Có giải pháp cho vấn đề này, sử dụng TLS (hoạt động tầng thứ mô hình tham chiếu OSI) không che dấu số hiệu cổng, hay tóm lược IPsec UDP - giải pháp sau TISPAN chọn để lưu trữ an toàn NAT traversal. PHẦN IV: KẾT LUẬN NAT ROUTER đa dạng, tùy thuộc vào tình mà ta áp dụng. Càng sâu, ta thấy hay việc xử lý thông tin packet, đối tượng luận lý để giải vấn đề vật lý thú vị nào. Nắm vững kỹ thuật NAT giúp ta triển khai hệ thống định tuyến, cân tải cách an toàn hiệu nhất. Với Cisco IOS, câu lệnh để khai báo entry NAT tĩnh có cú pháp: Router(config)#ip nat inside source static inside_local inside_global Trong đó: inside_local địa bên inside_global địa bên tương ứng với địa bên này. Cấu hình cho yêu cầu ví dụ trên: R(config)#ip nat inside source static 192.168.1.1 199.99.9.1 R(config)#ip nat inside source static 192.168.1.2 199.99.9.2 R(config)#ip nat inside source static 192.168.1.3 199.99.9.3 R(config)#ip nat inside source static 192.168.1.4 199.99.9.4 R(config)#ip nat inside source static 192.168.1.5 199.99.9.5 R(config)#ip nat inside source static 192.168.1.6 199.99.9.6 Sau cấu hình xong lệnh này, entry NAT tĩnh tương ứng điền vào bảng NAT router. Các gói tin xuất phát từ địa từ 192.168.1.1 đến 192.168.1.6 Internet chuyển đổi địa IP thành địa public từ 199.99.9.1 đến 199.99.9.6. Một thao tác phải tiến hành router thực NAT cấu hình router rõ cổng làinside interface cổng outside interface. Để định cổng inside hay outside, vào cổng tương ứng gõ lệnh: Router(config-if)#ip nat {inside | outside} Với sơ đồ hình 1, cấu hình cổng F0/0 F0/1: R(config)#interface f0/0 R(config-if)#ip nat inside R(config-if)#exit R(config)#interface f0/1 R(config-if)#ip nat outside R(config-if)#exit Phụ lục Các lệnh cấu hình Router NAT tĩnh: Mã: Router(config)#ip nat inside source static [[I]inside local address[/I]] [[I]inside global address[/I]] NAT động: Mã: Router(config)#ip nat pool [ [I]tên pool[/I]] [I][A.B.C.D A1.B1.C1.D1][/I] netmask [[I]mặt nạ[/I]] Router(config)#ip nat inside source list [[I]số hiệu ACL] [/I]pool [[I]tên pool[/I]] Router(config)#access-list [[I]số hiệu ACL[/I]] permit A.B.C.D [I]windcard masks[/I] PAT: Mã: Router(config)#ip nat pool [I][tên pool] [ip global inside] [subnet mask][/I] Router(config)#ip nat inside source list [I][tên số hiệu ACL][/I] pool [I][tên pool] [/I] overload Router(config)#access-list [I][số hiệu][/I] permit [I][địa chỉ] [windcard mask][/I] Dù sử dụng NAT tĩnh, NAT động hay PAT sau cấu hình xong phải apply vào interface ví dụ NAT tĩnh động: Mã: Router(config)#interface ethernet Router(config-if)#ip nat inside Router(config)#interface serial Router(config-if)#ip nat outside Còn PAT Mã: Router(config)#ip nat inside source list [tên ACL] interface [cổng ra] overload Router(config)#access-list [I][số hiệu][/I] permit [I][địa chỉ] [windcard mask][/I] Tài liệu tham khảo. http://anninhmang.net/2015/03/hoc-ccna-bai-15-khai-niem-ve-nat/ http://www.ntps.edu.vn/blog/144-network-address-translation-bai-so-1-ly-thuyet-tongquan http://www.hocmangcoban.tk/2014/05/nat-la-gi-static-nat-dynamic-nat-nat.html [...]... vấn đề này, một là sử dụng TLS (hoạt động ở tầng thứ 4 trong mô hình tham chiếu OSI) và vì vậy không che dấu số hiệu cổng, hay tóm lược IPsec trong UDP - giải pháp sau cùng được TISPAN chọn để lưu trữ an toàn NAT traversal PHẦN IV: KẾT LUẬN NAT trong ROUTER rất đa dạng, tùy thuộc vào từng tình huống mà ta áp dụng Càng đi sâu, ta càng thấy cái hay trong việc xử lý thông tin của các packet, những đối tượng... thống định tuyến, cân bằng tải một cách an toàn và hiệu quả nhất Với Cisco IOS, câu lệnh để khai báo một entry NAT tĩnh có cú pháp: Router(config)#ip nat inside source static inside_local inside_global Trong đó: inside_local là địa chỉ bên trong còn inside_global là địa chỉ bên ngoài tương ứng với địa chỉ bên trong này Cấu hình cho yêu cầu của ví dụ trên: R(config)#ip nat inside source static 192.168.1.1... một TCP-connection vừa được đóng và sao cho TCPconnection vẫn còn được thiết lập Ví dụ nhiều telnet session có thể treo trong một thời gian dài không có sự trao đổi bất kỳ packet nào Trong trường hợp này, nếu chúng ta có đủ NAT-IP chúng ta không cần ngắt kết nối này , nhưng giả sử trong trường hợp nhiều kết nối mới được yêu cầu và NAT-IP cần có thêm IP thì chúng ta sẽ cho telnet session này bị chết... tìm chỉ IP thì hoàn toàn không hiệu quả Đó là trong các ứng dụng virtual server và virtual network bởi vì traffic được sinh ra bởi một IP thì không thể nào phân chia được nữa Khi chúng ta yêu cầu NAT truy tìm thêm cả TCP/UDP port thì chúng ta có thể cân bằng tải và giảm traffic tốt hơn bằng cách remap các kết nối đến một IP thích hợp 2 Phân chia (fragmentation) Quan hệ mật thiết với việc lưu giữ thông... bên kia Cho FTP để làm việc với một kết nối đã bị thay đổi chúng ta phải thay thế IP trong message Điều này rất phức tạp vì IP và port được truyền đi dưới dạng mã ASSCII mô tả cho một số thập phân Tức là mỗi số thập phân đơn lẻ được mô tả là một byte trong packet Vì lý do này IP thì không có một chiều dài cố định trong một FTP-packet, bây giờ chúng ta thay thế IP hiện tại bởi một IP khác ít hoặc nhiều... mới ngày nay NAT cũng có thể là nguyên nhân những vấn đề nơi mã hóa IPsec được ứng dụng và trong trường hợp nơi nhiều thiết bị như là SIP phones được xác định đằng sau NAT Phones mã hóa tín hiêu với IP sec tóm lược thông tin cổng trong gói tin IPsec nghĩa là thiết bị NA(P)T không thể truy cập và dịch chuyển cổng Trong những trường hợp này thiết bị NA(P)T hoàn nguyên tới họat động NAT đơn giản Điều này... Destination IP= Local IP và Destination port nằm trong tầm port cho phép của NAPT khi phải demasqueraded (phân giải những packet đã được masqueraded) Thực chất là việc thay đổi destination address và source address trong header packet Như vậy NAPT chỉ có một chiều Những kết nối vào thì không thể Masquerading Vì thậm chí khi một host có một entry trong masquerading table của NAT device thì entry... có thể có một cách tính toán nào đó tốt nhất mà chúng ta chưa tìm ra Có nhiều cách tiếp cận để giải quyết cho bài toán Load balancing , hầu hết trong số chúng đều ở mức application Một ví dụ được mô tả trong RFC 1794 đó là dùng DNS support cho Load balancing Trong tài liệu này đề cập đến việc dùng DNS cho việc điều khiển tải của máy bằng cách tìm ra IP của máy ít bận rộn nhất khi được chất vấn (queried)... không giữ thông tin trạng thái mà chỉ cần tìm IP chỉ định (NAT-ip) Nó thì đơn giản hơn cho việc hiện thực NAT và trong nhiều trường hợp sẽ làm việc tốt cho các giải quyết ở trên Khi luôn có đủ NAT-IP còn dư cho việc sử dụng chúng ta không chú ý tới chi tiết khác nhau của 2 cách , ngoại trừ trong một telnet session hoặc các chương trình liên quan chẳng hạn như ssh Chỉ khi số NAT-IP không nhiều và không... bởi IP của NAT router Source port sẽ được đổi thành một port nằm trong tầm của Masquerading 5 Một số kỹ thuật NAT khác Virtual Server (Loadbalancing) NAT router đóng vai trò là một virtual server và các kết nối vào sẽ được chuyển đến 2 hay nhiều server thật Phụ thuộc vào giải thuật được xây dựng mà kết nối này sẽ đi vào server nào ở bên trong Ví dụ : • • Tạo một virtual server với IP là 203 156 98 100 . và giảm traffic tốt hơn bằng cách remap các kết nối đến một IP thích hợp . 2. Phân chia (fragmentation) Quan hệ mật thiết với việc lưu giữ thông tin trạng thái về TCP và có thể là UDP là vấn