พารามิเตอร์แนท NAT บนนิ้ว: มันคืออะไร? แนทคืออะไร

Network Address Translation (NAT) เป็นวิธีการกำหนดพื้นที่ที่อยู่หนึ่งไปยังอีกพื้นที่หนึ่งโดยการเปลี่ยนข้อมูล กล่าวคือ ส่วนหัวของแพ็กเก็ตจะถูกเปลี่ยนในขณะที่กำลังส่งผ่านอุปกรณ์กำหนดเส้นทางการรับส่งข้อมูล เดิมวิธีนี้ใช้เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูลบนเครือข่าย IP ได้อย่างง่ายดายโดยไม่ต้องกำหนดหมายเลขใหม่แต่ละโฮสต์ มันได้กลายเป็นเครื่องมือยอดนิยมและสำคัญสำหรับการอนุรักษ์และกระจายพื้นที่ที่อยู่ทั่วโลกเมื่อเผชิญกับการขาดแคลนที่อยู่ IPv4

แนท - มันคืออะไร?

การใช้การแปลที่อยู่เครือข่ายเดิมคือการแมปแต่ละที่อยู่ในพื้นที่ที่อยู่หนึ่งกับที่อยู่ที่สอดคล้องกันในอีกพื้นที่หนึ่ง ตัวอย่างเช่น นี่เป็นสิ่งจำเป็นหากผู้ให้บริการอินเทอร์เน็ตมีการเปลี่ยนแปลง และผู้ใช้ไม่สามารถโฆษณาเส้นทางใหม่ไปยังเครือข่ายต่อสาธารณะได้ เนื่องจากพื้นที่ที่อยู่ IP ทั่วโลกกำลังจะหมดลง เทคโนโลยี NAT จึงถูกนำมาใช้มากขึ้นนับตั้งแต่ช่วงปลายทศวรรษ 1990 ร่วมกับการเข้ารหัส IP (ซึ่งเป็นวิธีการย้ายที่อยู่ IP หลายรายการไปไว้ในที่เดียว) กลไกนี้ถูกนำมาใช้ในอุปกรณ์กำหนดเส้นทางที่ใช้ตารางการแปลแบบ stateful เพื่อจับคู่ที่อยู่ "ที่ซ่อนอยู่" ให้เป็นที่อยู่ IP เดียว และส่งต่อแพ็กเก็ต IP ขาออกที่ทางออก ดังนั้นดูเหมือนว่าพวกเขาจะออกจากอุปกรณ์กำหนดเส้นทาง ในทางกลับกัน การตอบสนองจะถูกแมปกับที่อยู่ IP ต้นทางโดยใช้กฎที่เก็บไว้ในตารางการแปล ในทางกลับกัน กฎของตารางการแปลจะถูกล้างหลังจากช่วงเวลาสั้นๆ หากการรับส่งข้อมูลใหม่ไม่อัปเดตสถานะ นี่เป็นกลไกพื้นฐานของ NAT สิ่งนี้หมายความว่าอย่างไร?

วิธีการนี้ช่วยให้สามารถสื่อสารผ่านเราเตอร์ได้เฉพาะเมื่อการเชื่อมต่ออยู่บนเครือข่ายที่เข้ารหัสเท่านั้น เนื่องจากจะสร้างตารางการแปล ตัวอย่างเช่น เว็บเบราว์เซอร์ภายในเครือข่ายดังกล่าวสามารถดูไซต์ภายนอกได้ แต่หากติดตั้งภายนอก จะไม่สามารถเปิดทรัพยากรที่โฮสต์อยู่ภายในได้ อย่างไรก็ตาม อุปกรณ์ NAT ส่วนใหญ่ในปัจจุบันอนุญาตให้กำหนดค่ารายการตารางการแปลเพื่อการใช้งานอย่างต่อเนื่อง คุณลักษณะนี้มักเรียกว่า NAT แบบคงที่หรือการส่งต่อพอร์ต และช่วยให้การรับส่งข้อมูลที่มาจากเครือข่าย "ภายนอก" เข้าถึงโฮสต์ที่กำหนดบนเครือข่ายที่เข้ารหัสได้

เนื่องจากความนิยมของวิธีนี้ ซึ่งใช้เพื่อรักษาพื้นที่ที่อยู่ IPv4 คำว่า NAT (ซึ่งจริงๆ แล้วคืออะไร - ระบุไว้ข้างต้น) เกือบจะมีความหมายเหมือนกันกับวิธีการเข้ารหัส

เนื่องจาก Network Address Translation เปลี่ยนแปลงข้อมูลที่อยู่ของแพ็กเก็ต IP จึงมีผลกระทบร้ายแรงต่อคุณภาพของการเชื่อมต่ออินเทอร์เน็ตของคุณ และต้องให้ความสนใจอย่างรอบคอบในรายละเอียดการใช้งาน

แอปพลิเคชัน NAT จะแตกต่างกันในลักษณะการทำงานเฉพาะในกรณีที่แตกต่างกันเกี่ยวกับผลกระทบต่อการรับส่งข้อมูลเครือข่าย

NAT พื้นฐาน

การแปลที่อยู่เครือข่าย (NAT) ประเภทที่ง่ายที่สุดให้การแปลที่อยู่ IP แบบหนึ่งต่อหนึ่ง RFC 2663 เป็นประเภทหลักของการแปลนี้ ในประเภทนี้ เฉพาะที่อยู่ IP และการตรวจสอบรวมของส่วนหัว IP เท่านั้นที่มีการเปลี่ยนแปลง ประเภทการแปลพื้นฐานสามารถใช้เพื่อเชื่อมต่อเครือข่าย IP สองเครือข่ายที่มีการกำหนดแอดเดรสที่เข้ากันไม่ได้

NAT ในการเชื่อมต่อแบบหนึ่งต่อกลุ่มคืออะไร

NAT ส่วนใหญ่สามารถแมปโฮสต์ส่วนตัวหลายโฮสต์กับที่อยู่ IP ที่กำหนดโดยสาธารณะเพียงแห่งเดียว ในการกำหนดค่าทั่วไป LAN จะใช้หนึ่งในที่อยู่ IP "ส่วนตัว" ที่กำหนดของซับเน็ต (RFC 1918) เราเตอร์บนเครือข่ายนี้มีที่อยู่ส่วนตัวในพื้นที่นี้

เราเตอร์ยังเชื่อมต่ออินเทอร์เน็ตโดยใช้ที่อยู่ "สาธารณะ" ที่กำหนดโดย ISP เนื่องจากการรับส่งข้อมูลส่งผ่านจากเครือข่ายท้องถิ่นต้นทาง แต่ละแพ็กเก็ตจะถูกถ่ายโอนทันทีจากที่อยู่ส่วนตัวไปยังที่อยู่สาธารณะ เราเตอร์จะติดตามข้อมูลพื้นฐานเกี่ยวกับการเชื่อมต่อที่ใช้งานอยู่แต่ละครั้ง (โดยเฉพาะ ที่อยู่ปลายทางและพอร์ต) เมื่อการตอบสนองกลับมา จะใช้ข้อมูลการเชื่อมต่อที่เก็บไว้ระหว่างนอกไซต์เพื่อกำหนดที่อยู่เครือข่ายภายในส่วนตัวที่ควรส่งต่อการตอบสนอง

ข้อดีอย่างหนึ่งของฟังก์ชันนี้คือ ทำหน้าที่เป็นโซลูชันในทางปฏิบัติเพื่อลดพื้นที่ที่อยู่ IPv4 ที่กำลังจะหมดลง แม้แต่เครือข่ายขนาดใหญ่ก็สามารถเชื่อมต่ออินเทอร์เน็ตได้โดยใช้ที่อยู่ IP เดียว

แพ็กเก็ตดาตาแกรมทั้งหมดบนเครือข่าย IP มีที่อยู่ IP 2 แห่ง - ต้นทางและปลายทาง โดยทั่วไป แพ็กเก็ตที่เดินทางจากเครือข่ายส่วนตัวไปยังเครือข่ายสาธารณะจะมีที่อยู่ต้นทางของแพ็กเก็ตเปลี่ยนระหว่างการเปลี่ยนจากเครือข่ายสาธารณะกลับไปเป็นเครือข่ายส่วนตัว การกำหนดค่าที่ซับซ้อนยิ่งขึ้นก็สามารถทำได้เช่นกัน

ลักษณะเฉพาะ

การตั้งค่า NAT อาจมีคุณสมบัติบางอย่าง เพื่อหลีกเลี่ยงความยุ่งยากในการแปลพัสดุที่ส่งคืน จำเป็นต้องมีการแก้ไขเพิ่มเติม การรับส่งข้อมูลอินเทอร์เน็ตส่วนใหญ่เดินทางผ่าน TCP และ UDP และหมายเลขพอร์ตได้รับการแก้ไขเพื่อให้การรวมกันของที่อยู่ IP และหมายเลขพอร์ตเริ่มตรงกันเมื่อข้อมูลถูกส่งกลับ

โปรโตคอลที่ไม่อิง TCP และ UDP ต้องใช้วิธีการแปลแบบอื่น โดยทั่วไป Internet Control Message Protocol (ICMP) จะตรงกับข้อมูลที่ส่งไปยังการเชื่อมต่อที่มีอยู่ ซึ่งหมายความว่าจะต้องแสดงโดยใช้ที่อยู่ IP และหมายเลขเดียวกันที่ตั้งไว้เดิม

สิ่งที่ต้องพิจารณา?

การกำหนดค่า NAT บนเราเตอร์ไม่ได้ให้การเชื่อมต่อแบบ end-to-end ดังนั้นเราเตอร์ดังกล่าวจึงไม่สามารถเข้าร่วมในอินเทอร์เน็ตโปรโตคอลบางตัวได้ บริการที่ต้องมีการเริ่มต้นการเชื่อมต่อ TCP จากเครือข่ายภายนอกหรือผู้ใช้ที่ไม่มีโปรโตคอลอาจไม่พร้อมใช้งาน หากเราเตอร์ NAT ไม่ได้ใช้ความพยายามเป็นพิเศษในการรองรับโปรโตคอลดังกล่าว แพ็กเก็ตขาเข้าอาจไม่ถึงปลายทาง โปรโตคอลบางตัวสามารถใส่ลงในการแปลเดียวระหว่างโฮสต์ที่เข้าร่วม (เช่น FTP "โหมดพาสซีฟ") บางครั้งใช้เกตเวย์เลเยอร์แอปพลิเคชัน แต่การเชื่อมต่อจะไม่ถูกสร้างขึ้นเมื่อทั้งสองระบบแยกจากอินเทอร์เน็ตโดย NAT การใช้การแปลที่อยู่เครือข่ายยังทำให้โปรโตคอล "ทันเนล" เช่น IPsec มีความซับซ้อนเนื่องจากจะเปลี่ยนค่าในส่วนหัวที่โต้ตอบกับการตรวจสอบความสมบูรณ์ของคำขอ

ปัญหาที่มีอยู่

การเชื่อมต่อแบบ end-to-end เป็นหลักการสำคัญของอินเทอร์เน็ตมาตั้งแต่เริ่มก่อตั้ง สถานะปัจจุบันของเครือข่ายแสดงให้เห็นว่า NAT ละเมิดหลักการนี้ มีความกังวลอย่างมากในหมู่ผู้เชี่ยวชาญเกี่ยวกับความแพร่หลายของการแปลที่อยู่เครือข่าย IPv6 และความกังวลเกี่ยวกับวิธีจัดการอย่างมีประสิทธิภาพ

เนื่องจากลักษณะของตารางสถานะการแปลในเราเตอร์ NAT มีอายุสั้น อุปกรณ์เครือข่ายภายในจึงสูญเสียการเชื่อมต่อ IP ซึ่งโดยปกติจะเกิดขึ้นภายในระยะเวลาอันสั้นมาก เมื่อพูดถึง NAT ในเราเตอร์ เราต้องไม่ลืมเหตุการณ์นี้ ซึ่งจะช่วยลดเวลาการทำงานของอุปกรณ์ขนาดกะทัดรัดที่ใช้พลังงานจากแบตเตอรี่และแบตเตอรี่แบบชาร์จไฟได้อย่างมาก

ความสามารถในการขยายขนาด

นอกจากนี้ เมื่อใช้ NAT จะมีการตรวจสอบเฉพาะพอร์ตเท่านั้น ซึ่งสามารถหมดลงอย่างรวดเร็วโดยแอปพลิเคชันภายในที่ใช้การเชื่อมต่อพร้อมกันหลายรายการ (เช่น คำขอ HTTP สำหรับหน้าเว็บที่มีออบเจ็กต์ฝังตัวจำนวนมาก) ปัญหานี้สามารถแก้ไขได้โดยการติดตามที่อยู่ IP ปลายทางนอกเหนือจากพอร์ต (ดังนั้นพอร์ตภายในเครื่องหนึ่งพอร์ตจะถูกแชร์โดยโฮสต์ระยะไกลจำนวนมาก)

ความยากลำบากบางอย่าง

เนื่องจากที่อยู่ภายในทั้งหมดถูกปลอมแปลงเป็นที่อยู่สาธารณะเดียว จึงเป็นไปไม่ได้ที่โฮสต์ภายนอกจะเริ่มต้นการเชื่อมต่อกับโฮสต์ภายในเฉพาะโดยไม่มีการกำหนดค่าพิเศษบนไฟร์วอลล์ (ซึ่งจะต้องส่งต่อการเชื่อมต่อไปยังพอร์ตเฉพาะ) แอปพลิเคชัน เช่น ระบบโทรศัพท์ IP การประชุมทางวิดีโอ และบริการที่คล้ายกันต้องใช้เทคนิค NAT Traversal เพื่อให้ทำงานได้อย่างถูกต้อง

ที่อยู่การส่งคืนและพอร์ตการแปล (Rapt) อนุญาตให้โฮสต์ที่ที่อยู่ IP จริงเปลี่ยนแปลงเป็นครั้งคราวเพื่อให้ยังคงใช้งานได้เป็นเซิร์ฟเวอร์โดยใช้ที่อยู่ IP แบบคงที่บนเครือข่ายภายในบ้าน โดยพื้นฐานแล้ว สิ่งนี้ควรอนุญาตให้การตั้งค่าเซิร์ฟเวอร์เพื่อรักษาการเชื่อมต่อ แม้ว่านี่ไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์แบบ แต่ก็อาจเป็นอีกหนึ่งเครื่องมือที่มีประโยชน์ในคลังแสงของผู้ดูแลระบบเครือข่ายเมื่อตัดสินใจเลือกวิธีกำหนดค่า NAT บนเราเตอร์

การแปลที่อยู่พอร์ต (PAT)

การใช้งาน Rapt ของ Cisco คือ Port Address Translation (PAT) ซึ่งจับคู่ที่อยู่ IP ส่วนตัวหลายรายการกับที่อยู่ IP สาธารณะเดียว ที่อยู่หลายแห่งสามารถแมปเป็นที่อยู่ได้ เนื่องจากแต่ละที่อยู่จะถูกติดตามโดยใช้หมายเลขพอร์ต PAT ใช้หมายเลขพอร์ตต้นทางที่ไม่ซ้ำกันบน IP ทั่วโลกภายในเพื่อแยกแยะทิศทางของการถ่ายโอนข้อมูล ตัวเลขเหล่านี้เป็นจำนวนเต็ม 16 บิต จำนวนที่อยู่ภายในทั้งหมดที่สามารถแปลเป็นที่อยู่ภายนอกหนึ่งที่อยู่ตามทฤษฎีสามารถเข้าถึงได้ถึง 65536 ตามทฤษฎี จำนวนพอร์ตจริงที่สามารถกำหนดที่อยู่ IP เดียวได้คือประมาณ 4000 โดยทั่วไป PAT จะพยายามรักษาพอร์ต "ดั้งเดิม" ดั้งเดิมไว้ หากมีการใช้งานอยู่แล้ว การแปลที่อยู่พอร์ตจะกำหนดหมายเลขพอร์ตแรกที่มีอยู่โดยเริ่มจากจุดเริ่มต้นของกลุ่มที่เกี่ยวข้อง - 0-511, 512-1023 หรือ 1024-65535 เมื่อไม่มีพอร์ตเหลืออยู่และมีที่อยู่ IP ภายนอกมากกว่าหนึ่งรายการ PAT จะย้ายไปยังพอร์ตถัดไปเพื่อพยายามจัดสรรพอร์ตเดิม กระบวนการนี้จะดำเนินต่อไปจนกว่าจะไม่มีข้อมูลอีกต่อไป

ที่อยู่และการแมปพอร์ตดำเนินการโดยบริการของ Cisco ที่รวมที่อยู่พอร์ตการแปลเข้ากับข้อมูลอุโมงค์แพ็กเก็ต IPv4 ผ่านเครือข่าย IPv6 ภายใน โดยพื้นฐานแล้วมันเป็นทางเลือกที่ไม่เป็นทางการแทน CarrierGrade NAT และ DS-Lite ที่รองรับการแปลที่อยู่ IP/พอร์ต (และรองรับการกำหนดค่า NAT) ดังนั้นจึงหลีกเลี่ยงปัญหาในการสร้างและรักษาการเชื่อมต่อและยังมีกลไกการเปลี่ยนแปลงสำหรับการปรับใช้ IPv6

วิธีการแปล

มีหลายวิธีในการใช้ที่อยู่เครือข่ายและการแปลพอร์ต ในโปรโตคอลแอปพลิเคชันบางตัวที่ใช้แอปพลิเคชันที่อยู่ IP ที่ทำงานบนเครือข่ายที่เข้ารหัส จำเป็นต้องกำหนดที่อยู่ NAT ภายนอก (ซึ่งใช้ที่ปลายอีกด้านหนึ่งของการเชื่อมต่อ) และนอกจากนี้ มักจะจำเป็นต้องตรวจสอบและจำแนกประเภท ประเภทของการส่ง โดยปกติจะทำสิ่งนี้เนื่องจากต้องการสร้างช่องทางการสื่อสารโดยตรง (เพื่อให้ข้อมูลไหลผ่านเซิร์ฟเวอร์อย่างต่อเนื่อง หรือเพื่อปรับปรุงประสิทธิภาพ) ระหว่างไคลเอนต์สองราย ซึ่งทั้งสองอย่างนี้อยู่เบื้องหลัง NAT ที่แยกจากกัน

เพื่อจุดประสงค์นี้ (วิธีกำหนดค่า NAT) โปรโตคอลพิเศษ RFC 3489 ได้รับการพัฒนาในปี 2546 เพื่อให้บายพาส UDP อย่างง่ายผ่าน NATS ปัจจุบันล้าสมัยเนื่องจากวิธีการดังกล่าวไม่เพียงพอที่จะประเมินประสิทธิภาพของอุปกรณ์จำนวนมากในปัจจุบันได้อย่างถูกต้อง วิธีการใหม่นี้ได้รับมาตรฐานในโปรโตคอล RFC 5389 ซึ่งได้รับการพัฒนาในเดือนตุลาคม พ.ศ. 2551 ข้อมูลจำเพาะนี้ในปัจจุบันเรียกว่า SessionTraversal และเป็นยูทิลิตี้สำหรับการดำเนินการ NAT

การสร้างการสื่อสารสองทาง

แต่ละแพ็กเก็ต TCP และ UDP มีที่อยู่ IP ต้นทางและหมายเลขพอร์ต รวมถึงพิกัดของพอร์ตปลายทาง

หากต้องการรับบริการสาธารณะ เช่น ฟังก์ชันเมลเซิร์ฟเวอร์ หมายเลขพอร์ตจึงเป็นสิ่งสำคัญ ตัวอย่างเช่น เชื่อมต่อกับซอฟต์แวร์เว็บเซิร์ฟเวอร์ และ 25 เชื่อมต่อกับเซิร์ฟเวอร์อีเมล SMTP ที่อยู่ IP ของเซิร์ฟเวอร์สาธารณะก็มีค่าที่สำคัญเช่นกัน คล้ายกับที่อยู่ไปรษณีย์หรือหมายเลขโทรศัพท์ พารามิเตอร์ทั้งสองนี้ต้องเป็นที่รู้จักอย่างน่าเชื่อถือสำหรับโหนดทั้งหมดที่ต้องการสร้างการเชื่อมต่อ

ที่อยู่ IP ส่วนตัวมีความหมายเฉพาะบนเครือข่ายท้องถิ่นที่ใช้งานและบนพอร์ตโฮสต์เท่านั้น พอร์ตเป็นจุดสิ้นสุดการสื่อสารที่ไม่ซ้ำกันบนโฮสต์ ดังนั้นการสื่อสารผ่าน NAT จึงได้รับการดูแลโดยใช้พอร์ตรวมและการจับคู่ที่อยู่ IP

PAT (การแปลที่อยู่พอร์ต) แก้ไขข้อขัดแย้งที่อาจเกิดขึ้นระหว่างสองโฮสต์ที่แตกต่างกันโดยใช้หมายเลขพอร์ตต้นทางเดียวกันเพื่อสร้างการเชื่อมต่อที่ไม่ซ้ำกันพร้อมกัน

เราเตอร์อินเทอร์เน็ต เซิร์ฟเวอร์การเข้าถึง ไฟร์วอลล์ ที่ได้รับความนิยมมากที่สุดก็คือ ที่มา นท(SNAT) สาระสำคัญของกลไกนี้คือการแทนที่ที่อยู่ต้นทางเมื่อแพ็กเก็ตผ่านไปในทิศทางเดียวและแทนที่ที่อยู่ปลายทางในแพ็กเก็ตตอบกลับแบบย้อนกลับ นอกจากที่อยู่ต้นทาง/ปลายทางแล้ว ยังสามารถเปลี่ยนหมายเลขพอร์ตต้นทางและปลายทางได้อีกด้วย

นอกจาก SNAT แล้ว เช่น การให้ที่อยู่ภายในแก่ผู้ใช้เครือข่ายท้องถิ่นเพื่อเข้าถึงอินเทอร์เน็ตก็มักใช้เช่นกัน ปลายทาง นทเมื่อคำขอจากภายนอกถูกแปลโดยไฟร์วอลล์ไปยังเซิร์ฟเวอร์บนเครือข่ายท้องถิ่นที่มีที่อยู่ภายใน จึงไม่สามารถเข้าถึงได้โดยตรงจากเครือข่ายภายนอก (โดยไม่มี NAT)

รูปภาพด้านล่างแสดงตัวอย่างการทำงานของกลไก NAT


ข้าว. 7.1.

ผู้ใช้บนเครือข่ายองค์กรส่งคำขอไปยังอินเทอร์เน็ต ซึ่งมาถึงอินเทอร์เฟซภายในของเราเตอร์ เซิร์ฟเวอร์การเข้าถึง หรือไฟร์วอลล์ (อุปกรณ์ NAT)

อุปกรณ์ NAT รับแพ็กเก็ตและป้อนข้อมูลในตารางการติดตามการเชื่อมต่อ ซึ่งควบคุมการแปลที่อยู่

จากนั้นจะแทนที่ที่อยู่ต้นทางของแพ็กเก็ตด้วยที่อยู่ IP สาธารณะภายนอกของตัวเอง และส่งแพ็กเก็ตไปยังปลายทางบนอินเทอร์เน็ต

โฮสต์ปลายทางได้รับแพ็กเก็ตและส่งการตอบกลับกลับไปยังอุปกรณ์ NAT

ในทางกลับกัน เมื่อได้รับแพ็กเก็ตนี้ อุปกรณ์ NAT จะค้นหาแหล่งที่มาของแพ็กเก็ตดั้งเดิมในตารางการติดตามการเชื่อมต่อ แทนที่ที่อยู่ IP ปลายทางด้วยที่อยู่ IP ส่วนตัวที่เกี่ยวข้อง และส่งต่อแพ็กเก็ตไปยังคอมพิวเตอร์ต้นทาง เนื่องจากอุปกรณ์ NAT ส่งแพ็กเก็ตในนามของคอมพิวเตอร์ภายในทั้งหมด อุปกรณ์จะเปลี่ยนพอร์ตเครือข่ายต้นทาง และข้อมูลนี้จะถูกจัดเก็บไว้ในตารางการติดตามการเชื่อมต่อ

มีแนวคิดพื้นฐาน 3 ประการสำหรับการแปลที่อยู่:

  • คงที่ (SAT, การแปลที่อยู่เครือข่ายแบบคงที่),
  • ไดนามิก (DAT, การแปลที่อยู่แบบไดนามิก),
  • ปลอมตัว (NAPT, NAT โอเวอร์โหลด, PAT)

NAT แบบคงที่จับคู่ที่อยู่ IP ในเครื่องกับที่อยู่สาธารณะเฉพาะแบบหนึ่งต่อหนึ่ง ใช้เมื่อโฮสต์ท้องถิ่นต้องสามารถเข้าถึงได้จากภายนอกโดยใช้ที่อยู่คงที่

NAT แบบไดนามิกจับคู่ชุดที่อยู่ส่วนตัวกับชุดที่อยู่ IP สาธารณะ หากจำนวนโฮสต์ในพื้นที่ไม่เกินจำนวนที่อยู่สาธารณะที่มีอยู่ แต่ละที่อยู่ในพื้นที่จะได้รับการรับรองว่าสอดคล้องกับที่อยู่สาธารณะ มิฉะนั้น จำนวนโฮสต์ที่สามารถเข้าถึงเครือข่ายภายนอกได้พร้อมกันจะถูกจำกัดด้วยจำนวนที่อยู่สาธารณะ

หน้ากาก NAT(NAPT, NAT Overload, PAT, การปลอมแปลง) เป็นรูปแบบหนึ่งของ NAT แบบไดนามิกที่จับคู่ที่อยู่ส่วนตัวหลายรายการกับที่อยู่ IP สาธารณะเดียวโดยใช้พอร์ตที่ต่างกัน หรือที่เรียกว่า PAT (การแปลที่อยู่พอร์ต)

อาจมีกลไกหลายประการสำหรับการโต้ตอบระหว่างเครือข่ายท้องถิ่นภายในและเครือข่ายสาธารณะภายนอก - ขึ้นอยู่กับงานเฉพาะในการให้การเข้าถึงเครือข่ายภายนอกและด้านหลังและกำหนดโดยกฎบางประการ การแปลที่อยู่เครือข่ายที่กำหนดมี 4 ประเภท:

  • กรวยเต็ม
  • กรวยที่ถูกจำกัด
  • กรวยจำกัดพอร์ต
  • สมมาตร

ใน NAT สามประเภทแรก พอร์ตภายนอกเดียวกันจะใช้ในการสื่อสารระหว่างที่อยู่ IP ที่แตกต่างกันบนเครือข่ายภายนอกและที่อยู่จากเครือข่ายท้องถิ่น ประเภทที่สี่ - สมมาตร - ใช้พอร์ตภายนอกแยกต่างหากสำหรับแต่ละที่อยู่และพอร์ต

กรวยเต็มพอร์ตภายนอกของอุปกรณ์ (เราเตอร์ เซิร์ฟเวอร์การเข้าถึง ไฟร์วอลล์) เปิดรับคำขอที่มาจากที่อยู่ใดๆ หากผู้ใช้จากอินเทอร์เน็ตจำเป็นต้องส่งแพ็กเก็ตไปยังไคลเอนต์ที่อยู่ด้านหลัง NAT เขาเพียงต้องการทราบพอร์ตภายนอกของอุปกรณ์ที่ใช้สร้างการเชื่อมต่อเท่านั้น ตัวอย่างเช่น คอมพิวเตอร์ที่อยู่เบื้องหลัง NAT ซึ่งมีที่อยู่ IP 192.168.0.4 จะส่งและรับแพ็กเก็ตบนพอร์ต 8000 ซึ่งแมปไปยังที่อยู่ IP ภายนอกและพอร์ตเป็น 10.1.1.1:12345 แพ็กเก็ตจากเครือข่ายภายนอกจะมาถึงอุปกรณ์ด้วยที่อยู่ IP: พอร์ต 10.1.1.1:12345 จากนั้นจะส่งไปยังคอมพิวเตอร์ไคลเอนต์ 192.168.0.4:8000

ในแพ็กเก็ตขาเข้า จะมีการตรวจสอบเฉพาะโปรโตคอลการขนส่งเท่านั้น ที่อยู่ปลายทางและพอร์ต ที่อยู่ต้นทางและพอร์ตไม่สำคัญ

เมื่อใช้ NAT ทำงานตามประเภท กรวยที่ถูกจำกัดพอร์ตภายนอกของอุปกรณ์ (เราเตอร์ เซิร์ฟเวอร์การเข้าถึง ไฟร์วอลล์) จะเปิดไปยังแพ็กเก็ตใดๆ ที่ส่งจากคอมพิวเตอร์ไคลเอ็นต์ ในตัวอย่างของเรา: 192.168.0.4:8000 และแพ็คเก็ตที่มาจากเครือข่ายภายนอก (เช่นจากคอมพิวเตอร์ 172.16.0.5:4000) ไปยังอุปกรณ์ที่มีที่อยู่: พอร์ต 10.1.1.1:12345 จะถูกส่งไปยังคอมพิวเตอร์ 192.168.0.4:8000 เฉพาะในกรณีที่ 192.168.0.4:8000 ก่อนหน้านี้ ส่งคำขอไปยังที่อยู่ IP ของโฮสต์ภายนอก (ในกรณีของเราไปยังคอมพิวเตอร์ 172.16.0.5:4000) นั่นคือเราเตอร์จะออกอากาศแพ็กเก็ตขาเข้าจากแหล่งที่อยู่เฉพาะเท่านั้น (ในกรณีของเราคือคอมพิวเตอร์ 172.16.0.5:4000) แต่หมายเลขพอร์ตต้นทางอาจเป็นอะไรก็ได้ มิฉะนั้น NAT จะบล็อกแพ็กเก็ตที่มาจากโฮสต์ที่ 192.168.0.4:8000 ไม่ได้ส่งคำขอถึง

กลไก NAT กรวยจำกัดพอร์ตเกือบจะคล้ายกับกลไก NAT Restricted Cone เฉพาะในกรณีนี้ NAT จะบล็อกแพ็กเก็ตทั้งหมดที่มาจากโฮสต์ซึ่งคอมพิวเตอร์ไคลเอนต์ 192.168.0.4:8000 ไม่ได้ส่งคำขอไปยังที่อยู่ IP และพอร์ตใด ๆ เราเตอร์ให้ความสำคัญกับหมายเลขพอร์ตต้นทางที่ตรงกัน และไม่ใส่ใจกับที่อยู่ต้นทาง ในตัวอย่างของเรา เราเตอร์จะออกอากาศแพ็กเก็ตขาเข้าด้วยที่อยู่ต้นทางใดๆ แต่พอร์ตต้นทางต้องเป็น 4000 หากไคลเอนต์ส่งคำขอไปยังเครือข่ายภายนอกไปยังที่อยู่ IP และพอร์ตต่างๆ พวกเขาจะสามารถส่งแพ็กเก็ตไปยังไคลเอนต์ได้ บนที่อยู่ IP: พอร์ต 10.1 .1.1:12345

NAT แบบสมมาตรแตกต่างอย่างมากจากกลไกสามประการแรกในวิธีการแมปที่อยู่ IP ภายใน:พอร์ตกับที่อยู่ภายนอก:พอร์ต จอแสดงผลนี้ขึ้นอยู่กับที่อยู่ IP: พอร์ตของคอมพิวเตอร์ที่ต้องการส่งคำขอไป ตัวอย่างเช่น หากคอมพิวเตอร์ไคลเอนต์ 192.168.0.4:8000 ส่งคำขอไปยังคอมพิวเตอร์ #1 (172.16.0.5:4000) ก็อาจปรากฏเป็น 10.1.1.1:12345 ในขณะเดียวกันหากส่งจากพอร์ตเดียวกัน ( 192.168.0.4:8000) ไปยังที่อยู่ IP อื่น ซึ่งจะแสดงแตกต่างออกไป (10.1.1.1:12346)

  • ช่วยให้คุณสามารถป้องกันหรือจำกัดการเข้าถึงจากภายนอกไปยังโฮสต์ภายใน โดยปล่อยให้มีความเป็นไปได้ในการเข้าถึงจากเครือข่ายภายในไปยังโฮสต์ภายนอก เมื่อการเชื่อมต่อเริ่มต้นจากภายในเครือข่าย การออกอากาศจะถูกสร้างขึ้น แพ็กเก็ตการตอบกลับที่มาจากภายนอกตรงกับการออกอากาศที่สร้างขึ้นและจะถูกส่งผ่าน หากไม่มีการแปลที่สอดคล้องกันสำหรับแพ็กเก็ตที่มาจากเครือข่ายภายนอก (และสามารถสร้างได้เมื่อการเชื่อมต่อเริ่มต้นหรือคงที่) แพ็กเก็ตเหล่านั้นจะไม่ได้รับอนุญาต
  • ช่วยให้คุณซ่อนบริการภายในบางอย่างของโฮสต์/เซิร์ฟเวอร์ภายใน โดยพื้นฐานแล้ว การออกอากาศแบบเดียวกันข้างต้นจะดำเนินการบนพอร์ตเฉพาะ แต่เป็นไปได้ที่จะแทนที่พอร์ตภายในของบริการที่ลงทะเบียนอย่างเป็นทางการ (เช่น พอร์ต TCP 80 (เซิร์ฟเวอร์ HTTP) ด้วยพอร์ตภายนอก 54055) ดังนั้น จากภายนอก ที่อยู่ IP ภายนอกหลังจากแปลที่อยู่แล้ว ไซต์ (หรือฟอรัม) สำหรับผู้เยี่ยมชมที่มีความรู้จะสามารถเข้าถึงที่อยู่ http://dlink.ru:54055 ได้ แต่บนเซิร์ฟเวอร์ภายในที่ตั้งอยู่ ด้านหลัง NAT มันจะทำงานบนพอร์ตที่ 80 ปกติ
  • อย่างไรก็ตาม ข้อเสียของเทคโนโลยีนี้เป็นสิ่งที่ควรค่าแก่การกล่าวถึง:

    1. ไม่ใช่ทุกโปรโตคอลที่สามารถ "ข้าม" NAT ได้ บางส่วนล้มเหลวหากมีการแปลที่อยู่บนเส้นทางระหว่างโฮสต์การสื่อสาร ไฟร์วอลล์การแปลที่อยู่ IP บางตัวสามารถแก้ไขข้อบกพร่องนี้ได้โดยการแทนที่ที่อยู่ IP อย่างเหมาะสมไม่เพียงแต่ในส่วนหัวของ IP เท่านั้น แต่ยังรวมถึงในระดับที่สูงกว่าด้วย (เช่น ในคำสั่งโปรโตคอล FTP)
    2. เนื่องจากการแปลที่อยู่แบบหลายต่อหนึ่ง ความยากลำบากเพิ่มเติมเกิดขึ้นกับการระบุผู้ใช้และความจำเป็นในการจัดเก็บบันทึกการแปลที่สมบูรณ์
    3. การโจมตี DoS โดยโฮสต์ที่ทำ NAT - หากใช้ NAT เพื่อเชื่อมต่อผู้ใช้จำนวนมากกับบริการเดียวกัน ก็สามารถสร้างภาพลวงตาของการโจมตี DoS บนบริการได้ (สำเร็จและล้มเหลวหลายครั้ง) ตัวอย่างเช่น จำนวนผู้ใช้ ICQ ที่อยู่เบื้องหลัง NAT มากเกินไปทำให้เกิดปัญหาในการเชื่อมต่อกับเซิร์ฟเวอร์สำหรับผู้ใช้บางราย เนื่องจากความเร็วการเชื่อมต่อเกินที่อนุญาต
    เราเตอร์อินเทอร์เน็ต เซิร์ฟเวอร์การเข้าถึง ไฟร์วอลล์ ที่ได้รับความนิยมมากที่สุดก็คือ ที่มา นท(SNAT) สาระสำคัญของกลไกนี้คือการแทนที่ที่อยู่ต้นทางเมื่อแพ็กเก็ตผ่านไปในทิศทางเดียวและแทนที่ที่อยู่ปลายทางในแพ็กเก็ตตอบกลับแบบย้อนกลับ นอกจากที่อยู่ต้นทาง/ปลายทางแล้ว ยังสามารถเปลี่ยนหมายเลขพอร์ตต้นทางและปลายทางได้อีกด้วย

    นอกจาก SNAT แล้ว เช่น การให้ที่อยู่ภายในแก่ผู้ใช้เครือข่ายท้องถิ่นเพื่อเข้าถึงอินเทอร์เน็ตก็มักใช้เช่นกัน ปลายทาง นทเมื่อคำขอจากภายนอกถูกแปลโดยไฟร์วอลล์ไปยังเซิร์ฟเวอร์บนเครือข่ายท้องถิ่นที่มีที่อยู่ภายใน จึงไม่สามารถเข้าถึงได้โดยตรงจากเครือข่ายภายนอก (โดยไม่มี NAT)

    รูปภาพด้านล่างแสดงตัวอย่างการทำงานของกลไก NAT


    ข้าว. 7.1.

    ผู้ใช้บนเครือข่ายองค์กรส่งคำขอไปยังอินเทอร์เน็ต ซึ่งมาถึงอินเทอร์เฟซภายในของเราเตอร์ เซิร์ฟเวอร์การเข้าถึง หรือไฟร์วอลล์ (อุปกรณ์ NAT)

    อุปกรณ์ NAT รับแพ็กเก็ตและป้อนข้อมูลในตารางการติดตามการเชื่อมต่อ ซึ่งควบคุมการแปลที่อยู่

    จากนั้นจะแทนที่ที่อยู่ต้นทางของแพ็กเก็ตด้วยที่อยู่ IP สาธารณะภายนอกของตัวเอง และส่งแพ็กเก็ตไปยังปลายทางบนอินเทอร์เน็ต

    โฮสต์ปลายทางได้รับแพ็กเก็ตและส่งการตอบกลับกลับไปยังอุปกรณ์ NAT

    ในทางกลับกัน เมื่อได้รับแพ็กเก็ตนี้ อุปกรณ์ NAT จะค้นหาแหล่งที่มาของแพ็กเก็ตดั้งเดิมในตารางการติดตามการเชื่อมต่อ แทนที่ที่อยู่ IP ปลายทางด้วยที่อยู่ IP ส่วนตัวที่เกี่ยวข้อง และส่งต่อแพ็กเก็ตไปยังคอมพิวเตอร์ต้นทาง เนื่องจากอุปกรณ์ NAT ส่งแพ็กเก็ตในนามของคอมพิวเตอร์ภายในทั้งหมด อุปกรณ์จะเปลี่ยนพอร์ตเครือข่ายต้นทาง และข้อมูลนี้จะถูกจัดเก็บไว้ในตารางการติดตามการเชื่อมต่อ

    มีแนวคิดพื้นฐาน 3 ประการสำหรับการแปลที่อยู่:

    • คงที่ (SAT, การแปลที่อยู่เครือข่ายแบบคงที่),
    • ไดนามิก (DAT, การแปลที่อยู่แบบไดนามิก),
    • ปลอมตัว (NAPT, NAT โอเวอร์โหลด, PAT)

    NAT แบบคงที่จับคู่ที่อยู่ IP ในเครื่องกับที่อยู่สาธารณะเฉพาะแบบหนึ่งต่อหนึ่ง ใช้เมื่อโฮสต์ท้องถิ่นต้องสามารถเข้าถึงได้จากภายนอกโดยใช้ที่อยู่คงที่

    NAT แบบไดนามิกจับคู่ชุดที่อยู่ส่วนตัวกับชุดที่อยู่ IP สาธารณะ หากจำนวนโฮสต์ในพื้นที่ไม่เกินจำนวนที่อยู่สาธารณะที่มีอยู่ แต่ละที่อยู่ในพื้นที่จะได้รับการรับรองว่าสอดคล้องกับที่อยู่สาธารณะ มิฉะนั้น จำนวนโฮสต์ที่สามารถเข้าถึงเครือข่ายภายนอกได้พร้อมกันจะถูกจำกัดด้วยจำนวนที่อยู่สาธารณะ

    หน้ากาก NAT(NAPT, NAT Overload, PAT, การปลอมแปลง) เป็นรูปแบบหนึ่งของ NAT แบบไดนามิกที่จับคู่ที่อยู่ส่วนตัวหลายรายการกับที่อยู่ IP สาธารณะเดียวโดยใช้พอร์ตที่ต่างกัน หรือที่เรียกว่า PAT (การแปลที่อยู่พอร์ต)

    อาจมีกลไกหลายประการสำหรับการโต้ตอบระหว่างเครือข่ายท้องถิ่นภายในและเครือข่ายสาธารณะภายนอก - ขึ้นอยู่กับงานเฉพาะในการให้การเข้าถึงเครือข่ายภายนอกและด้านหลังและกำหนดโดยกฎบางประการ การแปลที่อยู่เครือข่ายที่กำหนดมี 4 ประเภท:

    • กรวยเต็ม
    • กรวยที่ถูกจำกัด
    • กรวยจำกัดพอร์ต
    • สมมาตร

    ใน NAT สามประเภทแรก พอร์ตภายนอกเดียวกันจะใช้ในการสื่อสารระหว่างที่อยู่ IP ที่แตกต่างกันบนเครือข่ายภายนอกและที่อยู่จากเครือข่ายท้องถิ่น ประเภทที่สี่ - สมมาตร - ใช้พอร์ตภายนอกแยกต่างหากสำหรับแต่ละที่อยู่และพอร์ต

    กรวยเต็มพอร์ตภายนอกของอุปกรณ์ (เราเตอร์ เซิร์ฟเวอร์การเข้าถึง ไฟร์วอลล์) เปิดรับคำขอที่มาจากที่อยู่ใดๆ หากผู้ใช้จากอินเทอร์เน็ตจำเป็นต้องส่งแพ็กเก็ตไปยังไคลเอนต์ที่อยู่ด้านหลัง NAT เขาเพียงต้องการทราบพอร์ตภายนอกของอุปกรณ์ที่ใช้สร้างการเชื่อมต่อเท่านั้น ตัวอย่างเช่น คอมพิวเตอร์ที่อยู่เบื้องหลัง NAT ซึ่งมีที่อยู่ IP 192.168.0.4 จะส่งและรับแพ็กเก็ตบนพอร์ต 8000 ซึ่งแมปไปยังที่อยู่ IP ภายนอกและพอร์ตเป็น 10.1.1.1:12345 แพ็กเก็ตจากเครือข่ายภายนอกจะมาถึงอุปกรณ์ด้วยที่อยู่ IP: พอร์ต 10.1.1.1:12345 จากนั้นจะส่งไปยังคอมพิวเตอร์ไคลเอนต์ 192.168.0.4:8000

    ในแพ็กเก็ตขาเข้า จะมีการตรวจสอบเฉพาะโปรโตคอลการขนส่งเท่านั้น ที่อยู่ปลายทางและพอร์ต ที่อยู่ต้นทางและพอร์ตไม่สำคัญ

    เมื่อใช้ NAT ทำงานตามประเภท กรวยที่ถูกจำกัดพอร์ตภายนอกของอุปกรณ์ (เราเตอร์ เซิร์ฟเวอร์การเข้าถึง ไฟร์วอลล์) จะเปิดไปยังแพ็กเก็ตใดๆ ที่ส่งจากคอมพิวเตอร์ไคลเอ็นต์ ในตัวอย่างของเรา: 192.168.0.4:8000 และแพ็คเก็ตที่มาจากเครือข่ายภายนอก (เช่นจากคอมพิวเตอร์ 172.16.0.5:4000) ไปยังอุปกรณ์ที่มีที่อยู่: พอร์ต 10.1.1.1:12345 จะถูกส่งไปยังคอมพิวเตอร์ 192.168.0.4:8000 เฉพาะในกรณีที่ 192.168.0.4:8000 ก่อนหน้านี้ ส่งคำขอไปยังที่อยู่ IP ของโฮสต์ภายนอก (ในกรณีของเราไปยังคอมพิวเตอร์ 172.16.0.5:4000) นั่นคือเราเตอร์จะออกอากาศแพ็กเก็ตขาเข้าจากแหล่งที่อยู่เฉพาะเท่านั้น (ในกรณีของเราคือคอมพิวเตอร์ 172.16.0.5:4000) แต่หมายเลขพอร์ตต้นทางอาจเป็นอะไรก็ได้ มิฉะนั้น NAT จะบล็อกแพ็กเก็ตที่มาจากโฮสต์ที่ 192.168.0.4:8000 ไม่ได้ส่งคำขอถึง

    กลไก NAT กรวยจำกัดพอร์ตเกือบจะคล้ายกับกลไก NAT Restricted Cone เฉพาะในกรณีนี้ NAT จะบล็อกแพ็กเก็ตทั้งหมดที่มาจากโฮสต์ซึ่งคอมพิวเตอร์ไคลเอนต์ 192.168.0.4:8000 ไม่ได้ส่งคำขอไปยังที่อยู่ IP และพอร์ตใด ๆ เราเตอร์ให้ความสำคัญกับหมายเลขพอร์ตต้นทางที่ตรงกัน และไม่ใส่ใจกับที่อยู่ต้นทาง ในตัวอย่างของเรา เราเตอร์จะออกอากาศแพ็กเก็ตขาเข้าด้วยที่อยู่ต้นทางใดๆ แต่พอร์ตต้นทางต้องเป็น 4000 หากไคลเอนต์ส่งคำขอไปยังเครือข่ายภายนอกไปยังที่อยู่ IP และพอร์ตต่างๆ พวกเขาจะสามารถส่งแพ็กเก็ตไปยังไคลเอนต์ได้ บนที่อยู่ IP: พอร์ต 10.1 .1.1:12345

    NAT แบบสมมาตรแตกต่างอย่างมากจากกลไกสามประการแรกในวิธีการแมปที่อยู่ IP ภายใน:พอร์ตกับที่อยู่ภายนอก:พอร์ต จอแสดงผลนี้ขึ้นอยู่กับที่อยู่ IP: พอร์ตของคอมพิวเตอร์ที่ต้องการส่งคำขอไป ตัวอย่างเช่น หากคอมพิวเตอร์ไคลเอนต์ 192.168.0.4:8000 ส่งคำขอไปยังคอมพิวเตอร์ #1 (172.16.0.5:4000) ก็อาจปรากฏเป็น 10.1.1.1:12345 ในขณะเดียวกันหากส่งจากพอร์ตเดียวกัน ( 192.168.0.4:8000) ไปยังที่อยู่ IP อื่น ซึ่งจะแสดงแตกต่างออกไป (10.1.1.1:12346)

  • ช่วยให้คุณสามารถป้องกันหรือจำกัดการเข้าถึงจากภายนอกไปยังโฮสต์ภายใน โดยปล่อยให้มีความเป็นไปได้ในการเข้าถึงจากเครือข่ายภายในไปยังโฮสต์ภายนอก เมื่อการเชื่อมต่อเริ่มต้นจากภายในเครือข่าย การออกอากาศจะถูกสร้างขึ้น แพ็กเก็ตการตอบกลับที่มาจากภายนอกตรงกับการออกอากาศที่สร้างขึ้นและจะถูกส่งผ่าน หากไม่มีการแปลที่สอดคล้องกันสำหรับแพ็กเก็ตที่มาจากเครือข่ายภายนอก (และสามารถสร้างได้เมื่อการเชื่อมต่อเริ่มต้นหรือคงที่) แพ็กเก็ตเหล่านั้นจะไม่ได้รับอนุญาต
  • ช่วยให้คุณซ่อนบริการภายในบางอย่างของโฮสต์/เซิร์ฟเวอร์ภายใน โดยพื้นฐานแล้ว การออกอากาศแบบเดียวกันข้างต้นจะดำเนินการบนพอร์ตเฉพาะ แต่เป็นไปได้ที่จะแทนที่พอร์ตภายในของบริการที่ลงทะเบียนอย่างเป็นทางการ (เช่น พอร์ต TCP 80 (เซิร์ฟเวอร์ HTTP) ด้วยพอร์ตภายนอก 54055) ดังนั้น จากภายนอก ที่อยู่ IP ภายนอกหลังจากแปลที่อยู่แล้ว ไซต์ (หรือฟอรัม) สำหรับผู้เยี่ยมชมที่มีความรู้จะสามารถเข้าถึงที่อยู่ http://dlink.ru:54055 ได้ แต่บนเซิร์ฟเวอร์ภายในที่ตั้งอยู่ ด้านหลัง NAT มันจะทำงานบนพอร์ตที่ 80 ปกติ
  • อย่างไรก็ตาม ข้อเสียของเทคโนโลยีนี้เป็นสิ่งที่ควรค่าแก่การกล่าวถึง:

    1. ไม่ใช่ทุกโปรโตคอลที่สามารถ "ข้าม" NAT ได้ บางส่วนล้มเหลวหากมีการแปลที่อยู่บนเส้นทางระหว่างโฮสต์การสื่อสาร ไฟร์วอลล์การแปลที่อยู่ IP บางตัวสามารถแก้ไขข้อบกพร่องนี้ได้โดยการแทนที่ที่อยู่ IP อย่างเหมาะสมไม่เพียงแต่ในส่วนหัวของ IP เท่านั้น แต่ยังรวมถึงในระดับที่สูงกว่าด้วย (เช่น ในคำสั่งโปรโตคอล FTP)
    2. เนื่องจากการแปลที่อยู่แบบหลายต่อหนึ่ง ความยากลำบากเพิ่มเติมเกิดขึ้นกับการระบุผู้ใช้และความจำเป็นในการจัดเก็บบันทึกการแปลที่สมบูรณ์
    3. การโจมตี DoS โดยโฮสต์ที่ทำ NAT - หากใช้ NAT เพื่อเชื่อมต่อผู้ใช้จำนวนมากกับบริการเดียวกัน ก็สามารถสร้างภาพลวงตาของการโจมตี DoS บนบริการได้ (สำเร็จและล้มเหลวหลายครั้ง) ตัวอย่างเช่น จำนวนผู้ใช้ ICQ ที่อยู่เบื้องหลัง NAT มากเกินไปทำให้เกิดปัญหาในการเชื่อมต่อกับเซิร์ฟเวอร์สำหรับผู้ใช้บางราย เนื่องจากความเร็วการเชื่อมต่อเกินที่อนุญาต

    ไม่เป็นข่าวอีกต่อไปว่ามีที่อยู่เครือข่าย IP ไม่เพียงพอสำหรับอุปกรณ์ทั้งหมดที่ต้องการเชื่อมต่ออินเทอร์เน็ต ปัจจุบันพบทางออกจากสถานการณ์นี้โดยการพัฒนาโปรโตคอล IPv6 ซึ่งมีความยาวที่อยู่คือ 128 บิต ในขณะที่ IPv4 ปัจจุบันมีเพียง 32 บิตเท่านั้น แต่ในช่วงต้นทศวรรษ 2000 พวกเขาพบวิธีแก้ปัญหาอื่น - ใช้การแปลที่อยู่เครือข่าย ย่อว่า nat ต่อไปในบทความเราจะกำหนดค่า nat ในเราเตอร์

    เข้าสู่เมนูการตั้งค่าเราเตอร์

    ตัวอย่างเช่น ลองใช้เราเตอร์ ZyXEL ของซีรีส์ ZyWALL USG และ NXC5200

    ก่อนอื่นให้ไปที่การตั้งค่าเราเตอร์ ในการดำเนินการนี้ในเว็บเบราว์เซอร์ใด ๆ ให้พิมพ์ 192.168.1.1 ลงในแถบที่อยู่ (ที่อยู่เราเตอร์มาตรฐาน) หน้าต่างจะปรากฏขึ้นเพื่อขอให้คุณป้อนข้อมูลเข้าสู่ระบบและรหัสผ่าน

    ในช่อง "ชื่อผู้ใช้" ให้ป้อนผู้ดูแลระบบ ในช่อง "รหัสผ่าน" ให้ป้อน 1234 คลิก "ตกลง"

    การตั้งค่า nat ในเราเตอร์

    ในหน้าต่างเมนูที่เปิดขึ้น ให้ไปที่แท็บ "การกำหนดค่า" (ไอคอนที่มีเฟืองสองตัว) จากนั้น "เครือข่าย" จากนั้น "การกำหนดเส้นทาง" ในหน้าต่างที่เลือก ไปที่แท็บ "การกำหนดเส้นทางนโยบาย"

    เมนูการตั้งค่าเราเตอร์ไซเซล

    ในเมนูนี้ มีการกำหนดค่านโยบายการกำหนดเส้นทาง ในพื้นที่ "เกณฑ์" เราได้กำหนดเกณฑ์สำหรับการเลือกการรับส่งข้อมูล - การรับส่งข้อมูลใดที่จำเป็นต้องออกอากาศ (จริงๆ แล้วกำหนดค่า nat) และการรับส่งข้อมูลใดที่ควรกำหนดเส้นทาง สามารถเลือกการรับส่งข้อมูลได้ตามเกณฑ์หลายประการ:

    1. ผู้ใช้ (ผู้ใช้);
    2. โดยอินเทอร์เฟซ (ขาเข้า);
    3. ตามที่อยู่ IP ต้นทาง
    4. ตามที่อยู่ IP ของผู้รับ (ที่อยู่ปลายทาง)
    5. โดยท่าเรือปลายทาง (บริการ)

    ในพื้นที่ "Next-Hop" เรากำหนดวัตถุเพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล:

    การเลือกวัตถุการเปลี่ยนเส้นทางเราเตอร์ ZyXEL

    โดยที่ “อัตโนมัติ” – การรับส่งข้อมูลจะถูกเปลี่ยนเส้นทางไปยังอินเทอร์เฟซสากลเริ่มต้น เกตเวย์ – ไปยังที่อยู่ที่ระบุในการตั้งค่าเกตเวย์ อุโมงค์ VPN – อุโมงค์ส่วนตัวเสมือน IPSec; Trunk – กำหนดเส้นทางไปยัง "trunk" โดยที่ "trunk" คืออินเทอร์เฟซต่างๆ ที่กำหนดค่าให้ทำงานร่วมกันหรืออยู่ในโหมดสำรอง อินเทอร์เฟซ – เปลี่ยนเส้นทางไปยังอินเทอร์เฟซที่ระบุ:

    สิ่งสำคัญคือต้องจำไว้ว่าเมื่อใดก็ตามที่คุณทำการเปลี่ยนแปลงการตั้งค่าเราเตอร์ ให้คลิกปุ่ม "ตกลง" เพื่อบันทึกการตั้งค่า ไม่ใช่แค่ปิดเว็บเบราว์เซอร์เท่านั้น

    การตั้งค่า nat บนคอมพิวเตอร์

    ดังที่คุณทราบคอมพิวเตอร์ส่วนบุคคลสามารถทำหน้าที่เป็นเราเตอร์ได้ มักจะมีสถานการณ์เมื่อมีเครือข่ายคอมพิวเตอร์ของคอมพิวเตอร์หลายเครื่องซึ่งหนึ่งในนั้นสามารถเข้าถึงอินเทอร์เน็ตได้ ในสถานการณ์เช่นนี้คุณไม่สามารถซื้อเราเตอร์ได้เลย แต่ตั้งค่าคอมพิวเตอร์ที่มีการเข้าถึงอินเทอร์เน็ตเป็นเราเตอร์และกำหนดค่า nat ไว้ ลองพิจารณากรณีนี้โดยละเอียด

    อย่าลืมติดตั้งการ์ดเครือข่าย 2 อันบนคอมพิวเตอร์หลักที่ดูอินเทอร์เน็ต (เรียกว่าเซิร์ฟเวอร์) - อันแรกสำหรับเชื่อมต่อกับเครือข่ายท้องถิ่นอันที่สองจากผู้ให้บริการ ตัวอย่างจะใช้ระบบปฏิบัติการ Windows Server 2012

    ในการกำหนดค่า ก่อนอื่น ให้เปิด “Server Manager” (เริ่ม -> เครื่องมือการดูแลระบบ -> ตัวจัดการเซิร์ฟเวอร์) หน้าต่างการตั้งค่าจะปรากฏขึ้น:

    จากที่นี่เราจะจัดการเซิร์ฟเวอร์ของเรา หากต้องการกำหนดค่าต่อ คลิก "เพิ่มบทบาทและคุณลักษณะ" ซึ่งจะเปิดหน้าต่างตัวช่วยสร้างเพิ่มบทบาท ขั้นตอนแรก - ประเภทการติดตั้ง:

    ในหน้าต่างถัดไป เราต้องเลือกบทบาทที่เรากำลังติดตั้งบนเซิร์ฟเวอร์ ทำเครื่องหมายที่ช่องถัดจาก "การเข้าถึงระยะไกล"

    หน้าต่างต่อไปนี้จะปรากฏขึ้น ซึ่งจะแสดงรายการส่วนประกอบที่จำเป็นสำหรับการดำเนินการ คลิก “เพิ่มส่วนประกอบ” หน้าต่างนี้จะหายไป คลิก "ถัดไป"

    ในหน้าต่างถัดไป ตัวช่วยสร้างจะแจ้งให้คุณเพิ่มส่วนประกอบเซิร์ฟเวอร์ ไม่จำเป็นต้องเปลี่ยนแปลงอะไร คลิก "ถัดไป"

    ในหน้าถัดไป ตัวช่วยเพียงแจ้งให้เราทราบเกี่ยวกับการทำงานของบทบาทการเข้าถึงระยะไกล คลิก "ถัดไป"

    ในขั้นตอนถัดไป คุณต้องเลือก “บริการตามบทบาท” ทำเครื่องหมายที่ช่องถัดจาก "การกำหนดเส้นทาง" และคลิก "ถัดไป"

    หน้าต่างถัดไปเป็นข้อมูลอีกครั้ง คุณไม่จำเป็นต้องเลือกอะไรเลย แต่คุณสามารถเลือกช่องถัดจาก "รีสตาร์ทอัตโนมัติบนเซิร์ฟเวอร์ที่เลือก ... " ซึ่งส่งผลให้เซิร์ฟเวอร์จะรีบูตโดยอัตโนมัติหลังการติดตั้ง แต่คุณสามารถทำได้ด้วยตนเอง คลิก "ถัดไป"

    และขั้นตอนสุดท้ายคือการติดตั้งเซิร์ฟเวอร์จริง เมื่อเสร็จแล้วให้คลิกปุ่ม "ปิด"

    การติดตั้งเซิร์ฟเวอร์

    ดังนั้นเราจึงได้กำหนดค่าคอมพิวเตอร์ที่เชื่อมต่อกับอินเทอร์เน็ตในโหมดเซิร์ฟเวอร์ ตอนนี้คุณต้องกำหนดค่า nat บนมัน

    ไปที่เริ่ม / การดูแลระบบ / การกำหนดเส้นทางและการเข้าถึงระยะไกล ในหน้าต่างที่ปรากฏขึ้นทางด้านซ้ายเราจะพบรายการ "เซิร์ฟเวอร์ (ท้องถิ่น)" คลิกขวาที่มันและในเมนูแบบเลื่อนลงคลิก "กำหนดค่าและเปิดใช้งานการกำหนดเส้นทางและการเข้าถึงระยะไกล"

    วิซาร์ดสำหรับการตั้งค่าเซิร์ฟเวอร์การกำหนดเส้นทางและการเข้าถึงระยะไกลจะปรากฏขึ้นซึ่งเราจะกำหนดค่า nat

    ในหน้าแรกเราจะแนะนำตัวช่วยสร้างโดยย่อ - คลิก "ถัดไป" ขั้นตอนต่อไปคือการเลือกบริการใดบริการหนึ่งที่จะทำงานบนเซิร์ฟเวอร์นี้ เลือก "การแปลที่อยู่เครือข่าย (NAT)" และคลิก "ถัดไป"

    จากนั้นตัวช่วยสร้างจะขอให้คุณเลือกการเชื่อมต่อเครือข่ายที่ดูอินเทอร์เน็ต การ์ดเครือข่ายทั้งสองจะปรากฏในรายการ (อย่างน้อยก็ขึ้นอยู่กับจำนวนการ์ดที่ติดตั้งบนเซิร์ฟเวอร์) เราเลือกอันที่เชื่อมต่อสายเคเบิลเครือข่ายของผู้ให้บริการ คลิก "ถัดไป"

    ในหน้าต่างถัดไป วิซาร์ดจะเริ่มบ่นว่าตรวจไม่พบบริการ DHCP หรือ DNS บนเครือข่ายท้องถิ่น มีสองตัวเลือกในการดำเนินการต่อ - เปิดใช้งานบริการพื้นฐาน หรือติดตั้งบริการในภายหลัง

    เลือกรายการแรกแล้วคลิก "ถัดไป" หน้าถัดไปจะแจ้งให้ทราบว่าแนทจะทำงานในช่วงไหน วิซาร์ดการตั้งค่าจะเลือกช่วงนี้โดยอัตโนมัติ โดยขึ้นอยู่กับการกำหนดค่าการเชื่อมต่อเครือข่ายที่เชื่อมต่อกับเครือข่ายท้องถิ่น คลิก "ถัดไป"

    ช่วงแนท

    เพียงเท่านี้ วิซาร์ดการตั้งค่าก็เสร็จสิ้นการตั้งค่า nat คลิก "ถัดไป" และในหน้าต่างถัดไป "เสร็จสิ้น"

    สิ่งสุดท้ายที่เหลืออยู่คือการกำหนดค่าคอมพิวเตอร์ไคลเอนต์ซึ่งก็คือคอมพิวเตอร์เครื่องอื่น ๆ ทั้งหมดในเครือข่ายท้องถิ่น ในการดำเนินการนี้บนคอมพิวเตอร์ไคลเอนต์ (จะต้องทำในคอมพิวเตอร์แต่ละเครื่องบนเครือข่าย) ไปที่เริ่ม / แผงควบคุม / ศูนย์เครือข่ายและการแบ่งปัน / เปลี่ยนการตั้งค่าอะแดปเตอร์ ไปที่ "การเชื่อมต่อเครือข่าย" คลิกขวาที่ไอคอนและเลือก "คุณสมบัติ" จากเมนูแบบเลื่อนลง ในหน้าต่างที่ปรากฏขึ้น ให้เลือก “Internet Protocol Version 4 (TCP/IPv4)” แล้วคลิก “Properties”

    ในช่อง "เกตเวย์เริ่มต้น" เราเขียนที่อยู่ IP ของคอมพิวเตอร์เซิร์ฟเวอร์ (ซึ่งกำหนดค่าไว้ในขั้นตอนก่อนหน้า) ในช่อง "เซิร์ฟเวอร์ DNS ที่ต้องการ" เราเขียนที่อยู่ IP ของเซิร์ฟเวอร์ DNS ของผู้ให้บริการที่ระบุในข้อมูลการเชื่อมต่ออินเทอร์เน็ต บนเซิร์ฟเวอร์ คลิก "ตกลง" และ "ตกลง" อีกครั้ง เพียงเท่านี้คอมพิวเตอร์ไคลเอนต์ก็เชื่อมต่อกับอินเทอร์เน็ตแล้ว

    เหล่านี้เป็นเทคโนโลยีที่แตกต่างอย่างสิ้นเชิง อย่าสับสนพวกเขา

    แนทคืออะไร

    NAT เป็นคำรวมที่หมายถึงเทคโนโลยีการแปลที่อยู่เครือข่ายและ/หรือโปรโตคอล อุปกรณ์ NAT ทำการแปลงแพ็กเก็ตที่ส่งผ่าน แทนที่ที่อยู่ พอร์ต โปรโตคอล ฯลฯ

    มีแนวคิดที่แคบกว่าของ SNAT, DNAT, การปลอมตัว, PAT, NAT-PT เป็นต้น

    เหตุใดจึงต้องใช้ NAT มีการใช้งานอย่างไร

    เพื่อเชื่อมต่อเครือข่ายภายในกับอินเทอร์เน็ต

    • ผ่านกลุ่มที่อยู่ภายนอก
    • ผ่านที่อยู่ภายนอกแห่งเดียว

    เพื่อแทนที่ที่อยู่ IP ภายนอกด้วยที่อยู่อื่น (การเปลี่ยนเส้นทางการรับส่งข้อมูล)

    เพื่อปรับสมดุลการโหลดระหว่างเซิร์ฟเวอร์เดียวกันกับที่อยู่ IP ที่แตกต่างกัน

    เพื่อรวมเครือข่ายท้องถิ่นสองเครือข่ายเข้ากับที่อยู่ภายในที่ตัดกัน

    NAT ทำงานอย่างไร

    s+d NAT (การรวมสาขา - ชั่วร้าย!)

    การทำแผนที่พอร์ต การส่งต่อพอร์ต

    ข้อดีและข้อเสีย

    เข้ากันไม่ได้กับโปรโตคอลบางอย่าง การใช้งาน NAT โดยเฉพาะจะต้องสนับสนุนการตรวจสอบโปรโตคอลที่จำเป็น

    NAT มีคุณสมบัติในการ "คัดกรอง" เครือข่ายภายในจากภายนอก แต่ไม่สามารถนำมาใช้แทนไฟร์วอลล์ได้

    ตั้งค่าบน Cisco IOS

    เราเตอร์และไฟร์วอลล์ของ Cisco รองรับ NAT ประเภทต่างๆ ขึ้นอยู่กับชุดตัวเลือกซอฟต์แวร์ วิธีที่ใช้มากที่สุดคือวิธี NAT ซึ่งเชื่อมโยงที่อยู่ภายในเครื่องกับพอร์ตต่างๆ ของที่อยู่ภายนอกเดียวกัน (PAT ในคำศัพท์ของ Cisco)

    ในการกำหนดค่า NAT บนเราเตอร์ คุณต้อง: o กำหนดปริมาณข้อมูลที่ต้องแปล (โดยใช้รายการเข้าถึงหรือแผนที่เส้นทาง)

    รายการการเข้าถึง Ip ขยายใบอนุญาตท้องถิ่น ip 10.0.0.0 0.255.255.255 ใด ๆ

    แผนที่เส้นทาง INT1 จับคู่ที่อยู่ IP อินเทอร์เฟซการจับคู่ท้องถิ่น FastEthernet0/1.1

    รายการเข้าถึง LOCAL เลือกการรับส่งข้อมูลทั้งหมดจากเครือข่าย 10

    แผนที่เส้นทาง INT1 เลือกการรับส่งข้อมูลรายการเข้าถึง LOCAL ที่ออกจากอินเทอร์เฟซย่อย Fa 0/1.1

    o กำหนดที่อยู่ภายนอกที่จะออกอากาศ เลือกกลุ่มที่อยู่ภายนอก สำหรับ PAT ที่อยู่เดียวก็เพียงพอแล้ว

    Ip nat พูล GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0

    การระบุกลุ่มที่อยู่ภายนอกชื่อ GLOBAL มีที่อยู่เดียวเท่านั้นในพูล

    o เปิดใช้งาน NAT สำหรับที่อยู่ภายในและภายนอกที่เลือก

    Ip nat ภายในซอร์สแผนที่เส้นทาง INT1 พูล GLOBAL โอเวอร์โหลด

    เปิดใช้งาน NAT สำหรับการแปลที่อยู่ต้นทางบนอินเทอร์เฟซภายใน เฉพาะการจราจรที่อยู่ในเงื่อนไขของแผนที่เส้นทาง INT1 เท่านั้นที่จะถูกถ่ายทอด ที่อยู่ภายนอกจะถูกนำมาจากพูล GLOBAL

    Ip nat ภายในแหล่งที่มาคงที่ tcp 10.0.0.1 23 212.192.64.74 23 ขยาย

    “การส่งต่อพอร์ต” หรือ “การเผยแพร่บริการ” แบบคงที่ ในการรับส่งข้อมูลที่เข้าสู่ที่อยู่ 212.192.64.74 บนพอร์ต tcp 23 ปลายทางจะถูกแทนที่ด้วยที่อยู่ 10.0.0.1 และพอร์ต 23

    o กำหนดอินเทอร์เฟซภายในและภายนอก

    อินเทอร์เฟซ FastEthernet0/0 ip nat ภายใน อินเทอร์เฟซ FastEthernet0/1.1 ip nat ภายนอก

    อินเทอร์เฟซ Fa 0/0 ถูกกำหนดไว้ภายในสำหรับ NAT

    อินเทอร์เฟซย่อย Fa 0/1.1 ถูกกำหนดให้เป็นภายนอกสำหรับ NAT

    O การดีบักและการวินิจฉัย:

    แปล ip nat - ดูตารางการออกอากาศปัจจุบัน ล้างการแปล ip nat - ลบการแปลปัจจุบันทั้งหมด ดีบัก ip nat - เปิดใช้งานข้อความดีบัก (แก้จุดบกพร่องทั้งหมด - ปิดใช้งานการดีบัก)

    ตัวอย่าง

    ต่อไปนี้คือตัวอย่างบางส่วนสำหรับโปรแกรมจำลอง Cisco Packet Tracer

    รูปแบบง่ายๆ สำหรับการเชื่อมต่อเครือข่ายขนาดเล็กเข้ากับอินเทอร์เน็ตผ่านกลุ่มที่อยู่ภายนอก

    รูปแบบง่ายๆ สำหรับการเชื่อมต่อเครือข่ายกับอินเทอร์เน็ตผ่านที่อยู่ภายนอกที่เดียว

    โครงการรวมเครือข่ายเข้ากับที่อยู่แบบตัดกัน

    NAT ทำงานอย่างไร

    วิธีการใช้กฎของ NAT จะแตกต่างกันไปตามผู้ผลิตแต่ละรายและอุปกรณ์ที่แตกต่างกัน ต่อไปนี้เป็นขั้นตอนในการใช้นโยบาย NAT สำหรับเราเตอร์บน Cisco IOS:

    จากภายในสู่ภายนอก

    หาก IPSec ตรวจสอบการถอดรหัสรายการการเข้าถึงอินพุต - สำหรับ CET (เทคโนโลยีการเข้ารหัสของ Cisco) หรือ IPSec ตรวจสอบรายการการเข้าถึงอินพุต ตรวจสอบอัตราการป้อนข้อมูล จำกัดการบัญชีอินพุต เปลี่ยนเส้นทางไปยังนโยบายแคชของเว็บ การกำหนดเส้นทาง NAT จากภายในสู่ภายนอก (การแปลในเครื่องเป็นสากล) การเข้ารหัสลับ (ตรวจสอบแผนที่และ ทำเครื่องหมายสำหรับการเข้ารหัส) ตรวจสอบรายการการเข้าถึงเอาต์พุต ตรวจสอบ (การควบคุมการเข้าถึงตามบริบท (CBAC)) การเข้ารหัส TCP สกัดกั้นการเข้าคิว

    ภายนอกสู่ภายใน

    หาก IPSec ตรวจสอบการถอดรหัสรายการเข้าถึงอินพุต - สำหรับ CET หรือ IPSec ตรวจสอบ ตรวจสอบรายการเข้าถึงอินพุต จำกัดอัตราการอินพุต จำกัดการป้อนข้อมูลบัญชีเปลี่ยนเส้นทางไปยังแคชเว็บ NAT ภายนอกสู่ภายใน (การแปลทั่วโลกเป็นท้องถิ่น) นโยบายการกำหนดเส้นทางการกำหนดเส้นทาง crypto (ตรวจสอบแผนที่และทำเครื่องหมายสำหรับการเข้ารหัส) ตรวจสอบ รายการการเข้าถึงเอาต์พุตตรวจสอบการเข้ารหัสสกัดกั้น CBAC TCP การเข้าคิว

    ช่องทางอินเทอร์เน็ตจากผู้ให้บริการรายหนึ่งผ่าน NAT

    รูปแบบง่ายๆ สำหรับการนำ NAT ไปใช้กับผู้ให้บริการรายเดียว

    การจองช่องอินเทอร์เน็ตจากผู้ให้บริการสองรายโดยใช้ NAT, ip sla

    ให้ไว้: เราได้รับอินเทอร์เน็ตสำหรับคอมพิวเตอร์หลายเครื่องจาก ISP1 เขาให้ที่อยู่แก่เรา 212.192.88.150 การเข้าถึงอินเทอร์เน็ตถูกจัดระเบียบจากที่อยู่ IP นี้ผ่าน NAT

    งาน: เชื่อมต่อผู้ให้บริการสำรองข้อมูล - ISP2 เขาจะให้ที่อยู่ 212.192.90.150 แก่เรา จัดระเบียบการรับส่งข้อมูล: ส่งการรับส่งข้อมูลเว็บผ่าน ISP1, การรับส่งข้อมูลอื่น ๆ ผ่าน ISP2 หากผู้ให้บริการรายใดรายหนึ่งล้มเหลว ให้อนุญาตให้การรับส่งข้อมูลทั้งหมดผ่านช่องทางถ่ายทอดสด

    ความยากของงานคืออะไร? ล้างการแปล ip nat?

    โครงการ

    การกำหนดค่า

    1 การแปล ip nat ที่ชัดเจน *

    ชิ้นส่วนของ EEM ดังกล่าวถูกค้นพบและทดสอบแล้ว กิจกรรมไม่ได้ถูกสร้างขึ้นบน IOS ทุกเวอร์ชัน เราต้องชี้แจงให้ชัดเจน

    - แอพเพล็ตตัวจัดการเหตุการณ์ NAT-TRACK รูปแบบ syslog เหตุการณ์ "การติดตาม-5-STATE" การกระทำ 0.1 คำสั่ง cli "เปิดใช้งาน" การกระทำ 0.2 รอ 3 การกระทำ 0.3 คำสั่ง cli "ล้าง ip nat การแปล *" การกระทำ 0.4 syslog msg "การแปล NAT ถูกล้างหลังจากการเปลี่ยนแปลงสถานะแทร็ก "!

    2 หากอินเทอร์เฟซตรงกับผู้ให้บริการ มีโอกาสสูงที่เกตเวย์จะส่ง Ping ผ่านวินาที

    - ชื่อผู้ใช้ ชื่อ รหัสผ่าน 0 รหัสผ่าน เปิดใช้งานความลับ 0 กำหนดค่ารหัสผ่าน! - การควบคุมการเข้าสู่ระบบเราเตอร์บรรทัด vty 0 4 เข้าสู่ระบบท้องถิ่น ! - DHCP ip เครือข่าย dhcp พูล LAN ภายใน Network Mask ค่าเริ่มต้นเราเตอร์ เกตเวย์ DNS-เซิร์ฟเวอร์ 10.11.12.13 ! DNS - ของสมมติที่พวกเขาคิดขึ้นมา - ไม่ใช่จากเครือข่ายท้องถิ่นของเรา! - - ปิงมอนิเตอร์ไปยังที่อยู่เกตเวย์ของผู้ให้บริการ -1! รอ 100 มิลลิวินาทีสำหรับการตอบกลับ! Ping ด้วยความถี่ 1 วินาที ip sla monitor 1 ประเภท echo protocol ipIcmpEcho GatewayProv1 อินเทอร์เฟซต้นทาง InterfaceOnProv1 หมดเวลา 100 ความถี่ 1! - จอภาพ Ping สำหรับผู้ให้บริการ-2 จอภาพ ip sla 2 ประเภทโปรโตคอล echo ipIcmpEcho GatewayProv2 อินเทอร์เฟซแหล่งที่มา InterfaceNaProv2 หมดเวลา 50 ความถี่ 1 ! - เปิดตัว Ping 1 และ 2 ตอนนี้และตลอดไป กำหนดการมอนิเตอร์ ip sla 1 ชีวิตตลอดไป เวลาเริ่มต้นตอนนี้ กำหนดการมอนิเตอร์ ip sla 2 เวลาเริ่มต้นตลอดไปตอนนี้ ! - แทร็ก 10 และ 20 - ติดตามสถานะของการส่ง Ping! ตอบสนองต่อสถานะลงหรือขึ้นโดยมีความล่าช้า 1 วินาที แทร็ก 10 rtr 1 ความล่าช้าในการเข้าถึงลดลง 1 ขึ้น 1 ! แทร็ก 20 rtr 2 ความล่าช้าในการเข้าถึงลดลง 1 ขึ้น 1 ! - - เส้นทางไปยังเครือข่ายภายนอกทั้งหมดของผู้ให้บริการทั้งสอง! เส้นทางเชื่อมโยงกับแทร็ก! และจะเปิดใช้งานเฉพาะในกรณีที่แทร็กอยู่ในสถานะขึ้น! เหล่านั้น. หากเกตเวย์ไปยังผู้ให้บริการที่เกี่ยวข้องนั้นมีเส้นทาง ip 0.0.0.0 0.0.0.0 GatewayProv1 ติดตาม 10 เส้นทาง ip 0.0.0.0 0.0.0.0 GatewayProv2 ติดตาม 20 ! - - int fa 0/0 ไม่ปิด ! - อินเทอร์เฟซย่อยต่อผู้ให้บริการภายนอก! ถูกทำเครื่องหมายเป็นภายนอกสำหรับอินเทอร์เฟซ NAT FastEthernet0/0.1 คำอธิบาย ISP1 encaps dot1q NumberVlanProv1 ที่อยู่ ip ipOnProv1 Mask ip nat ภายนอก ! อินเทอร์เฟซ FastEthernet0/0.2 คำอธิบาย การห่อหุ้ม ISP2 dot1Q NumberVlanProv2 ที่อยู่ IP ipNaProv2 Mask ip nat ภายนอก ! - เชื่อมต่อกับเครือข่ายภายใน! ทำเครื่องหมายว่าอยู่ข้างในสำหรับ NAT ! นโยบายการกำหนดเส้นทางถูกผูกไว้กับอินเทอร์เฟซ PBR FastEthernet0/1 ที่อยู่ ip มาสก์ ipOnInternalNet ip nat ภายใน ip นโยบายเส้นทางแผนที่ PBR ไม่ปิด ! - เข้าถึงรายการจากเครือข่ายภายในสู่ภายนอก! สำหรับการรับส่งข้อมูลเว็บและทุกอย่างอื่น ip access-list ขยาย LOCAL อนุญาต ip อินทราเน็ตใด ๆ ! ip access-list ใบอนุญาตขยายเว็บ tcp เครือข่ายภายใน ใด ๆ eq www อนุญาต tcp เครือข่ายภายใน ใด ๆ eq 443 ! รายการการเข้าถึง ip ขยายทั้งหมด อนุญาต ip ใด ๆ ! - - แมปรูต PBR ที่ยุ่งยาก! หากการรับส่งข้อมูลมาจาก LAN ไปยังเว็บ! จากนั้นกำหนดผู้ให้บริการรายแรกเป็นเกตเวย์! มิฉะนั้นการจราจรอื่นจากพื้นที่! กำหนดผู้ให้บริการรายที่สองเป็นเกตเวย์ - เมื่อกำหนดเกตเวย์ Tracks เส้นทางแผนที่ PBR อนุญาตให้ 10 ตรงกับที่อยู่ IP WEB ตั้งค่า ip ถัดไปฮอป ตรวจสอบความพร้อมใช้งาน GatewayProv1 1 แทร็ก 10 ! เส้นทางแผนที่ใบอนุญาต PBR 20 ตรงกับที่อยู่ IP ทั้งหมดตั้งค่า IP ถัดไปฮอปตรวจสอบความพร้อมใช้งาน GatewayProv2 1 แทร็ก 20! - - รูตแมป ISP1 ที่ยุ่งยาก! ใช้งานได้หากการรับส่งข้อมูลมาจาก LAN! พยายามออกผ่านอินเทอร์เฟซ Fa0/0.1 แผนที่เส้นทาง ISP1 อนุญาตให้มีที่อยู่ IP ที่ตรงกัน 10 รายการ อินเทอร์เฟซการจับคู่ท้องถิ่น FastEthernet0/0.1 ! - รูตแมป ISP2 ที่ยุ่งยาก! ใช้งานได้หากการรับส่งข้อมูลมาจาก LAN! พยายามออกผ่านอินเทอร์เฟซ Fa0/0.2 แผนที่เส้นทาง ISP2 อนุญาต 10 ที่อยู่ IP ที่ตรงกัน อินเทอร์เฟซการจับคู่ท้องถิ่น FastEthernet0/0.2 ! - - ในที่สุด NAT ;-) ! - การรับส่งข้อมูลจาก LAN ไปยังผู้ให้บริการรายแรก นำทางผ่านอินเทอร์เฟซแรก ip nat ภายในอินเทอร์เฟซเส้นทางแผนที่ต้นทาง ISP1 โอเวอร์โหลด FastEthernet0/0.1 ! - การรับส่งข้อมูลจาก LAN ไปยังผู้ให้บริการรายที่สอง นำทางผ่านอินเทอร์เฟซที่สอง ip nat ภายในอินเทอร์เฟซ ISP2 เส้นทางแผนที่ต้นทาง FastEthernet0/0.2 โอเวอร์โหลด ! - เปลี่ยนเส้นทางการรับส่งข้อมูลไปยัง DNS สมมติไปยัง Google DNS ip nat แหล่งที่มาภายนอกคงที่ 8.8.8.8 10.11.12.13 ไม่มีนามแฝง! - การส่งต่อพอร์ตภายใน 3389 ไปยังพอร์ตภายนอก 1111 ip nat ภายในแหล่งที่มา tcp แบบคงที่ภายในโฮสต์ 3389 ภายนอก 1111 nat ip ที่ขยายได้ ภายในแหล่งที่มาคงที่ tcp ภายในโฮสต์ 3389 ภายนอก 1111 ขยายได้! -

    เบ็ดเตล็ด

    CGN (nat เกรดผู้ให้บริการ) พร้อมกลุ่มที่อยู่ส่วนตัวพิเศษ

    NAT เป็น ALG (เกตเวย์เลเยอร์แอปพลิเคชัน) (โปรโตคอลข้อความธรรมดา เช่น SIP)