NAT สามารถแปลง IP หลายๆ ตัวที่ใช้ภายในเครือข่ายให้ติดต่อกับเครือข่ายอื่นโดยใช้ IP เดียวกัน ดู รูปข้างล่างครับ
จากภาพจะเห็นว่าตัว NAT device มี IP address เป็น 192.168.1.1 สำหรับเครือข่ายภายใน (inside network) และมี IP address เป็น 203.154.207.76 สำหรับเครือข่ายภายนอก (outside network) เมื่อเครื่อง 192.168.1.20 ต้องการ Export ทาง Internet NAT device ก็จะแปลง IP จาก 192.168.1.20 ไปเป็น 203.154.207.76 และข้อมูลขาออกที่ออกไปยัง external network นั้นจะเป็นข้อมูลที่มี source IP address เป็น outside IP address ของ NAT device
NAT มีขั้นตอนการทำงานอย่างไร
เมื่อ NAT เริ่มทำงาน มันจะสร้างตารางภายในซึ่งมีไว้สำหรับบรรจุข้อมูล IP address ของเครื่องในเครือข่ายภายในที่ส่ง packet ผ่าน NAT device และจากนั้นมันก็จะสร้างตารางไว้สำหรับเก็บข้อมูลหมายเลขพอร์ต (port number) ที่ถูกใช้ไปโดย outside IP address จะมีกระบวนการทำงานดังนี้
1.มัน จะบันทึกข้อมูล source IP adress และ source port number ไว้ใน Log File
2.มัน จะแทนที่ IP ของ packet ด้วย IP ขาออกของ NAT device เอง
และเมื่อ NAT device ได้รับ packet ย้อนกลับมาจาก external network มันจะตรวจสอบ destination port number ของ packet นั้นๆ แล้วนำมาเปรียบเทียบกับข้อมูล source port number ใน Log File ถ้าเจอข้อมูลที่ตรงกันมันก็จะเขียนทับ destination port number, destination IP address ของ pakcet นั้นๆ แล้วจึงส่ง packet นั้นไปยังเครื่องอยู่ภายในเครือข่ายภายใน
ข้อ ดีของ Outbound Mode NAT เมื่อเปรียบเทียบกับ Firewall
NAT ทำงานได้ในระดับเดียวกันกับไฟร์วอลล์และไม่ต้องการความรู้ด้านเทคนิคมากมาย นัก NAT สามารถซ่อน internal network IP address จากเครือข่ายภายนอกไว้ได้ ซึ่งผู้ที่อยู่ภายนอกจะมองเห็นแค่เพียง outside IP address ของ NAT device เท่านั้น ดังนั้นโอกาสในการ broadcast หรือ hack หรือ spoof จึงแทบไม่มีโอกาสเป็นไปได้
ความง่ายในการดูแลเครือข่ายที่ใช้ NAT
1.เนื่อง จากเราสามารถใช้ non-routable address ในเครือข่ายภายใน ซึ่งสามารถใช้ได้อย่างมากมาย จึงทำให้ลดค่าใช้จ่ายสำหรับ routable address ลงไปได้
NAT มีความปลอดภัยหรือไม่ ?
ถ้ามี NAT แล้วก็ไม่จำเป็นต้องมีไฟร์วอลล์ ซึ่งจริงๆแล้ว NAT ต้องเปิดพอร์ตให้บริการเสมอ เช่น 20-21 (FTP), 23(TELNET), 25 (SMTP), 53 (DNS), 80 (HTTP), 110 (POP), 143 (IMAP) นอกจากนี้การที่ user ใน internal network รันโปรแกรมบนเครื่องตัวเอง ซึ่งโปรแกรมนั้นอาจจะเป็นม้าโทรจันก็เป็นไปได้ จากนั้นม้าโทรจันก็จะส่ง packet ออกไป external network ซึ่ง NAT ก็จะปล่อยให้ packet ผ่านไปได้เพราะถือว่าเป็นการ request จาก internal side ในกรณีนี้ก็จะเห็นได้ว่า NAT ไม่ได้ช่วยอะไรได้เลย
ด้วย NAT นี่เองทำให้จาก external เข้ามาทำได้ยากขึ้น(เข้าจากพอร์ตไม่ปกติ--->port ที่ไม่ใช่ Well known Ports Number)
เช่น
เครื่อง ก อยู่ใน NAT แล้วเครื่อง ข จะทำมิดีมิร้าย เครื่อง ก
เครื่อง ข จะไม่สามารเข้าถึงเครื่อง ก ได้ เพราะติด NAT นั่นเอง เฮ้อ... เศร้า.....
ปล.แล้วจะทำไงดีน้อ....
ปล2.ผิด พลาดประการใดก็ขออภัยด้วยครับ...
สอบถามนิดนะครับคือว่าสงสัยนะครับ ว่าจริงๆแล้ว ถ้าเครื่องข้างนอกกเป็น public IP แล้วเครื่องข้างในเป็น Private IP เช่น ถ้าผมมี public IP ใช้งานอยู่เครื่องหนึ่งมันสามารถ ping ไปสู่เครื่องข้างในที่ป็น Private IP ได้หรือเปล่าว ถ้าเราตัดส่วนที่เป็น firewall ออกไป โดยไม่คำนึงถึง
จากรูปแล้วของคุณ Alternative นั้น เวลาเราทำ NAT นั้นเราจะให้ออกด้วย Public IP แต่ที่นี้เราจะให้ออกโดยเป็น interface ที่เราให้เป็น IP PUBLIC เลย ก็คือ 203.154.207.76 หรือเปล่าวครับ หรือว่า เราต้องหา IP PUBLIC อีกอันมา MAP ถ้าสมมติว่า ผมให้เครื่อง 192.168.1.20 นั้นออกด้วย IP PUBLIC ที่เป็น 203.154.207.76 ของ interface ใน device ที่ทำ NAT มันจะเรียกเป็นการทำ NAT แบบ 1:1 หรือว่า เป็นแบบ Dynamic NAT อ่ะครับ เพราะเท่าที่ผมรู้มาว่าถ้าทำแบบนี้เขาจะเรียกว่า Dynamic NAT เพราะเคยเห็นคนพูดกันว่าตามหลักจริงๆแล้ว ในการทำ NAT เราต้องหา IP PUBLIC อีกอันหนึ่งมาใช้ในการทำ NAT ต้องไม่ใช้ interface device ที่ทำ NAT ถึงแม้ว่าจะเป็น PUBLIC IP ไม่รู้ทั่วๆไปสากลเขาใช้แบบนี้ที่ผมกล่าวถึงหรือเปล่าวครับ รบกวนพี่ที่เก่งๆและแม่นในทฤษฏีหน่อยนะครับ ขอบคุณมากครับ
สงสัยคับ คือว่าหากเราทำ static NAT private 192.168.0.5 public 203.xxx.yyy.zzz ไว้ที่ router
เครื่องผมอีกคเครื่องหนึ่งอยู่ในวง private จะ remote เข้าเครื่อง 192.168.0.5 ถึงไม่สามารถใช้ IP public ได้ครับ
NAT จะมีอยู่ สามแบบครับ
แบบแรก NAT Static จะอาศัยโดยการ 1 private IP ต่อ หนึ่ง Public IP ครับ หนึ่งเครื่องต่อหนึ่งครับไม่สามารถสร้างได้มากครับ
แบบที่สอง NAT Dynamic จะหาศัยการเชื่อมต่อแบบ ไอพีการเปลี่ยนแปลงตลอดเวลา ครับ เช่นว่า host 20 และมี Public IP 10 ไอพี เช่นว่า Public IP ตั้งแต่ 183.89.160.1 - 183.89.160.10 และภาพใน 20 เครื่องนั้นมาก่อนจะได้ ไอพี Public IP จริงออกไป 183.89.160.1 และเครื่องต่อมาติดๆกัน มาอีก ไอพี183.89.160.1 ไม่ว่าง Routerจะจ่ายไอพีเครื่องที่สอง Public IP เป็น 183.89.160.2 ครับ ไปอย่างนี้เรื่อย และวนซ้ำกลับมาครับ จะสอบว่าไอพีไหนว่างก็เสียบเข้าเลย
แบบสาม NAT Overload แบบนี้วิธีการนี้มักจะมีอยู่ตามกันใช้ทั่วไป ADSL คือจะมี Public IP มี แค่ หนึ่ง ไอพีเท่านี้นและเครืองในองค์กรหรือในบ้าน ไม่เพียงพอ เราจำเป็นต้องสร้างไอพีภายในให้ คือ private ip เพราะว่าในโลกความเป็นไอพีไม่เพียงพอต่อคอมพิวเตอร์ จึงจำแปลงต้องมีการแปลง ไอพี ภายใน ให้เป็นไอพี public เพื่อที่จะได้ออกเล่นอินเตอร์เน็ตได้ โดยอาศัยพอร์ตการเชื่อมต่อเอา มาจากไอพีไหน เช่นว่า 192.168.10:2536 สังเกตจะมีพอมาเรื่อยๆในเครื่องเราขณะเล่นเน็ต ลอง start -> run -> cmd -> netstat -5 ดูครับ จะดูว่าจะมีการเชื่อมต่อทุกๆห้าวินาที มีใครมาเชื่อมต่อบ้างอาศัยพอร์ดไหน จะรู้ ปลายต้นและต้นทางที่เชื่อมครับ
0 ความคิดเห็น:
แสดงความคิดเห็น