ลองเล่น VRF แบบง่ายๆบน Mikrotik

Pao Payungsak Klinchampa
Next-Hop Co., Ltd.
Published in
3 min readMay 12, 2020
ลองเล่น VRF แบบง่ายๆบน Mikrotik

สวัสดีทุกท่านนะครับ ในบทความนี้เราจะมาพูดถึงเรื่อง VRF บน Mikrotik กันนะครับ

สำหรับ VRF (Virtual Routing and Forwarding) ผมขออธิบายง่ายๆว่าเป็นความสามารถของ Router ที่สร้าง Virtual Router ขึ้นมาหลายๆตัวบน Physical Router จริงๆ ซึ่งทำให้เราสามารถสร้าง Routing Table ขึ้นมาหลายๆตัว เสมือนกับว่า เรามี Router หลายๆตัว เเต่เเท้ที่จริงเเล้วมีเเค่ตัวเดียว แต่เเยก Routing Table เอาตามเเต่ละ Interface

VRF นั้นเราอาจไม่พบเห็นใน Network ทั่วๆไปซักเท่าไรนะครับ เนื่องจากเรื่องนี้เป็นเรื่องที่ Advance ขึ้นมาหน่อย และการใช้งานจริงๆจะใช้กันตาม Service Provider เพื่อให้บริการพวก MPLS L3 VPN ซะมากกว่าครับ แต่เดี๋ยวนี้ VRF ก็ถูกนำไปใช้กับ Network ที่ผมเรียกว่าเป็น Next Gen (พวก SDN) อย่างเช่น Cisco SD-Access อะไรพวกนี้ ที่มีการ Implement VRF เข้ามาช่วยในการสร้าง Network ขึ้นมา

ในบทความนี้จะนำพาทุกๆท่านไปลองใช้ VRF แบบง่ายๆ โดยผมจะใช้ Router ตัวที่บ้านเองนี่ล้ะ ในการ Demo ให้ดู

มาเริ่มกันเลยครับ

ก่อนอื่นมาดู VLAN ที่บ้านผมก่อนล้ะกัน

PaO’home VLAN Interface

VLAN ที่บ้านผมก็จะประมาณนี้ ตอนเเรกคิดว่าคงสร้างไม่กี่ VLAN เเต่ไปๆมาๆ มันชักจะเยอะขึ้นแฮะ 5555+

ส่วน VLAN ที่เราสนใจคือ VLAN 101 ที่จะเเยก Routing Table ออกมา โดยการสร้าง VRF ให้ เเล้ว Add VLAN 101 ให้เป็นสมาชิกของ VRF นี้ ส่วน Config ก็ตามภาพด้านล่างครับ

RED VRF

ค่าที่เราต้องสนใจก็คือ

Interface = จะ Add Interface อะไรเข้ามาเป็นสมาชิกของ VRF นี้บ้าง ในที่นี้ก็คือ VLAN101 นั่นเอง

Routing-Mark = ชื่อของ VRF ซึ่งใน Mikrotik เอาจะเอา Function นี้มาใช้ด้วย ซึ่งก็เป็น Routing Mark แบบเดียวที่เราเอามาใช้ทำ Load Balance หรือเอามาสร้าง Policy ใดๆในการกำหนด Rule เพื่อให้ route ออกไปตาม WAN ต่างๆตามที่เรากำหนด

Route-Distinguisher = อันนี้ผมขอเรียกว่าเป็นค่า Tag ของ Route ที่อยู่ภายใน VRF นั้นๆ เราจะใช้ค่า Route-Distinguisher หรือเรียกย่อๆว่า RD ในการอ้างถึงเจ้า VRF นี้ ซึ่งในที่นี้ก็จะอ้างถึง RED VRF นั่นเอง

Import-route-target = จะ Import VRF อะไรเข้ามาใช้บ้าง อันนี้ก็จะต้อง Add ค่า RD ของตัวเองเข้ามาด้วย

Export-route-target = จะ Export ไปให้ VRF อะไรใช้บ้าง ซึ่งก็ต้อง Add ตัวเองลงไปด้วย

ในที่นี้จะเห็นว่า ผม Import เเละ Export เฉพาะค่าของตัวเอง เพราะในบทความนี้จะเป็นการตั้งค่าพื้นฐานง่ายๆก่อนนะครับ ยังไม่มีการ Share route ข้ามไปข้ามมาระหว่าง VRF

ส่วนค่า RD นั้น Format ที่ผมใช้จะอยู่ในรูปของ

<AS Number>:<VLAN ID>

ก็เลยได้ค่าเป็น 64611:101

ซึ่งจะใช้ค่าอื่นก็ได้ ไม่ผิด ขอเเค่อยู่ในรูปแบบนี้ก็พอ

เมื่อตั้งค่า VRF เรียบร้อยนั้น VLAN 101 ก็จะถูกย้ายออกไปใช้ Routing Table ของ RED VRF ครับ

ณ ตอนนี้ หากมี Client อยู่ในวง VLAN 101 นี้ มันก็จะติดต่อข้ามไป Network อื่นๆไม่ได้เเล้ว มันจะติดต่อได้เฉพาะภายใน Network ของตัวเองเท่านั้น ก็เเหงล้ะ มันมี Route เฉพาะวงของมันเอง ถ้าอยากให้ออกเน็ตได้ก็ต้องทำแบบนี้ครับ

RED Routing Table

นั่นก็คือ การ Add Default Route เข้าไปนั่นเอง แล้วก็กำหนด Gateway ที่ต้องการ ของผมจะเป็น pppoe-tot นะ

แล้วออกเน็ตได้ยัง ???

คำตอบคือ ยังครับ ยังมีอีก 2 Rule ที่เราต้องไป Add ที่ Mangle โดยใช้ Rule หน้าตาแบบนี้

Mangle Rule for access the internet

มาดูที่หมายเลข 6 นะครับ เจ้า Rule นี้จะทำการ Mark Connection ชื่อ RED-CON เมื่อมี Packet ที่มี Source IP ที่สัมพันธ์กับ VLAN 101 ของเรา ในที่นี้ก็คือ 10.200.101.0/24

ส่วนหมายเลข 7 ก็เอา RED-CON ที่ได้ไปสั่ง Mark routing เพื่อให้ออกไปทาง WAN pppoe-tot ได้นั่นเอง

เพียงเท่านี้ ก็ออกเน็ตได้เเล้วครับ หากมี Client ต่อเข้ามา เค้าก็ไม่สามารถติดต่อ Network ภายในวงอื่นๆได้ เเต่จะออกเน็ตได้ กับติดต่อกันเองได้ครับ

Connection Table

หากดูที่ Connection Table เราก็จะเห็น RED-CON ด้วย

แล้วเอาไปใช้กับงานแบบไหนได้บ้างล้ะ ??

สำหรับในเคสของผมเอง ผมเเยก RED VRF ออกไปให้สมาชิกคนอื่นในบ้านใช้ + Guest ซึ่งเค้าจะไม่สามารถติดต่อไปยัง Network อื่นๆของผมได้ (Routing Table ของผมก็มี Route เยอะอยู่เหมือนกันครับ 555+)

จะเอาไปใช้กันเเบบไหน ก็ลองศึกษาเพิ่มเติมดูนะครับ

ขอจบบทความเเต่เพียงเท่านี้ เเล้วพบกันใหม่ในบทความต่อไป สวัสดีครับ

--

--