บทความ

บทความ

สอน วิธี ตั้งค่า WireGuard VPN ใน Mikrotik Router

สอน วิธี WireGuard VPN

สวัสดีครับ ในบทความนี้ ผมจะมา สอน วิธี การตั้งค่า WireGuard VPN บน Router Mikrotik กันนะครับ

WireGuard VPN เป็นระบบ VPN ที่ Mikrotik เอาเข้ามาใน Router OS เวอร์ชั่น 7 เป็นต้นไป เป็น VPN Standard ที่มีความเร็ว และมีความปลอดภัยสูงตัวนึงเลยครับ ผมเองชอบใช้เป็นอย่างมาก ทั้งในรูปแบบของ Site to Site และก็รูปแบบ Client to Site

และหากต้องการศึกษาเพิ่มเติมแบบละเอียด ทาง Mikrotik เขามี Documentation ไว้แล้ว สามารถเข้าไปดูรายละเอียดเพิ่มเติม ได้ที่นี้เลยครับ WireGuard – RouterOS – MikroTik Documentation

โดยตัวอย่างที่ผมจะมาสอนวิธีการตั้งค่าจะเป็นไปตาม Diagram นี้ครับ

หมายเหตุ

  1. การเชื่อมต่อ VPN ในรูปแบบนี้ จะต้องมีฝั่งใด ฝั่งนึง มี Public IP นะครับ แต่ไม่จำเป็นต้องเป็น Static ก็ได้ เป็นแค่ Dynamic ก็ได้ครับ โดยในตัวอย่างนี้ ผมจะมี Public IP อยู่ที่ฝั่ง VPN Server ครับ
  2. อุปกรณ์ Mikrotik ฝั่ง Server เป็นรุ่น RB4011iGS+ และใช้ RouterOS เวอร์ชั่น 7.6
  3. อุปกรณ์ Mikrotik ฝั่ง Client เป็นรุ่น hAP ax2 และใช้ RouterOS เวอร์ชั่น 7.14.1
เรามาเริ่มกันเลยนะครับ

1. เริ่มจากฝั่ง VPN Server กันก่อนนะครับ กดที่เมนู WireGuard (1) จากนั้นกดเครื่องหมาย + (2) แล้วจะได้หน้าต่าง New Interface (3)

2. จากนั้นให้กำหนด Port ที่เราต้องการใช้งาน ในที่นี้ผมขอกำหนดเป็น Port 27001 (1) เนื่องจาก Port เดิม (13231) ผมได้มีการใช้งานไปแล้ว แล้วกดปุ่ม Apply (2) โดยยังไม่ต้องปิดหน้านี้นะครับ และถ้าเรามีหลาย Interface ก็ให้เราจำ Interface Name (3) ไว้ด้วยนะครับ เพราะเดี๋ยวเราจะต้องใช้มัน

3. เมื่อเรากดปุ่ม Apply แล้ว เราจะได้ Public Key มา (1) ให้เรา Copy Key ตัวนี้เก็บไว้ก่อนนะครับ จากนั้นก็ให้กดปุ่ม OK เพื่อปิดหน้าต่างนี้ไปได้เลยครับ (2) แล้วเราจะได้ Interface Wireguard ที่เราสร้างขึ้นมาครับ (3)

4. ต่อไปให้ไปที่เมนู IP (1) > Address (2) จะเข้าสู่หน้าต่าง Address List ให้กด + (3) เพื่อเพิ่ม IP Address ให้กับ Interface WireGuard ที่เราเพิ่งสร้างขึ้นมาครับ โดยให้กำหนดค่าในหน้าต่าง New Address ดังนี้ครับ

  • Address ให้เรากำหนดหมายเลข Private IP Address ขึ้นมา ในที่นี้ ผมกำหนดเป็น 10.123.1.1 (4)
  • Network ช่องนี้จะเป็นหมายเลข Private IP Address ของฝั่ง VPN Client ครับ ในที่นี้ผมกำหนดเป็น 10.123.1.2 (5)
  • Interface ให้เราเลือก Interface wireguard11 (6) หรือก็คือ Interface ที่เราสร้างขึ้นในขั้นตอนที่ 2 ครับ
  • แล้วกดปุ่ม OK ได้เลยครับ

เสร็จแล้วเราก็จะได้ IP Address สำหรับ Wireguard แล้วครับ (7)

5. จากนั้นให้เรามาที่ฝั่ง VPN Client ครับ เช่นเดิมครับ ให้เรามาที่เมนู WireGuard (1) กด + (2) แล้วกำหนด Port ที่เราต้องการใช้งาน ในที่นี้ผมใช้ Port 27001 (3) เพราะ Port Default ผมได้ถูกใช้งานไปแล้วเช่นกัน แล้วก็ชื่อ Interface Name (4) เอาไว้ด้วยครับ จากนั้นให้กดปุ่ม Apply (5) แล้วเราจะได้ Public Key (6) มา ให้เรา Copy เก็บไว้ครับ แล้วกดปุ่ม OK (7)

6. จากนั้นให้ไปที่เมนู IP (1) > Address (2) กด + (3) ที่หน้าต่าง Address List เพื่อเพิ่ม IP Address ให้กับ Interface Wireguard โดยกำหนดค่าในหน้าต่าง Address ดังนี้

  • Address ให้ใส่หมายเลข IP Address ของฝั่งเราเอง ในที่นี้คือ 10.123.1.2 (4)
  • Network ให้ใส่เป็นหมายเลข IP Address ของฝั่ง VPN Server ในที่นี้คือ 10.123.1.1 (5)
  • Interface ให้เลือกเป็น wireguard5 หรือก็คือ Interface ที่เราสร้างขึ้นในขั้นตอนข้อที่ 5 ครับ
  • จากนั้นกด OK ได้เลยครับ

7. ต่อไปให้ไปที่เมนู WireGuard (1) อีกครั้ง (ตอนนี้เรายังอยู่ที่ฝั่ง Client นะครับ) แล้วไปที่ Tab Peers (2) > กด + (3) จะได้หน้าต่าง New Wireguard Peer ขึ้นมา ให้กำหนดค่าดังนี้

  • Interface ให้เลือก wireguard5 หรือ ก็คือ Interface ที่เราสร้างในขั้นตอนที่ 5 ครับ (4)
  • Public Key ให้เรานำ Public Key ที่เรา Copy เอาไว้ ในขั้นตอนที่ 3 มาใส่ ครับ (5)
  • Endpoint ให้เราใส่หมายเลข Public IP ของฝั่ง Server หรือจะเป็น DNS Name ก็ได้ครับ (6)
  • Endpoint Port ใส่ Port ของ Wireguard Interface ที่เราได้จากข้อ 2 ในที่นี้คือ 27001 ครับ (7)
  • Allowed Address ให้เราใส่เป็น 0.0.0.0/0 (8)
  • Persistent Keepalive ให้ใส่เป็น 00:00:10 หรือก็คือ 10 วินาที ครับ (9)

หลังจากนั้นกด Apply > OK

8. เมื่อเสร็จแล้วเราจะได้ Peer หน้าตาแบบในรูปครับ ถึงขั้นตอนนี้แล้วถือว่าเสร็จสิ้นขั้นตอนของฝั่ง Client ครับ

9. ต่อไปให้กับไปที่ฝั่ง Server อีกครั้งครับ เพื่อมาทำการเพิ่ม Peer ของฝั่ง Server แล้วไปที่เมนู WireGuard(1) > Peer(2) แล้วกด + (3) จะได้หน้าต่าง New WireGuard Peer ให้ใส่ค่าดังนี้ครับ

  • Interface ให้เลือกเป็น Wireguard11 หรือก็คือ Interface ที่เราสร้างขึ้นในขั้นตอนที่ 1 ครับ (4)
  • Public Key ให้เราเอา Public Key ของฝั่ง Client ที่เราได้มาในข้อที่ 5 มาใส่ครับ (5)
  • Allowed Address ให้กำหนดเป็น 0.0.0.0/0
  • แล้วกด Apply > OK

10. หลังจากกดปุ่ม OK แล้ว ถือว่าเสร็จสิ้นการทำ VPN Site-to-Site ครับ และให้ดูตรงช่อง Lash Handshake ถ้าการทำ VPN ของเราถูกต้อง ตัวเลขมันจะวิ่งครับ โดยเริ่มนับ 01 ไปเรื่อย ๆ (1) ถ้าตัวเลขไม่วิ่ง แสดงว่าระบบ VPN ยังไม่ทำงานครับ ซึ่งอาจจะเกิดได้หลาย ๆ กรณี ตัวอย่างเช่น

  • เราอาจจะทำขั้นตอนใดผิดพลาด
  • อาจจะติด Firewall ของฝั่งใด ฝั่งนึง ให้เราตรวจสอบ Firewall ว่าได้มีการ Allow Port หรือยัง
  • อาจจะเป็นบัคของระบบ ให้ลองลบ แล้วลองทำใหม่ดูอีกรอบครับ

เป็นอย่างไรกันบ้างครับ กับการทำ WireGuard VPN ยากไหมครับ ถึงตรงนี้ ถ้าใครทำแล้วผ่าน ก็ถือว่า สำเร็จวิชาต่อ VPN ไปแล้ว 1 กระบวนท่าครับ แต่การเชื่อมต่อ VPN ยังไม่จบเพียงเท่านี้ สิ่งถัดไปที่จะต้องทำคู่กันกับการทำ VPN คือ การทำ Routing ครับ เพื่อให้คอมพิวเตอร์ภายใน หรืออุปกรณ์ Network ภายในสามารถติดต่อกันข้ามไซต์กันได้ ซึ่ง Routing ก็มีหลายรูปแบบ แต่ในตัวอย่างนี้ผมจะมาสอนการทำ Routing แบบง่าย ๆ ครับ นั้นก็คือ Static Routing ครับ

หมายเหตุ

  • ถ้าเราทำแค่ VPN แต่ไม่ได้ทำ Routing คอมพิวเตอร์ หรืออุปกรณ์ Network ที่อยู่ภายใน จะยังติดต่อกันไม่ได้
  • ในบางกรณีการทำ VPN ก็ไม่จำเป็นต้องทำ Routing เสมอไป ขึ้นอยู่กับการใช้งานของแต่ละที่ครับ เช่น ในบางครั้งเราต้องการทำ VPN เพื่อเอาไว้แค่ Monitor อุปกรณ์ Router Gateway และไม่มีความจำเป็นที่จะต้องติดต่ออุปกรณ์อื่น ๆ ที่อยู่ภายใน ก็ไม่ต้องทำ Routing ครับ

งั้นเรามาเริ่มขั้นตอนต่อไปกันเลยครับ

11. ขั้นตอนถัดไป จะเป็นการทำ Routing เพื่อให้ คอมพิวเตอร์ที่อยู่ภายในสามารถติดต่อสื่อสารกันได้นะครับ ในตัวอย่างนี้ผมจะใช้เป็นการทำ Static Routing นะครับ โดยผมจะเริ่มต้นทำ Routing จากฝั่ง Server ก่อนนะครับ ให้เราไปที่เมนู IP (1) > Routes (2) จะได้หน้าต่าง Route List (3) ขึ้นมา จากนั้นกด + (4) ครับ ให้ใส่ค่าในหน้าต่าง New Route ดังนี้ครับ

  • Address คือ IP Address ปลายทางที่เราต้องการติดต่อไปหาครับ ในที่นี้คือ 192.168.128.0/24 ผมใส่เป็น IP ของ Network เลย เพื่อให้มันทำการ Route ไปทั้ง Subnet เลย แต่เราสามารถใส่เป็นเฉพาะ IP ใด IP นึง ก็ได้นะครับ (5)
  • Gateway คือ IP ของ Interface VPN Client ครับ ในที่นี้คือ 10.123.1.2 (6)
  • กดปุ่ม Apply > OK

12. จากนั้นให้ไปทำแบบเดียวกันที่ฝั่ง VPN Client ครับ แต่ให้สลับ IP Address เป็นของอีกฝั่งแทนครับ

เมนู IP (1) > Routes (2) จากนั้นกดปุ่ม + (3) ในหน้า New Route ให้ใส่ค่าดังนี้

  • Address คือ IP ของคอมพิวเตอร์ภายในของฝั่ง Server ที่เราต้องการติดต่อ ในที่นี้คือ 172.30.10.0/24
  • Gateway คือ IP ของ Interface VPN ฝั่ง Server ครับ ในที่นี้คือ 10.123.1.1
  • กด Apply > OK

13. ถึงขั้นตอนนี้แล้ว ถือว่าการทำ VPN และ Routing ของเราเสร็จสิ้นแล้วครับ ที่นี้เรามาทดสอบการใช้งานกันครับ โดยผมจะลองเอาคอมพิวเตอร์ของแต่ละฝั่งทำการ Ping ไปหา คอมพิวเตอร์อีกฝั่ง เพื่อทดสอบดูว่า สามารถติดต่อกันผ่านระบบ VPN ได้หรือยังครับ โดยผมจะเอาคอมพิวเตอร์ ฝั่ง Server IP Address 172.30.10.2 (2) มาทำการ Ping ดูก่อนนะครับ โดย Ping ไปยัง 192.168.128.247 (2) ก็พบว่า สามารถ Ping ได้ครับ

14. จากนั้น ก็เอาคอมพิวเตอร์ฝั่ง Client มา Ping บ้างครับ โดยคอมพิวเตอร์ฝั่งนี้ IP Address 192.168.128.247 (1) และทำการ Ping ไปยัง 172.30.10.2 ก็พบว่า Ping ได้เช่นเดียวกันครับ

เป็นอย่างไรกันบ้างครับ กับบทความนี้ หวังว่าจะเป็นประโยชน์กับทุก ๆ ท่านไม่มาก ก็น้อยนะครับ และหากติดปัญหา ก็สามารถทักไลน์มาสอบถามเพิ่มเติมได้นะครับ ไม่คิดค่าใช้จ่าย ยินดีให้คำปรึกษาครับผม

หรือหากท่านใด สนใจวางระบบ VPN Server ไม่ว่าจะเป็น WireGuard หรือ VPN ตัวอื่น ๆ ทาง บ.สุดพิภพ  ก็มีบริการรับวางระบบนะครับ สนใจติดต่อ ทักไลน์สอบถามรายละเอียดได้เลยครับ ค่าจ้างไม่แพงครับผม

Shopping cart
Sign in

No account yet?

Shop
0 Wishlist
0 items Cart
My account