1 / 15

Translation

แปลงไอพีบน เฮดเดอร์ ด้วย. Network Address. Translation. 13. ความจำเป็นที่ต้องแปลงที่อยู่ไอพี หลักการทำงาน และเขต Inside/Outside การตั้งค่า การระบุอินเตอร์เฟสฝั่ง Inside/Outside การกำหนดขอบเขตข้อมูลจากฝั่ง Inside ที่จะแปลงออกไป

wang-pruitt
Download Presentation

Translation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. แปลงไอพีบนเฮดเดอร์ด้วยแปลงไอพีบนเฮดเดอร์ด้วย Network Address Translation 13

  2. ความจำเป็นที่ต้องแปลงที่อยู่ไอพีความจำเป็นที่ต้องแปลงที่อยู่ไอพี • หลักการทำงาน และเขต Inside/Outside • การตั้งค่า • การระบุอินเตอร์เฟสฝั่ง Inside/Outside • การกำหนดขอบเขตข้อมูลจากฝั่ง Inside ที่จะแปลงออกไป • การระบุกลุ่มที่อยู่ไอพีที่จะแปลงเป็นเมื่อส่งออกฝั่ง Outside • คำสั่งเปิดใช้การแปลงที่อยู่ไอพี 13-1

  3. Private IP และการเชื่อมต่ออินเตอร์เน็ต • จากการกำหนดช่วงที่อยู่ไอพีส่วนตัว (Private IP) ซึ่งใช้ซ้ำกันได้บน LAN แต่ละองค์กร เพื่อเป็นหนทางประหยัด IPv4 • เพื่อป้องกันความวุ่นวายบนอินเตอร์เน็ต ISP จึงป้องกันไม่ให้แพ๊กเก็ตที่ระบุที่อยู่ไอพีต้นทางเป็น Private IP ออกมาสู่อินเตอร์เน็ต • เราท์เตอร์จึงมีฟีเจอร์สำหรับแปลงที่อยู่ ไอพีบน Header ของแพ๊กเก็ตที่สื่อสารระหว่าง LAN (เขต Inside) กับอินเตอร์เน็ต (เขต Outside) เรียก NAT (Network Address Translation) Inside ไม่รับ Private IP 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 ISP LAN ต้องแปลง ไอพีต้นทาง Outside 13-2

  4. หลักการทำงาน Network Address Translation Inside Outside S0 Fa0/0 Local Addresses Global Addresses Global Addresses Local Addresses นิยามขอบเขต ฟีเจอร์ NAT แบ่งฝั่งของเราท์เตอร์เป็น 2 ฝั่ง ได้แก่ ฝั่งด้านใน (Inside)และฝั่งด้านนอก (Outside) โดยแยกฝั่งด้วยอินเตอร์เฟส นิยามชนิดที่อยู่ • ทุก Node ในแต่ละฝั่ง จะมีที่อยู่ 2 แบบ ได้แก่ • Local: เป็นที่อยู่สำหรับสื่อสารภายในฝั่งตัวเอง • Global: เป็นที่อยู่สำหรับสื่อสารข้ามฝั่ง 13-3

  5. หลักการทำงาน Network Address Translation • หน้าที่ของฟีเจอร์ NAT ก็คือ การแปลงที่อยู่ไอพีบนแพ๊กเก็ตระหว่าง Local-Global • ดูที่อยู่ไอพีที่แต่ละชนิดได้จากคำสั่ง show ipnat translation บนโหมดอีนาเบิล Router# show ipnat translation Pro Inside global Inside local Outside local Outside global udp21.87.1.32:4057 192.168.0.10:4057 203.174.2.10:53 203.174.2.10:53 tcp21.87.1.32:5055 192.168.0.10:5055 58.174.90.2:80 58.174.90.2:80 tcp21.87.1.32:7309 192.168.0.15:7309 121.1.8.234:80 121.1.8.234:80 ฝั่ง Inside มีการแปลงที่อยู่ ฝั่ง Outside ไม่แปลงที่อยู่ • ในการใช้งานสำหรับองค์กรทั่วไป ที่ต้องการให้เครื่องลูกข่ายภายใน LAN สื่อสารออกมาฝั่งอินเตอร์เน็ตได้ จึงเลือกนำ NAT เฉพาะฝั่ง Local • เรียกการทำ NAT ฝั่งตัวเองนี้ว่า “NAT inside” 13-4

  6. การตั้งค่า NAT Inside Inside Outside • จากนิยามที่เกี่ยวข้องกับการทำ NAT inside .ในการตั้งค่าจึงต้องระบุองค์ประกอบให้ครบ 5 ส่วนดังต่อไปนี้ • ระบุอินเตอร์เฟสที่เป็นฝั่ง “inside” • ระบุอินเตอร์เฟสที่เป็นฝั่ง “outside” • ระบุกลุ่มไอพีที่ใช้อยู่ในฝั่งตนเอง (Local Address) ที่ต้องการทำ NAT • ระบุกลุ่มไอพีที่แปลงเป็น เพื่อใช้สื่อสารกับฝั่งภายนอกได้ (Global Address) • ใส่คำสั่งให้เราท์เตอร์ทำ NAT ที่ฝั่ง “inside” 1 2 S0 Fa0/0 3 Local Addresses Global Addresses 4 5 ipnat“inside” 13-5

  7. กำหนดฝั่ง Inside/Outside Fa0/0 S0 Src. IP • เราจำเป็นต้องกำหนดฝั่งบนอินเตอร์เฟส เพื่อให้ NAT รู้ทิศทางการแปลงไอพี • ใช้คำสั่ง “ipnat inside” บนโหมดคอนฟิกอินเตอร์เฟสที่เป็นฝั่ง LAN เช่น • Router(config)# interface fa0/0 • Router(config-if)# ipnat inside • ใช้คำสั่ง “ipnat outside” บนโหมดคอนฟิกอินเตอร์เฟสที่เป็นฝั่งออกอินเตอร์เน็ตเช่น • Router(config)# interface S0 • Router(config-if)# ipnat outside Inside Src. IP Outside 192.168.x.x 52.78.0.2 ไปฝั่ง Outside NAT Fa0/0 Des. IP S0 Des. IP S0 Fa0/0 52.78.0.2 192.168.x.x มาจาก Outside NAT Local Addresses 1 2 Global Addresses 13-6

  8. กำหนดกลุ่มที่อยู่ Local Address • การกำหนดกลุ่มที่อยู่ Local Address ที่จะแปลงที่อยู่ไอพีเป็น Global ก็คือ การระบุเงื่อนไข (Access List) ของแพ๊กเก็ตข้อมูลที่จะเข้าอินเตอร์เฟสฝั่ง Inside ที่จะให้ทำ NAT เปลี่ยนที่อยู่ไอพีต้นทาง (Source IP address) นั่นเอง (แล้วจึงนำ ACL no. ไปใช้กำกับคำสั่งเปิดการ NAT อีกที) • จึงใช้การกำหนด Access List แบบ Standard (ตามหลักการ เพราะต้องการกรองข้อมูลที่จะออกไปใช้ NAT ไม่ใช่กรองข้อมูลที่จะเข้าเราท์เตอร์) เช่น • ต้องการให้เครื่องทั้งหมดในวงแลน 192.168.1.0/24 ต้องทำ NAT ออกอินเตอร์เน็ต • access-list 1 permit 192.168.1.0 0.0.0.255 • ต้องการให้เครื่องทั้งหมดในวงแลน 192.168.10.192/27 ยกเว้นเครื่องไอพี 192.168.10.220 - .223 ต้องทำ NAT ออกอินเตอร์เน็ต • access-list 2 deny 192.168.10.220 0.0.0.3 • access-list 2 permit 192.168.10.192 0.0.0.31 13-7

  9. กำหนดกลุ่มที่อยู่ Global Address • กลุ่มที่อยู่ที่ใช้เป็น Inside Global ซึ่งเป็นที่อยู่ที่สามารถออกอินเตอร์เน็ตได้ จะต้องได้รับการจัดสรรจากผู้ให้บริการอินเตอร์เน็ต (ISP) • โดยจากมุมมอง ISP ถือว่า เครือข่าย LAN ของเรา กำลังใช้เครือข่าย (หรือไอพี) แบบ Public ที่เขาจ่ายให้ ไม่สนใจว่าเราใช้ Private IP เป็นอะไร • ดังนั้น เราต้องกำหนดกลุ่มที่อยู่ (Pool) ที่จะใช้เป็น Inside Global ตามที่ ISP กำหนด ทั้งรายชื่อไอพี และ Subnet Mask เรามองคุณเป็นเครือข่าย Global Inside Global Network (from ISP) ISP 58.12.109.8/29 LAN ISP Route 58.12.109.8/29 Outside 13-8

  10. กำหนดกลุ่มที่อยู่ Global Address การตั้งค่า • ใช้คำสั่ง ipnat pool ตามด้วยชื่อกลุ่มที่อยู่อ้างอิงตามต้องการ และกลุ่มไอพี/mask ที่ ISP กำหนดให้ ในโหมดโกลบัลคอนฟิก เรามองคุณเป็นเครือข่าย Global Inside Global Network (from ISP) ISP Router(config)# ipnat pool (ชื่อ Pool)(ไอพีเริ่มต้น) (ไอพีสุดท้าย) netmask(Subnet Mask ที่ ISP กำหนด) 58.12.109.8/29 LAN ตัวอย่าง ISP • ISP จัดสรรกลุ่มไอพีตั้งแต่ 203.17.4.193 – 203.17.4.194/30 Route 58.12.109.8/29 Outside Router(config)# ipnat pool Ranet203.17.4.193203.17.4.194netmask255.255.255.252 13-9 คำแนะนำ: ถ้าโจทย์ไม่กำหนดซับเน็ตมาให้ ให้ตั้งค่าโดยใช้เครือข่ายที่แคบที่สุด

  11. คำสั่งเปิดการทำ NAT Inside • ใช้คำสั่งต่อไปนี้บนโหมดโกลบัลคอนฟิก เพื่อเปิดการทำ NAT บนอินเตอร์เฟสฝั่ง Inside ตาม Local และ Global Address ที่เราตั้งค่ารอไว้ Router(config)# ipnat inside source list (ACL no.) pool (ชื่อ Pool) overload • โดยที่ ACL no.คือ เลขอ้างอิงของ Access-list ที่เราตั้งค่าไว้จำกัดกลุ่มแพ๊กเก็ตที่จะใช้ เป็น Local Address • ชื่อ Poolคือ ชื่อกลุ่มไอพี (Pool) ที่เราตั้งค่าไปด้วยคำสั่ง ipnat pool (ชื่อ Pool) เพื่อใช้เป็น Global Address ตัวอย่าง • ต้องการทำ NAT inside ที่ใช้ ACL no.10 เป็นที่อยู่ Local และ Pool Ranetเป็นที่อยู่ Global 13-10 Router(config)# ipnat inside source list 10 pool Ranetoverload

  12. การใช้เลข Port ช่วย Port Address Translation Inside Local Inside Global 192.168.0.10:4032 192.168.0.11:5008 192.168.0.12:4703 192.168.0.13:1152 192.168.0.14:9034 52.74.109.81:4032 52.74.109.81:5008 52.74.109.81:4703 52.74.109.81:1152 52.74.109.81:9034 NAT-PT Trans. “Overload” • เนื่องจาก ISP มักจัดสรร Global Address มาให้เพียงไม่กี่ไอพี ย่อมไม่เพียงพอต่อการแปลง Local Address ที่มีโฮสใช้จำนวนมาก • จึงมีวิธีการแปลง โดยใช้เลขพอร์ทเข้าช่วย เนื่องจากจะทำให้ Global Address 1 ตัว แทน Local Address ได้หลายตัวดังภาพ เรียกความสามารถนี้ว่า PAT หรือ NAT-PT (Port Translation) • คำสั่งที่ให้ทำ PAT คือการต่อท้ายคำสั่ง NAT inside ด้วย “Overload” 13-11 Router(config)# ipnat inside source list 10 pool Ranetoverload

  13. ตัวอย่างการใช้ • บริษัทราเน็ท ได้รับ IP address จาก ISP มาใช้ 6 หมายเลข ตั้งแต่ 58.7.42.137 - .142 จงตั้งค่า NAT ให้เครื่องโฮสภายใน LAN ที่มีไอพีเฉพาะ 192.168.14.225 - .251 สามารถออกมาใช้อินเตอร์เน็ตได้ IP: 203.17.206.78/30 ISP IP: 203.17.206.79/30 S0 Router(config)# interface S0 Router(config-if)# ipnat outside Router(config-if)# interface Fa0 Router(config-if)# ipnat inside Router(config-if)# exit Router(config)# access-list 1 deny 192.168.14.252 0.0.0.3 Router(config)# access-list 1 permit 192.168.14.224 0.0.0.31 Router(config)# ipnat pool RanetPool 58.7.42.137 58.7.42.142 netmask 255.255.255.248 Router(config)# ipnat inside source list 1 pool RanetPool overload Ranet-R LAN Fa0 Global Network: 58.7.42.136/29 Local Network: 192.168.14.224/27 13-12 ทวนสอบโดย Ping ไปยังเราท์เตอร์ของ ISP จากเครื่องโฮสในแลน

  14. การ NAT ออกอินเตอร์เฟส • ถ้าเราซื้อบริการอินเตอร์เน็ตจาก ISP แต่ไม่ได้ซื้อ Global IP ตายตัวมาด้วย ISP จะสุ่มตั้งค่า IP address ชั่วคราวให้ที่ขาฝั่ง Outside ของเราท์เตอร์เราแทนเพียงตัวเดียว • เช่น การที่ให้เราตั้งค่า IP address negotiated ที่อินเตอร์เฟสฝั่ง Outside เพื่อให้ PPP server จ่ายไอพีมาให้อินเตอร์เฟสของเรา เป็นต้น • ดังนั้น การ NAT inside จะต้องใช้ Global IP ที่ ISP ตั้งค่าให้อินเตอร์เฟสของเรา ซึ่งไม่สามารถกำหนด Global Address ตายตัวได้ จึงต้องตั้งค่าเป็นชื่ออินเตอร์เฟสแทนชื่อกลุ่มไอพี (Pool) ดังนี้ IP: 203.17.206.78/30 ISP IP address negotiated S0 Ranet-R LAN Fa0 Local Network: 192.168.14.224/27 Router(config)# ipnat inside source list (ACL no.) interface (ชื่ออินเตอร์เฟส) overload 13-13 เช่น Router(config)# ipnat inside source list 1 interface S0 overload

  15. การ Forward Port NAT inside Static • บางครั้ง เราต้องการให้การจับคู่กันระหว่าง Local Address+Portกับ Global Address+Port ตายตัว • เช่น ต้องการให้ผู้ที่เชื่อมต่อมายัง Global IP 203.87.2.37 Port 80 ให้แปลงที่อยู่ปลายทางมาเป็นไอพีของเว็บเซิร์ฟเวอร์ภายใน 192.168.0.100 Port 80 ตลอด • เราสามารถใช้คำสั่ง ipnat inside source static สร้างการจับคู่ Local/Global address แบบตายตัว (Static) ได้ ดังนี้ Router(config)# ipnat inside source static (tcp/udp) (Local add.) (Local Port) (Global add.) (Global Port) • เช่น จากตัวอย่างด้านบน พิมพ์คำสั่งได้ว่า: 13-14 Router(config)# ipnat inside source static tcp 192.168.0.100 80 203.87.2.37 80

More Related