--------------------------------------------------
ก่อนอื่น ขอขอบคุณสมาชิกทุกท่านที่ให้ความสนใจ เข้ามาเล่น สนุกกัน ใครเข้ามาดูแล้วไม่ตอบไม่เป็นไรนะ
แค่เอากลับไปคิด เปิดหนังสือทวบทวน ค้นคว้าในเน็ตเพิ่ม ก็ถือว่า กระูทู้ นี้ประสบความสำเร็จในตัวมันแล้ว
และก็ที่ลืมไม่ได้ ขอบคุณสมาชิกทุกท่านที่เข้่ามาตอบ และแสดงความคิดเห็นกัน อย่างที่บอกไว้แต่แรก
ว่า คำตอบมีได้หลายคำตอบ ดังนั้น จึงไม่มีคำว่าถูกรึผิด (เมื่อนำไปใช้งานจริงๆ) แต่เมื่อมันเป็นโจทย์
ก็เลยจะขอเฉลย ตามความคิดของคน ตั้งโจทย์ ดังนี้
--------------------------------------------------
0. พิจารณาคำถาม
เมื่อสังเกตุดู Router1 configuration ที่ให้ไว้ จะมีจุดนึงที่สะดุดตาที่สุด คือ
access-list 1 permit 192.168.107.33 0.0.0.30
มันคืออะไรเนี่ย ปกติ เขาไม่ทำกันแบบนี้นิน่า คิดว่าหลายๆ คนคงคิดแบบนี้
ครั้งแรกที่เราเอง ดู ก็คิดแบบนี้เหมือนกัน แต่เมื่อนำไปเทสใน PKT แล้ว
ก็พบว่า คำสั่งนี้ทำงานได้ และเมื่อใช้คำสั่ง "show access-list 1" ดู
ก็พบว่า มัน Allow packet ที่ออกไปจริงๆ นั่นหมายความว่า คำสั่งนี้ไ่ม่ได้
เป็นต้นเหตุที่ทำให้ ping ไม่ได้แต่อย่างใด
อย่าลืมว่า โจทย์จริงๆ ชอบหลอกแบบนี้ที่สุด อิอิ
คำถามต่อไป แล้วอะไรที่ควรทำ เมื่อใช้งานจริง (ลองทบทวนที่คุณ =►|\| į ž M ỏ 69◄
และ คุณ INFi โพสไว้) ก็สมควรจะต้องปรับแก้ตามนี้
access-list 1 permit 192.168.107.32 0.0.0.31 ถ้าต้องการให้ IP ผ่านได้ตั้งแต่ 192.168.107.33 - 192.168.107.62
หรือ
access-list 1 permit 192.168.107.32 0.0.0.7 ถ้าต้องการให้ IP ผ่านได้ตั้งแต่ 192.168.107.33 - 192.168.107.38 (คำสั่งนี้น่าจะดีกว่าเพราะ limit ip ได้ตรงกว่า)
1. อะไรที่ทำให้ ping ไม่ได้
พิจารณาจุดต่อไป คือ
ip nat pool test_nat 198.18.10.9 198.18.10.10 netmask 255.255.255.252
ip nat inside source list 1 pool test_nat overload
จะเห็นว่าเราประกาศ PAT เป็น 198.18.10.9 ถึง 198.18.10.10 ซึ่งอยู่คนละวงกับ IP บน Interface คือ 198.18.10.5/30
นั่นเท่ากับว่า เราประกาศ IP ที่ไม่มีอยู่เลย บน Routers ทั้งสองตัว ผลที่ได้ ก็คือ เมื่อ Router1 NAT packet ออกไปแล้ว
จะทำให้ Router_ISP ไม่สามารถส่งกลับมาได้ เพราะไม่รู้ว่า จะไป ส่งคืนใคร ก็เลยส่งผลให้ Ping ไม่ได้ โดยอาจจะ ทดสอบด้วยคำสั่ง
"show ip nat translations" ดูก็จะเห็นว่า มัน NAT ออกไปเรียบร้อยแล้ว
เมื่อเป็นดังนี้ ทางแก้คือ อะไร
หลายคนอาจจะแก้ด้วยการ เปลี่ยน Subnet ให้เป็น /29 ซึ่งทำให้ครอบคุม .9 และ .10 แต่นั่นหมายความว่า ทาง Router_ISP ต้องแก้ด้วย
แต่ในความจริงคือ ถ้าเราโทรไปบอก ISP ว่า นี่คุณต้องแก้ จาก /30 เป็น /29 นะ ไม่งั้น ผม/ฉัน ทำงานไมไ่ด้นะ คำตอบที่ได้น่าจะเป็น
การถูกวางสายทิ้งแน่ๆ
ทางเลือกที่ดีกว่า จริงน่าจะเป็นการ ใช้ PAT บนขา Outside Interface ตาม คุณ INFi แนะนำไว้
ip nat inside source list 1 interface Serial0/0 overload
ดังนั้นข้อหนึ่ง ขอตอบว่า "ip nat inside source list 1 interface Serial0/0 overload"2. อะไรคือสิ่งที่ต้องเพิ่มเติม เข้าไป จากโจทย์
เมื่อแก้ตามข้อแรกแล้ว อย่างแรกที่เราจะเห็นคือ เราสามารถ ping ไปที่ 198.18.10.6 ซึ่งคือปลายทางได้ แต่เราจะ
ping ไปที่อื่นนอกเหนือจากนี้ไม่ได้แล้ว ดังนั้น คำตอบของข้อนี้คือการเพิ่ม route โดยจะเป็น route แบบไหนก็ได้
ถือว่าถูกทั้งนั้น แต่ที่นิยมกันคือ default route จึงขอ เฉลยคำตอบตามที่หลายๆ คนตอบไว้คือ
ดังนั้นข้อสอง ขอตอบว่า ip route 0.0.0.0 0.0.0.0 198.18.10.6---------------------------------------------------------------
อย่างที่บอกไว้ ว่ามันไม่มีถูกไม่มีผิด เพียงแต่ว่าเราจะมี วิธีแก้ปัญหาที่ต่างกันไป ตาม
ประสบการณ์ และมุมมอง ดังนั้น ขอเพียงให้ได้คิด และฝึกฝนตัวเอง ก็มีค่ามากมายแล้ว
และก็ขอขอบคุณเพื่อนๆ ที่เข้ามาตอบด้วย บางคำตอบ นี่ก็คิดไม่ถึงเหมือนกัน อิอิ
ขอจบเพียงเท่านี้นะ ขอบคุณที่มาร่วมเล่นกัน ไว้คราวหน้าไปเจออะไร เราจะมาลับสมองกันใหม่
Fairy