no-ip กับ Mikrotik
วิธีการสมัคร no-ip เพื่อทำ ddns เข้าควบคุม Mikrotik จากภายนอก
เห็นมีหลายๆท่านถามมาครับ สำหรับ Mikrotik ที่เซตแบบ PPPoE ว่าจะทำอย่างไรถึงจะเข้ามาดูรายงาน หรือแก้ไข ควบคุม Mikrotik
จากที่อื่นได้ โดยไม่ต้องเปิดเครื่อง PC หรือ Notebook ออนไว้เพื่อเช็ค ip
วิธีการส่วนใหญ่จะใช้ ddns ซึ่งอาจเป็น dyndns หรือ no-ip หรืออื่นๆแล้วแต่สะดวก
dyndns เมื่อก่อนจะฟรีครับ แต่เดี๋ยวนี้เสียตังค์แล้ว ประมาณปีล่ะ 20 เหรียญหรือ 600 บาทไทย
สามารถ add host ได้ 30 host
.png)
ส่วน no-ip ตัวฟรี จะได้ 5 host ซึ่งก็เพียงพอแล้ว ที่สำคัญคือฟรี แต่ในปัจจุบัน ลดลงให้เหลือแค่ 3 แล้วครับ
อันที่ผมใช้ สมัครมา 2 ปีแล้ว ปิดแต่ชื่อล่ะกัน ip มันเปลี่ยนได้
.png)
วิธีการสมัคร จำเป็นต้องมี email ครับ การสมัครก็ไปที่ http://www.no-ip.com/
เลือกตรง Sign Up Now

user ให้ใช้ความยาว 6-15 ตัวอักษร และตั้งแต่ a-z,0-9,เครื่องหมาย - (ขีดกลาง) และ _(ขีดล่าง) นอกเหนือจากนี้จะไม่ได้ครับ
ความยาวของ password ขั้นต่ำ 6 ตัวอักษร (ตั้งให้ยากและจำได้ง่ายจะดีมาก)

ใส่ email และ domain ที่ใช้
เลือกได้หลายแบบครับ จะเป็น .no-ip.info .org .biz หรือ zapto.org ddns.me ddns.net ก็ตามต้องการ
ลอง add ขึ้นมาใหม่ดูก็ได้ว่ามีอะไรบ้าง โดยจะมีไกด์แนะนำว่าควรใช้อะไร จึงจะไม่ซ้ำคนอื่น

ขั้นตอนสุดท้ายของการสมัคร กด Sign Up
แบบจ่ายตังค์ประมาณ 15 เหรียญหรือ 450 บาทต่อปีครับ
.png)
ระบบจะส่ง mail ไปที่ email เราครับ จึงต้องใช้ email ที่มีอยู่จริงในการสมัคร

มาแล้ว รอไม่เกิน 5 นาที สำหรับผมนะ

ครอบลิงค์เพื่อยืนยันครับ ผมลืมแคปภาพหน้าจอ ข้ามไป log in เลยล่ะกัน
ตรง email ผมใส่เป็น user เลย เพราะตอนสมัครผมไม่ได้ระบุให้ user เป็น email (จะให้ user เป็น email ก็ทำตอนสมัครครับ)
.png)
เข้าได้แล้ว

domain ที่ผมใช้ตอนสมัคร ผมเลือกใช้เป็น no-ip.org ครับ
โดยไปดูที่ Host/Redirects

ทดลอง copy dns ของเราใส่ใน winbox

เข้าได้ครับ

ต่อไปจะมาว่าด้วย script ที่ใช้ อ้างตามนี้ครับ
1.สร้างสคริปท์ชื่อ no-ip_ddns_update สั่งให้รันแค่
- write
- test
- read
2.คัดลอกสคริปท์ตามข้างล่าง แก้ไข 4 จุด คือ 1.user 2.password 3.hostname และ 4.interface ที่ใช้
.png)
3.ตั้งเวลาให้สริปท์ที่ตั้งทำงานทุก 5 นาที ถ้าจะเปลี่ยนให้ทำงานไม่ต้องถี่มากเป็น 15 นาที/ครั้งก็แก้จาก 5m เป็น15mครับ
อันนี้ ชื่อสคริปท์ต้องเป็น no-ip_ddns_update นะครับ ไม่งั้นมันไม่ตรง สคริปท์จะไม่ทำงาน
/system scheduler add comment="Update No-IP DDNS" disabled=no interval=5m \
name=no-ip_ddns_update on-event=no-ip_ddns_updatepolicy=read,write,test
ลองกันเลย ไปที่ system>>>script กด+ สร้าง New Script
copy Script ที่เราแก้แล้ววางลงไป และตั้งชื่อเป็น no-ip_ddns_update ติ๊กถูกแค่ read write test ตามเค้าไป
.png)
ทดลอง Run Script ดู

ไปที่ Environment ดูว่าได้ previousIP มาหรือเปล่า
.png)
ตั้งเวลา Run Script ง่ายมาก ไปที่ Terminal copy วาง enter จบ

มาแล้ว ดูใน system schedule ครับ มันทำงานทุก 5 นาที ตรง Interval=00:05:00

ผมลองแก้ให้มันทำงานทุก 5 วินาทีดูเพื่อดูว่ามันทำงานได้หรือเปล่า สังเกตุว่า Count จะวิ่งตามกันเลย

แค่นี้ก็เรียบร้อยแล้วครับ ทดลองถอดสายโมเดมให้เนตหลุดหรือ reboot Mikrotik แล้วทดสอบ log in ใหม่ดูครับ
เสร็จแล้วอย่าลืมไปแก้ 5 วินาทีให้เป็น 5 นาทีตามเดิม หรืออาจจะเปลี่ยนให้มันทำงานทุก 15 นาทีก็ได้ครับ
5 นาทีผมว่ามันจะถี่ไป
ถ้าจะเข้าดู userman ก็ no-ip ของเรา:81/userman
ปล.ถ้าทำไม่ได้ สำหรับลูกค้า WiFi4YOU แจ้งรุ่นที่ซื้อ ประกันเป็นเดือนไหน (เพื่อป้องกันผู้ที่ไม่ได้ซื้อกับทางร้านแอบอ้างเข้ามาขอความช่วยเหลือครับ)
ผมจะ Teamviewer ให้ครับ เพียงกำหนดชื่อ dns มาให้ผมพอ เอา user+password ผมเนี่ยแหละให้ใช้
ปัญหาที่เจอ มึนงงอยู่ตั้งนาน
ตอนแรกผมใช้ RB750G ตัวที่เซตอยู่ก่อนกับ script dyndns แล้วลบ script กับ schedule ออก
ทำยังไงก็เข้าไปไม่ได้ ลองเข้าไปดูใน no-ip ปรากฏว่า ip ไม่อัพเดทตามเร้าเตอร์ (ซิ่งมันอาจเป็นเพราะ Policy ผมติ๊กไว้หมดก็ได้)
ดังนั้น จึงแนะนำว่า ค่าที่ใช้ควรเป็นค่าที่เซตใหม่หมดครับ หรืออย่าแตกต่างจาก wiki และอย่าพยายามเอาค่าเดิมมาใช้ เดี๋ยวปัญหาจะเยอะ
แถมทิบให้นิดนึง
ถ้าอยากเปลี่ยน user ที่ log in ทำได้หรือเปล่าหรือเปลี่ยนได้แค่ password
ไปที่ System>>>user ครับ
กด + สร้าง user ขึ้นมาใหม่ เลือกได้ว่าจะให้อ่านอย่างเดียว หรือสิทธิ์เต็ม แต่อย่างน้อยในระบบควรมีสิทธิ์แบบ Full อยู่ 1 user ครับ
สร้าง password ตอนนี้ก็ได้ หรือจะเปลี่ยนทีหลังก็ไปที่ System>>>password

เสร็จแล้วไปปิดสิทธิ์ของ admin ได้เลย โดยติ๊ก user ที่ต้องการแล้วกดเครื่องหมายกากบาทหรือคลิ๊กขวากด D หรือเลือก Disable ก็ได้

อีกทิบหากต้องการให้ทุกเครื่องที่อยู่ในวงแลน 192.168.1.x log in เข้า Mikrotik ได้โดยไม่ต้อง log in ก่อนก็ Allowed Address ให้มันครับ

สำหรับเรื่องของ dns จริงๆมันสามารถใช้ของที่อื่นได้อีกหลากหลาย
ลองไปดูใน wiki ของ mikrotik ดูครับ แต่ no-ip ผมว่าง่ายสุดๆแล้วนะ
ตัวอย่างของ dyndns ครับ ทำคล้ายๆกัน http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_No-IP_DNS
ถ้าเป็นแบบ dhcp มาจากพวก Airnet หรือ Cable จะทำยังไง เดี๋ยวผมทำให้อีกบทความครับ เพราะมันต้องใช้การ forward port ด้วย
สำหรับวันนี้ก็พอเพียงเท่านี้ครับ