ตัวอย่างการทำ NAT บน CISCO แบบ Inbound และ Outbound

ความหมายของ Outbound และ Inbound
Outbound Nat ในที่นี้หมายถึงการทำให้เครือข่ายภายในของเราซึ่งมี IP Address ที่ไม่อยู่ในกลุ่มเดียวกันกับเครือข่ายภายนอก ดังนั้นจึงไม่สามารถติดต่อกับเครือข่ายภายนอกได้จึงต้องมีการแปลง IP Address ของเครือข่ายภายในให้เป็น IP Address ของเครือข่ายภายนอกก่อนที่จะส่งข้อมูลออกไปยังเครือข่ายภายนอก  และเมื่อเครือข่ายภายนอกส่งข้อมูลเข้าเครือข่ายภายในก็จะมีการแปลง IP Address กลับเป็นเหมือนเดิม

Inbound Nat  ในบางกรณีเราต้องการให้ Server ต่าง ๆ ที่อยู่ในองค์กรของเราซึ่งให้บริการกับเครือข่ายภายนอกแต่สามารถใช้ IP Address เป็น IP ปลอมหรือ IP ภายในได้  ด้วยการแปลง IP Address ของเครือข่ายภายนอกให้เป็น IP Address ของเครือข่ายภายใน  ยกตัวอย่างเช่นเราอาจจะประกาศกับโลกภายนอกว่า Web Server ของเรามี IP Address เป็น 202.129.49.193 ซึ่งเป็น Public IP แต่ Web Server ที่แท้จริงของเราใช้ IP Address เป็น 192.168.1.2 ฉะนั้น Inbound Nat จะต้องทำหน้าที่แปลง IP Address 202.129.49.193 ให้กลายเป็น 192.168.1.2 เพื่อที่จะให้เครือข่ายภายนอกสามารถติดต่อเข้ามายัง Web Server ของเราได้


สมมุติฐาน
สมมุติว่าเราได้เช่าอินเตอร์เน็ตแบบ
Leased Line มาจากผู้ให้บริการ (ISP) โดยได้รับการจัดสรร IP Address ต่าง ๆ เป็นดังนี้ :
WAN IP : 202.129.50.240/30
LAN IP : 202.129.49.192/29  (8 IP จริง ๆ แล้วอาจจะได้มากกว่านี้แต่ของผมเป็นแค่วงจรทดลองครับ)

ความต้องการในการใช้งาน
สมมุติว่าต้องการให้เครือข่ายภายในรวมทั้ง
Server ที่มีอยู่ทั้ง 3 ตัว ซึ่งเป็น Server ที่จะให้บริการกับบุคคลภายนอกด้วยใช้ IP Address เป็น IP ปลอม  (Unregistered IP) ทั้งหมดเลย นั่นคือกำหนดให้เครือข่ายมี IP Address เป็นดังนี้ :

WAN IP : 202.129.50.242
IP Address ของ FastEthernet ของ Router : 192.168.1.1
IP Server1: 192.168.1.2
IP Server2: 192.168.1.3
IP Server3: 192.168.1.4
IP สำหรับเครื่อง Client ภายใน : 192.168.1.11 เป็นต้นไป ดังรูปข้างล่าง



สิ่งที่ต้องทำบนเราเตอร์
ต้องมีการทำ Outbound Nat เพื่อให้เครื่อง Client ภายในสามารถติดต่อไปเครือข่าย Internet ภายนอกได้ และต้องทำ Inbound Nat เพื่อให้เครือข่ายภายนอกสามารถใช้บริการมายัง Server ทั้ง 3 ตัวได้ โดยในที่นี้สมมุติว่าได้ประกาศกับโลกภายนอกไว้ว่า Server ทั้ง 3 ตัวมี IP Address เป็นดังนี้

IP Server1: 202.129.49.193
IP Server2: 202.129.49.194
IP Server3: 202.129.49.195

ซึ่งก็หมายถึงว่าที่เราเตอร์ต้องมีการแปลง IP ของ Server ทั้ง 3 เป็นดังนี้

202.129.49.193 
<------> 192.168.1.2
202.129.49.194  <------> 192.168.1.3
202.129.49.195
  <------> 192.168.1.4

การคอนฟิกบนเราเตอร์
ที่ f0
(conf)#int fo
(conf-if)#ip nat inside
(conf-if)#exit
ที่ s0
(conf)#int s0
(conf-if)#ip nat outside
(conf-if)#exit

การทำ Outbound Nat
(conf)#ip nat pool poolname 202.129.49.196 202.129.49.198 netmask 255.255.255.248
(conf)#ip nat inside source list 20 pool poolname overload

หมายเหตุ ช่วงของ
IP Address 202.129.49.196 - 202.129.49.198 ถ้าเราต้องการประหยัด IP หรือไม่มี LAN IP ที่เป็น Public เราสามารถใช้ WAN IP ฝั่งของเราเองมาทำเป็น IP Pool ได้ นั่นคืออาจจะกำหนดเป็น 202.129.50.242 202.129.50.242 ได้


การทำ Inbound Nat
(conf)#ip nat inside source static 192.168.1.2 202.129.49.193
(conf)#ip nat inside source static 192.168.1.3 202.129.49.194
(conf)#ip nat inside source static 192.168.1.4 202.129.49.195

หมายเหตุ ถ้ามี Server เพียงเครื่องเดียวและ Public IP Address ที่จัดสรรมาให้ได้เฉพาะ WAN IP มา เราสามารถใช้ WAN IP ฝั่งด้านของเราเองทำเป็น IP Address ของ Server ได้

สุดท้ายต้องทำ
access-list
(conf)#access-list 20 permit 192.168.1.0 0.0.0.255

คำสั่งที่เกี่ยวข้อง
#show ip nat translation
#clear ip nat translation