สามตัวเลือกเหล่านี้ในการกำหนดค่า Cisco Router NAT หมายถึงอะไร


10

ในการกำหนดค่ามาตรฐาน PAT แบบคงที่ซึ่งหนึ่ง IP: การรวมกันของพอร์ตจะถูกแมปกับ IP อื่น: การรวมกันของพอร์ตมีการรวมกันทั้งภายใน / ภายนอก / ที่มา / ปลายทางที่สามารถกำหนดค่าได้สามแบบ

ตัวอย่างเช่นนี่เป็นตัวอย่างการกำหนดค่า:

ip nat inside source static tcp 10.0.20.13 8080 2.2.2.33 80
       ^^^^^^^^^^^^^

ในแง่ของคนธรรมดา, การตั้งค่านี้จะช่วยให้โฮสต์ภายนอกใด ๆ ที่จะเริ่มต้นการเชื่อมต่อ TCP ไป IP 2.2.2.33 ผ่านพอร์ต 80 เมื่อแพ็คเก็ตนี้ฮิตเราเตอร์ที่อยู่ IP ปลายทางและพอร์ต ( 2.2.2.33:80) 10.0.20.13:8080ได้รับการแปลเป็น

กลับยังจะเกิดขึ้นถ้าโฮสต์ภายใน 10.0.20.13 ส่งแพ็กเก็ต TCP กับพอร์ตแหล่งที่มาของ 8080 เป็นแพ็คเก็ตนี้ข้ามเราเตอร์ที่แหล่ง IP และพอร์ต ( 10.0.20.13:8080) 2.2.2.33:80ได้รับการแปลเป็น (โดยทั่วไปจะเป็นแพ็คเก็ตตอบกลับแทนที่จะเริ่มจากโฮสต์ภายใน)


นี่คือตัวเลือกการกำหนดค่าทั้งสามสำหรับส่วนที่ทำเครื่องหมายไว้ด้านบน:

Router(config)#ip nat inside ?
  destination  Destination address translation
  source       Source address translation

Router(config)#ip nat outside ?
  source  Source address translation

ผลคุณสามารถกำหนดค่า:

  • ip nat ภายใน tcp คงที่แหล่งที่มา {IP} {พอร์ต} {IP} {พอร์ต}
  • ip nat ภายในสแตติก tcp ปลายทาง {IP} {พอร์ต} {IP} {พอร์ต}
  • ip nat ภายนอกสแตติก tcp {IP} {พอร์ต} {IP} {พอร์ต}

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

นอกจากนี้ทุกคนสามารถบอกฉันได้ว่าทำไมไม่มีตัวเลือกปลายทางภายนอก ?


2
@Eddie แทนที่จะใช้คู่มือผู้ใช้งานใหม่ดูที่cisco.com/c/en/us/support/docs/ip/?hl=thหรือgroupstudy.com/archives/ccielab/200702/msg01284.htmlและ ดูว่ามันช่วยคุณได้ไหม หลังจากนั้นหากคุณยังมีคำถามเฉพาะเรายินดีให้ความช่วยเหลือ
Ron Trunk

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

คำตอบ:


7

คิดเกี่ยวกับเรื่องนี้อย่างระมัดระวัง

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

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

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

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


คำอธิบายของคุณสำหรับinside destinationดูเหมือนว่าจะตรงกับฉัน "คำอธิบายของคนธรรมดา" inside sourceสำหรับ ยกเว้นตัวอย่างของฉันเปลี่ยนพอร์ตปลายทาง # สำหรับการจราจรขาเข้าจากไป80 8080คำอธิบายของคุณดูเหมือนจะแปลว่าพอร์ต # ไม่เปลี่ยนแปลงใช่ไหม ไม่ว่าจะเป็นความแตกต่างระหว่างinside destinationและinside sourceมันเป็นไปไม่ได้หรือ
Eddie

ความแตกต่างคือที่มาของการเข้าชม inside sourceต้นกำเนิดไหลของการจราจรในภายในและinside destinationต้นกำเนิดไหลของการจราจรจากภายนอก หากการรับส่งข้อมูลที่มาจากinside sourceความต้องการการตอบกลับinside destinationกระบวนการพิมพ์ชั่วคราวจะเกิดขึ้นสำหรับการตอบกลับ หมายเลขพอร์ตสามารถเปลี่ยนแปลงได้เมื่อทราฟฟิกเดินทางจากด้านหนึ่งไปอีกด้านหนึ่ง แต่ไม่ใช่ทุกเราเตอร์ (โดยเฉพาะเราเตอร์ที่บ้าน) รองรับสิ่งนี้
Ron Maupin

4

เราต้องเริ่มต้นจากพื้นฐานดังนั้นลองแก้ไขคำศัพท์ของ 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

ป.ล. ฉันควรจะไปลงรายละเอียดเพิ่มเติม?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.