How to Setup Mikrotik Router to Work With Chromecast to Get Netflix

ปัญหาคือถึงแม้เราจะเซต DNS Server ไปใช้ผ่านผู้ให้บริการจากต่างประเทศ แต่ Chromecast ก็ยังไม่สามารถสตรีมหนังจากผู้ให้บริการอย่าง Netflix ได้ เนื่องจากว่าซอฟต์แวร์ Chromecast ฝั่งคอนฟิก DNS Server เป็นไอพีแอดเดรสเซิร์ฟเวอร์ของกูเกิลเอง (8.8.8.8 และ 8.8.4.4) ดังนั้นเมื่อมีการดูเนื้อหาทราฟฟิกการร้องขอก็จะวิ่งผ่าน DNS server ของ กูเกิลเอง ไม่ใช่เรื่องแปลกอะไรครับ เพราะกูเกิลต้องการเก็บสถิติว่าผู้ใช้สนใจเนื้อหาอะไรมากที่สุด เพื่อจะได้ขายโฆษณา มาดูวิธีหลบหลีก DNS server ของกูเกิลกันครับ

How to Setup Mikrotik to Work With Chromecast
How to Setup Mikrotik to Work With Chromecast

สำหรับเราท์เตอร์ที่ใช้เฟิร์มแวร์ DD-WRT 

วิธีคอนฟิกเราท์เตอร์ Mikrotik ให้ Chromecast สตรีม Netflix ในไทยได้

เริ่มแรกผู้ใช้ต้องสมัครสมาชิกใช้บริการ Unlocator ที่ www.unlocator.com

1. ล็อกอินเข้าเราท์เตอร์ผ่านโปรแกรม WinBox หรือ Web-based

2. DNS Conditional forwarders ไปที่เมนู IP > DHCP Server > แท็บ Networks  (รูปแบบคำสั่ง CLI ข้างล่าง)

เลือก item (hotspot network) จากนั้นกำหนด DNS Server
50.112.186.233 และ 50.112.143.40
คลิกปุ่ม Apply > ปุ่ม OK

3. เซต Firewall ไปที่ IP > Firewall คลิกที่แท็บ Mangle

คลิกปุ่ม + ที่แท็บ General
Chain: prerouting
Dst. Address: 8.8.8.8
Protocol: 17 (udp)
Dst. Prot: 53

คลิกที่แท็บ Action
Action: mark connection
New Connection Mark: 8.8.8.8-forward (กรณีมี wan2 ให้กำหนด mark ของ wan นั้นๆ เช่น WAN2 หรือ Games)
คลิก Passthrough

ใส่ comment ว่า Chromecast หน่อยก็ดีนะครับ จากนั้นสร้างอีก rule โดยการ copy และแก้ไขไอพีแอพเดรสเป็น 8.8.4.4 และกำหนด New Connection Mark: google-dns-forward2

ถัดไปเซต NAT ที่หน้าต่าง Firewall คลิกที่แท็บ NAT
คลิกปุ่ม + ที่แท็บ General
Chain: dstnat
Connection Mark: google-dns-forward
ที่แท็บ Action
Action: accept

DNS Conditional forwarders ด้วย CLI

/ip firewall mangle add chain=prerouting dst-address=8.8.8.8 action=mark-connection new-connection-mark=8.8.8.8-forward protocol=tcp dst-port=53
/ip firewall mangle add chain=prerouting dst-address=8.8.8.8 action=mark-connection new-connection-mark=8.8.8.8-forward protocol=udp dst-port=53
/ip firewall nat add action=dst-nat chain=dstnat connection-mark=8.8.8.8-forward to-addresses=50.112.186.233
/ip firewall mangle add chain=prerouting dst-address=8.8.4.4 action=mark-connection new-connection-mark=8.8.4.4-forward protocol=tcp dst-port=53
/ip firewall mangle add chain=prerouting dst-address=8.8.4.4 action=mark-connection new-connection-mark=8.8.4.4-forward protocol=udp dst-port=53
/ip firewall nat add action=dst-nat chain=dstnat connection-mark=8.8.4.4-forward to-addresses=50.112.143.40

Note: กำหนด rule ให้อยู่บนสุดหรือก่อน masquerade ของ hotspot network

การกำหนด Unlocator DNS setting โดยให้ CLI

/ip dns set allow-remote-requests=yes cache-max-ttl=1w cache-size=2048KiB max-udp-packet-size=512 servers=50.112.186.233,50.112.143.40

4. รีสตาร์ทเราท์เตอร์

ไปที่เมนู System > Reboot

หรือที่เครื่องไคล์เอ็นต์ทำการ repair network

5. รีสตาร์ท Chromecast (ปิด/เปิด) หรือสั่งรีสตาร์ทผ่านแอพ Chromecast จากสมาร์ทโฟน

6. ตรวจสอบสถานะ

//unlocator.com/account/login/index

7. เปิดเบราว์เซอร์ Google Chromecast ล็อกอิน netflix.com
เล่นวิดีโอแล้วกดปุ่ม cast เพื่อสตรีมบน Chromecast

Tip: Monitor ทราฟฟิกด้วยเครื่องมือ Torch เลือกอินเทอร์เฟสที่เป็น hotspot และ filter Src. Address เป็นไอพีแอดเดรสของ Chromecast

Note: หรืออีกวิธีก็คือการ root อุปกรณ์ซ่ะเลย  XDA จัดไว้ให้แล้วครับ

เท่านี้ก็สามารถชมหนังจาก Netflix ในไทยไ้ด้แล้วครับ :-