เราต้องเริ่มต้นจากพื้นฐานดังนั้นลองแก้ไขคำศัพท์ของ NAT NAT แปลที่อยู่ IP ในแพ็คเก็ต IP ใช่ไหม นั่นหมายความว่าอย่างไร? โดยพื้นฐานแล้วมันสร้างภาพลวงตา - ใช่แล้วภาพลวงตาคุณรู้ไหม ตัวอย่างเช่นในการกำหนดค่า NAT ทั่วไปเมื่อ LAN ที่ระบุความเป็นส่วนตัวโฮสต์เข้าถึงอินเทอร์เน็ตโดยใช้ที่อยู่ IP สาธารณะของอินเทอร์เฟซของเราเตอร์ภายนอกโฮสต์เหล่านั้นจะปรากฏสำหรับเซิร์ฟเวอร์อินเทอร์เน็ตเช่นเดียวกับที่มี IP สาธารณะ (หรือ IP จากกลุ่ม IP สาธารณะ) NAT ไม่ได้สร้างฟิสิคัลโฮสต์ใหม่แน่นอน - แต่มันสร้างชนิดเอนทิตีเสมือนใหม่ - ในตัวอย่างนี้โฮสต์ LAN จะเห็นตัวเองเป็นสมมติว่า 192.168.1.x แต่เซิร์ฟเวอร์อินเทอร์เน็ตเห็นว่าเป็น 203.0.113.x - โฮสต์ฟิสิคัลหนึ่งชุด แต่ที่อยู่ IP สองชุด โฮสต์ (เชิงตรรกะ) สองชุดที่แตกต่างกัน ภาพลวงตา และคำศัพท์คือ:
- Inside local - ที่อยู่ IP "ของจริง" ของโฮสต์ภายในที่กำหนดให้กับอินเทอร์เฟซของพวกเขาและเมื่อพวกเขาเห็นซึ่งกันและกัน
- ภายในทั่วโลก - "mirage" ที่อยู่ IP ตามที่เห็นโดยโลกภายนอก
- นอกโลก - ที่อยู่ IP "ของจริง" ของโฮสต์ภายนอกตามที่เห็นด้วยตัวเองและโดย (เกือบ) อินเทอร์เน็ตทั้งหมด
- นอกท้องถิ่น - ที่อยู่ IP "มิราจ" เมื่อเราเห็นโฮสต์ภายนอก (ถ้าเราขอให้ NAT แปลตามลําดับ)
และอย่างที่คุณเห็นเราจำเป็นต้องสร้างความแตกต่างระหว่างเครือข่ายของเราและอินเทอร์เน็ตหรือเครือข่ายภายนอกอื่น เราทำสิ่งนี้ด้วยการทำเครื่องหมายอินเทอร์เฟซ IP ของเราเตอร์ของเราว่าเป็นIP nat ภายในหรือIP nat ภายนอกเห็นด้วยไหม
ตอนนี้ให้จำไว้ว่าการใช้ NAT มักจะทำอย่างไร: มันจะรักษาตารางพิเศษที่มีรายการเกี่ยวกับการแปล และจุดสำคัญคือรายการเหล่านี้สามารถสร้างได้ทั้งแบบคงที่หรือแบบไดนามิก สำหรับรายการที่สร้างขึ้นแบบไดนามิกทิศทางของการจราจรมีความสำคัญ - การจราจรเริ่มต้นจากภายในสู่ภายนอกหรือในทางกลับกัน? สำหรับรายการคงไม่เป็นเช่นนั้น - พวกเขามีสมมาตร คำสั่งการกำหนดค่า NAT ที่มีคำหลักคงที่สร้างรายการคงที่ทันทีหลังจากใส่ลงในการกำหนดค่าการทำงาน; ผู้ที่มีการดูคำหลักแบบไดนามิกสำหรับปริมาณการใช้งานที่น่าสนใจและสร้างรายการแปลแบบไดนามิกซึ่งจะหมดเวลาในที่สุด
เราสามารถคาดเดาเกี่ยวกับคำถามสุดท้ายของคุณ: ทำไมไม่มีตัวเลือกปลายทางภายนอก ip nat ภายในแหล่งกำเนิดคงสร้างรายการ NAT แบบคงที่ที่แปลตรงตามที่คุณอธิบาย แต่รวมถึงไม่เพียง แต่การจราจรที่เริ่มต้นจากด้านใดด้านหนึ่ง - รายการ NAT แบบคงที่มีความสมมาตร ดังนั้นIP nat นอกจุดหมายปลายทางคงที่จะสร้างรายการคงที่สำหรับการแปลที่อยู่ IP ปลายทางของการรับส่งข้อมูลที่เข้าสู่เครือข่ายของคุณจากภายนอกและแหล่งที่อยู่ IP สำหรับการรับส่งข้อมูลไปจากภายใน - แต่นี่คือสิ่งที่คำสั่งไม่! ดังนั้นมันซ้ำซ้อนเพียงแค่มีคำสั่งนี้ ความแตกต่างเพียงอย่างเดียวคือคุณจะแลกเปลี่ยนแหล่งที่มากับปลายทาง IP เมื่อใช้รูปแบบหนึ่งหรืออีกรูปแบบหนึ่งโดยทั่วไปคำสั่งเดียวกัน
ในคำแถลงแรกของคุณ "มีทั้งสามอย่างที่เป็นไปได้ทั้งภายใน / ภายนอก / แหล่ง / ปลายทางที่สามารถกำหนดค่าได้" - สิ่งนี้ค่อนข้างไม่เป็น ประเด็นก็คือโดยทั่วไปแล้วคำสั่งการกำหนดค่า NAT ไม่ได้เป็น "สูตรคณิตศาสตร์" และควรได้รับการพิจารณาทั้งหมดและไม่ได้ถูกสร้างขึ้นอย่างมีเหตุผลจากคำหลักแบบแยกส่วน ดังนั้น "ชุดค่าผสม" แต่ละชุดจะนำเสนอโซลูชันสำหรับงานเฉพาะตัวอย่างเช่นip nat ภายในรายการปลายทางจะใช้สำหรับการกำหนดค่าโหลด TCP เซิร์ฟเวอร์ที่ใช้อัลกอริทึมเฉพาะและไม่ทำงานกับ UDP นอกจากนี้ (ใน IOSes ที่ทันสมัย) ไม่มีip nat ภายในคำสั่งปลายทางแบบคงที่ - คุณลองใช้ตัวเลือกคงที่หรือไม่?
คุณสามารถดูสถานการณ์เฉพาะของการใช้ NAT รวมถึงตัวอย่างการกำหนดค่าในกระดาษ Cisco นี้: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/12-2sx /nat-12-2sx-book/iadnat-addr-consv.html
ในที่สุดฉันอยากจะพูดถึงว่าบางครั้ง NAT ไม่ใช่สิ่งที่คุณต้องการตัวอย่างเช่นดูคำตอบของฉันสำหรับ "คำถามมาตรฐาน": /server/55611/loopback-to-forwarded-public- ที่อยู่ IP-จากท้องถิ่นเครือข่ายกิ๊บ-NAT / 733532 # 733532
ป.ล. ฉันควรจะไปลงรายละเอียดเพิ่มเติม?