Review Reyee SD-WAN Solution, Reyee AnyLink เชื่อมต่อ VPN, NAT Traversal, รูปแบบ NAT Type
- ไม่มีสินค้าในตะกร้าของคุณแล้ว
- จัดส่ง
- รวมทั้งสิ้น ฿0.00
Review Reyee SD-WAN Solution
Review Reyee SD-WAN Solution
SD-WAN Software Define WAN แปลตรงตัวเลยครับ เป็นการบริหารจัดการ WAN ด้วย Software หรือ การบริหารการจัดการเชื่อมต่อ Internet ด้วย Software ก็ได้ครับ
ในอุปกรณ์ Router, Loadbalance ทั่วๆไป การออก Internet จะตรงๆดื้อๆผ่าน Routing Table หรืออย่าง Loadbalance มี Internet มากกว่า 1 เส้น การทำ Fail-Over, Policy Base Routing ก็ใช้หลักการ Routing การ Mark Packet แล้วเราเป็นผู้ระบุให้ออก WAN ที่กำหนด หรือ เชื่อมต่อ VPN ระหว่าง Site ก็ต้องระบุ WAN ที่จะเชื่อมต่อ ไม่สามารถตรวจสอบได้ว่า WAN ไหนเร็ว ดี แล้วจัดการให้ไปวิ่ง WAN นั้นๆ
ประโยชน์ของ SD-WAN
แบบคร่าวๆนะครับ ผมเองก็ยังค่อนข้างใหม่กับ SD-WAN แต่พอจะทราบเกี่ยวกับทฤษฎีอยู่บ้างครับ เพราะที่ผ่านมา อุปกรณ์ที่จะมี Feature พวกนี้ ราคาค่อนข้างแรง 555
1. Application-Aware Policy
สามารถระบุได้ว่า Packet ที่วิ่งเป็น Application หรือ Service อะไร โดยใช้ Feature DPI (Deep Packet Inspection)
2. Dynamic Path Selection
มีการตรวจสอบคุณภาพ Internet ไปยังปลายทางที่เชื่อมต่อ สามารถวัดค่า Latency/Jitter/Loss ความเร็วความหน่วง (SLA) พอรับรู้คุณภาพของ Internet แต่ละเส้น ก็จัดการโยก Data ให้ไปวิ่งเส้นทางที่ดีที่สุด
มองเป็นตำรวจจราจรครับ
มีถนนหลายเส้นให้รถวิ่ง (Multi-WAN) ปลายทางก็มีหลายที่ (App Server) ถ้าเมื่อก่อนก็ตรวจแค่ว่า มีถนนกี่เส้น อัตราส่วนที่ให้รถไปวิ่งบนถนนแต่ละเส้น (Loadbalance) หรือ อาจจะมีการระบุรถแบบไหน ไปปลายทางที่ไหน (Policy Base Routing: PBR) ก็จะโบกให้รถไปวิ่งเส้นนั้นๆ ไม่มีการตรวจสอบเส้นทางถนนว่าช่วงเวลานั้นมันเร็วหรือช้ากว่าจะไปถึงปลายทาง
แต่พอมีระบบมาช่วยจัดการ ตำรวจจราจรก็จะตรวจสอบได้ว่า รถขนของอะไรจะไปส่งปลายทางที่ไหน ทำการคำนวนหาถนนเส้นที่ดีที่สุดเป็นระยะๆ อาจจะเป็นเส้นทางที่สั้นที่สุดไม่ต้องวิ่งอ้อม หรือ ต่อให้เป็นเส้นทางที่อ้อมก็ยังเร็วกว่าทางลัด อารมณ์ไปลพบุรี มี 2 ทางหลักๆ สายเอเซีย กับ เส้นพหลฯผ่านสระบุรี พระบาท ปกติก็วิ่งสายเอเซียไวกว่า แต่ถ้าช่วงเทศกาลรถติดบรรลัย ไปทางพหลฯก็น่าจะไวกว่าครับ ^^
จากรูป มี App ที่ออก Internet เช่น Zoom, MS-Team, Youtube, Website
SD-WAN จะใช้ DPI ตรวจสอบว่า Traffic ที่วิ่งเป็น App/Service อะไร Zoom, MS-Team, Youtube, Website etc.
พอรู้ว่าเป็น App อะไร เราก็สามารถระบุให้ App/Service ต่างๆออก WAN ที่กำหนด หรือให้ SD-WAN เป็นตัวจัดการเลือกโดยอ้างอิงกับค่า Latency, Jitter แต่ละ WAN ที่วัดได้
3. Simplified VPN
เป็น Feature ที่ช่วยจัดการการเชื่อมต่อ VPN ระหว่างสาขา ทำได้ง่าย แก้ปัญหาเรื่อง NAT หรือ ไม่ได้ Public IP สามารถเชื่อมต่อได้ 100%
ส่วนจะช้าหรือเร็ว เป็นอีกเรื่อง
SD-WAN จะสร้าง VPN Tunnel ให้อัตโนมัติ ไม่ต้อง Config ทีละ Tunnel รวมถึง Routing ระหว่าง Tunnel ยิ่งถ้าทำ VPN แบบ Full-Mesh มี 3 Site ต้อง Config Tunnel 6 ครั้งเลย
NAT Traversal แก้ปัญหากรณีที่เราไม่ได้ Public IP ซักฝั่ง (ปกติการทำ VPN เราต้องมี Public IP ที่ฝั่งใดฝั้งนึงครับ อีกฝั่งจะเป็น IP CG-NAT หรือ ต่อหลัง Router อีกทีก็ได้)
Aggregation VPN Tunnel เป็นการรวม Bandwidth จาก Internet หลายๆเส้น ใน VPN Tunnel เดียว
Dynamic Path VPN Tunnel Selection เป็นการเลือกเส้น Internet ที่ดีที่สุดในการสร้าง VPN Tunnel รวมถึงเป็น VPN Fail-Over ด้วยครับ เส้น Internet หลักหลุด ก็จะทำการสร้าง VPN Tunnel อีกเส้นให้โดยอัตโนมัติ
Cloud VPN Management ส่วนใหญ่ Brand ที่ทำ SD-WAN ก็จะมาพร้อมระบบ Cloud ด้วยครับ มี Dashboard ช่วย Monitor พวก ค่า Real-Time ต่างๆ เช่น Traffic, Latency, jitter, Loss, App Usage การ Config ก็ทำได้ง่าย รายละเอียด Log ต่างๆช่วยให้การ Maintenance ได้ง่ายมากขึ้น
Reyee SD-WAN
ใน Reyee SD-WAN จะใช้ชื่อว่า Anylink ที่ผมลองเล่นจะมีเฉพาะส่วนที่เป็น VPN ครับ และตอนนี้ยังเป็น Beta Version อยู่ ให้ทดลองใช้ได้ฟรี
การเชื่อมต่อ VPN ด้วย Reyee SD-WAN ไม่จำเป็นต้องมี Public IP ที่ HQ จะเป็น IP CG-NAT, หรือจะต่อหลัง Router อีกที ก็สามารถเชื่อมต่อ VPN หากันได้
แต่ๆๆ มีเรื่องประเภท NAT มาเกี่ยวข้องด้วย NAT บางประเภท SD-WAN จะไม่สามารถสร้าง Tunnel วิ่งหากันระหว่าง Site โดยตรงได้ ต้องวิ่งผ่าน Ruijie Cloud จะทำให้ VPN Throughput ช้ามาก ตาม Datasheet คือ 100 Kbps ครับ เดี๋ยวผมกล่าวถึงประเภทของ NAT อีกทีนะครับ
VPN Topology
มี 3 Topology ให้เลือก
1. Hub Spoke
เป็นรูปแบบที่ฝั่ง Site เชื่อมต่อหา HQ ตรง กรณีที่ฝั่ง Site จะเชื่อมต่อไปยัง Site อื่น Traffic จะวิ่งผ่าน HQ ด้วยครับ
2. MESH
ทุกๆ Site สามารถเชื่อมต่อถึงกันได้หมด โดยไม่ต้องผ่าน HQ
3. Custom
ระบุได้ว่าต้องการให้ Site ไหนเชื่อมต่อหากันได้บ้าง หรือ เชื่อมต่อเฉพาะกับ HQ
ตัวอย่าง ผมเลือกเชื่อมต่อ VPN ด้วยรูปแบบ Hub Spoke
เลือก Project ฝั่ง HQ และ ฝั่ง Site
ฝั่ง HQ ผมใช้ Reyee EG1510XS ฝั่ง Site ผมใช้ Reyee EG310GH-E เลือก WAN Port ที่จะสร้าง Tunnel สามารถเลือก Multi-WAN เพื่อทำ VPN Fail-Over ได้ครับ
เลือกวง VLAN ที่ต้องการให้เชื่อมต่อหากันผ่าน VPN ได้
VLAN ที่ซ้ำกัน ระหว่าง HQ กับ Site จะไม่สามารถเลือกได้ เพราะว่า เวลาอุปกรณ์ Network มันคุยกัน ถ้า VLAN วงเดียวกันมันจะวิ่งไปหากันตรงๆ ไม่ผ่าน Gateway แต่ถ้าคนละ VLAN มันจะวิ่งไปหา Gateway ก่อน แล้วให้ GW ทำการหาเส้นทางต่อ
เรียบร้อยครับ ง่ายมั้ย ^^
Monitoring
แสดงรายละเอียด Link Status, Speed, Latency, Packet Loss
ทดสอบ VPN Throughput ได้ 300Mbps ถือว่าเร็วมาก
ถ้ามี Internet หลายเส้น ทำเป็น VPN Link Backup ได้ครับ
ทดสอบ VPN Throughput ผ่าน Internet SIM 4G LTE ใกล้เคียงตาม Package ที่สมัครไว้ ผมใช้ SIM เทพทรู 15Mbps
ทีนี้มาต่อเรื่องประเภทของ NAT ครับ รายละเอียดใน Link Reyee SD-WAN Introduction
ในข้อ 3 Restrictions จะเห็นว่าประเภทของ NAT มันจะมีผลกับการสร้าง Tunnel ระหว่าง Site ถ้าเป็น NAT Symmetric ที่มี Security จะไม่สามารถสร้าง Tunnel หากันได้ Data ต้องวิ่งผ่าน Cloud ทำให้ VPN Throughput ช้ามาก
ประเภทของ NAT
รูปแบบของ NAT และการตรวจสอบว่าเราเชื่อมต่อ Internet ได้ NAT รูปแบบไหน CheckMyNAT
จากรายละเอียดใน Web CheckMyNAT
อ้อ..พวก NAT Type ใน CCNA, CCNP ไม่มีสอน แต่มีในคอร์ส Cisco Catalyst SD-WAN ใน Udemy ครับ 3 ร้อยกว่าบาท
1. Full Cone NAT
หรือเรียกว่า One-To-One NAT หรือ Static NAT คล้ายๆกับการ Forward Port ผมได้มีอธิบายเรื่อง NAT ไว้ในหัวข้อ หลักการทำงานของ NAT
แต่การ Forward Port นั้น เรา Fix หมายเลข Port ลงใน Router โดยตรง เช่น NVR 192.168.1.10 มี Port Managed เป็น 9000 สมมุติ IP WAN เราเป็น 20.20.20.20 เวลาภายนอกจะเข้ามาที่ NVR เรียกผ่าน 20.20.20.20:5000 ก็จะเข้ามาถึง Service Manage ของ NVR
20.20.20.20:5000 ----- Forward-Port -----> 192.168.1.10:5000
หรือ NVR ส่งภาพออกไปก็ใช้ Port 5000
Full Cone NAT แตกต่างจาก Forward Port คือจะสุ่ม Port อยู่ในช่วง 49152 – 65535 เพื่อสร้าง NAT Table และใช้ Port นี้ตลอด จนกว่าจะ Session Timeout
สมมุติ Host#1 ส่งข้อมูลไป Host#2
NAT Table จะเก็บข้อมูล Maping ไว้
Private IP/Port: Host#1:10000
Public IP/Port: 20.20.20.20:50000
ขาไป : [Host#1:10000] -----NAT----> [20.20.20.20:50000] ---------------> [Host#2:10001]
ขากลับ : [Host#2:10001] ---------------> [20.20.20.20:50000] -----NAT----> [Host#1:10000]
Full Cone NAT จะอนุญาติให้ Host อื่นๆตอบกลับที่ Port 50000 ได้ อาจจะเป็น Host#3 และเป็น Port อะไรก็ได้
เพราะฉะนั้น ถ้าขากลับมันมาจากใครก็ไม่รู้ Host#1 ก็รับครับ
[Host#3:10010] -------> [20.20.20.20:50000] -----NAT----> [Host#1:10000]
ซึ่งมันไม่ Security เอาซะเลย แต่ดีว่าใน Router เรียกว่าเกือบ 100% เลย ไม่มี Default ที่เป็น NAT แบบนี้
เพราะอะไร?
อารมณ์เดียวกับการ Forward Port
สมมุติผม Forward Port SIP 5060 ไว้ Hacker ทำการ Scan Port มาแล้วทำการ Brute Force User/Password หรือมันจะมีช่องโหว่อะไรก็แล้วแต่ จากนั้น Login ได้ก็ทำตัวเป็นแก๊งคอลเซ็นเตอร์โทรออก Trunk เราได้เลย
หรือ ฝัง Malware ไว้ที่เครื่องปลายทาง ทำการยิงออกไปซักที่ แล้วดูว่า Router เครื่องเหยื่อ NAT ด้วย IP/Port อะไรออกไป จากนั้นเราก็ส่งคำสั่งกลับมาที่ IP/Port นั้นตรงเข้า Malware ที่เครื่องเหยื่อ ให้ Malware ทำงานได้อย่างที่เราต้องการ และไอ้เครื่องที่ส่งคำสั่ง มันจะส่งจากเครื่องไหนก็ได้ครับ ไม่จำเป็นต้องเป็นเครื่องที่ Malware ยิงออกมา
2. Restricted Cone NAT
ต่างจาก Full Cone NAT คือ ต้องเป็น Host IP เดิมเท่านั้น ที่เชื่อมต่อแล้วมีการเก็บข้อมูล Mapping ไว้ใน NAT Table เท่านั้น ถ้าไม่ใช่ Host เดิม จัดการ Block
ขาไป : [Host#1:10000] -----NAT----> [20.20.20.20:50000] ---------------> [Host#2:10001]
ขากลับ : [Host#2:10001] ---------------> [20.20.20.20:50000] -----NAT----> [Host#1:10000]
อยู่ดีๆมีขากลับมาจาก Host#3 ไม่เคยคุยกันมาก่อน
[Host#3:10001] -------> [20.20.20.20:50000] -----NAT----> [Host#1:10000]
แบบนี้โดน Block ครับ
3. Port-Restricted Cone NAT
เพิ่ม Security ขึ้นมาจาก Restricted Cone NAT อีก Step
คือมีการตรวจสอบ Port ด้วย ถ้า IP และ Port กับที่เคย Mapping ไว้ไม่ตรง จัดการ Block
ขาไป : [Host#1:10000] -----NAT----> [20.20.20.20:50000] ---------------> [Host#2:10001]
ขากลับ : [Host#2:10001] ---------------> [20.20.20.20:50000] -----NAT----> [Host#1:10000]
อยู่ดีๆมีขากลับมี Port อื่นส่งมาจาก Host#2
[Host#2:10010] ------> [20.20.20.20:50000] -----NAT----> [Host#1:10000]
แบบนี้โดน Block
NAT แบบนี้มักจะเป็นปัญหากับ Protocol ที่มี Control Port กับ Data Port ต่างกันครับ เช่นส่ง Login ไป Port นึง ส่ง Data กลับอีก Port นึง มันหา Mapping Table ไม่เจอ เพราะไม่ตรง Port กัน มัน Block ทำให้ไม่ได้ Data
4. Symmetric NAT
NAT แบบนี้ Security สูงสุดเลย
ปกติหมายเลข Port หลังจากการ NAT ทั้ง 3 รูปแบบที่กล่าวมา มันใช้ Port เดิมในการ Mapping กับ IP ปลายทางอื่นๆได้ สมมุติเป็น 50000 (สุ่ม) จนกว่าจะ Session Timeout
แต่ Symmetric NAT มันเปลี่ยน Port ไปเรื่อยทุกการเชื่อมต่อปลายทาง และ Security ก็ต้องเป็น IP/Port เดิมที่เคยจับคู่กันเท่านั้น ต่างกันคือ Block
[Host#1:10000] ----NAT----> [20.20.20.20:50000] ------------> [Host#2:10001]
[Host#1:10000] ----NAT----> [20.20.20.20:50001] ------------> [Host#3:10002]
[Host#1:10000] ----NAT----> [20.20.20.20:50002] ------------> [Host#4:10003]
ในตาราง NAT Table มีการจับคู่ NAT Mapping
20.20.20.20:50000 --- Host#2:10001
20.20.20.20:50001 --- Host#3:10002
20.20.20.20:50002 --- Host#4:10003
อยู่ดีๆ Host#4:10003 ตอบกลับมาที่ 20.20.20.20:50000 โดน Block
ปัญหาของ Symmetric NAT กับ SD-WAN
OK สมมุติตอนนี้ IP WAN ที่ Router เราเป็น CGNAT (Private) และรูปแบบ NAT ของ ISP ดันเป็น Symmetric NAT
มันจะมีปัญหากับ SD-WAN ในส่วนของ NAT Traversal ที่เป็นการสร้าง Tunnel หากันระหว่าง Site
อ้างอิงบทความนี้ครับ NAT Traversal คืออะไร?
Router เราจะส่ง Packet ไปยัง NAT Traversal (NAT-T) เพื่อให้รู้ว่าจริงๆแล้ว IP Public/Port ของ Router เรา ที่คุยกับชาวบ้านในโลก Internet มันเป็น IP Public อะไร, Port อะไร เพราะไม่งั้นมันจะรู้แค่ Private IP (CGNAT) ที่ขา WAN ของมัน
จากนั้น NAT-T ก็ทำการ Register เก็บข้อมูล IP Public/Port นี้ไว้ รวมถึงส่งไปบอกที่ Router ทั้ง 2 ฝั่ง ว่าอีกฝั่งมี IP Public/Port อะไรเพื่อเอาไว้ให้คุยกันเอง ไม่ต้องผ่าน NAT Traversal
จากนั้น ทั้งสองฝั่งก็จะส่ง Packet ไปยัง IP Public/Port ของอีกฝั่ง เพื่อทำการ NAT Mapping แล้วเริ่มส่งข้อมูลหากัน เรียกว่า Hole Punching
ถ้าเป็น NAT แบบ Full Cone NAT, Restricted Cone NAT และ Port-Restricted Cone NAT มันใช้ Port เดิมที่รับรู้มาจาก NAT Traversal ในการคุยได้ เพราะถูกเปิดไว้แล้ว
แต่ Symmetric NAT มันเปลี่ยน Port ที่ Mapping ใหม่ทุกคู่การเชื่อมต่อ
ทวน NAT Traversal นิดนึง
Router#A ส่ง Packet ไปที่ NAT-T เจ้า NAT-T ก็รู้ว่า Router#A มี IP ที่คุยกันจริงๆ คือ IP Public/Port: 20.20.20.20:20000
Router#B ส่ง Packet ไปที่ NAT-T ก็หลักการเดียวกัน รู้ว่า Router#B มี IP Public/Port: 30.30.30.30:30000
NAT-T ส่ง IP Public/Port ของ Router#A ให้ Router#B และ ของ Router#B ให้ Router#A
Router#A รู้ว่า Router#B เป็น IP/Port: 30.30.30.30:30000
Router#B รู้ว่า Router#A เป็น IP/Port: 20.20.20.20:20000
ถ้าเป็น Restricted Cone NAT และ Port-Restricted Cone NAT มันจะคุยตรงได้เลย
แต่พอเป็น Symmetric NAT เมื่อจะเชื่อมต่อหากัน A ไป B, B ไป A หลังจากที่เชื่อมต่อไปที่ NAT-T มันมีการเปลี่ยน Port เพราะปลายทางเปลี่ยน
แต่อีกฝั่งยังมันยังจำ Port เดิม ที่ NAT-T ส่งมาให้
Router#A (20.20.20.20:20001) --> Router#B (30.30.30.30:30000)
Router#B (30.30.30.30:30001) --> Router#A (20.20.20.20:20000)
Port ไม่ตรงกับที่ Mapping ไว้ Packet โดน Block จบ!! เชื่อมต่อไม่ได้
การทำ Hole Punching ใน NAT Traversal เลยไม่ผ่านครับ ไม่สามารถเชื่อมต่อหากันเองได้ระหว่าง Router#A กับ Router#B จึงไม่สามารถคุยกันตรงๆได้
แผน A ไม่รอด ก็ต้อง แผน B
ใช้ Cloud Relay
เมื่อ SD-WAN มี Cloud ช่วยจัดการแล้ว ก็ใช้ช่องทาง Cloud นี้แหล่ะเป็นทางผ่าน Data จาก Router#A และ Router#B ส่งหากันผ่าน Cloud แทน ลักษณะการทำงานแบบนี้ เรียกว่า Cloud Relay ครับ
ข้อดี
เชื่อมต่อหากันสำเร็จ 100% ไม่ว่าจะ NAT แบบไหน หรือจะต่อ Router กี่ชั้นก็ตาม
ข้อเสีย
ช้า ช้ามาก ถ้าใน Reyee SD-WAN ได้ความเร็วแค่ 100Kbps
ข่าวดี. จากที่ผมทดสอบ รูปแบบของ NAT มา ทั้ง TRUE, AIS, 3BB รวมถึงเครือข่าย 4G TRUE, AIS และ DTAC ยังไม่เจอ NAT ที่เป็นแบบ Symmetric NAT ครับ ส่วนของค่ายอื่นๆยังไม่ได้ทดสอบ
เริ่มยาว เดี๋ยวต่อเรื่อง Reyee SD-WAN อีกบทความนะครับ 😅
Facebook comment