Sep 26, 2010

solve ปัญหา connect vpn แล้วเข้าเว็บภายในบางตัวไม่ได้

สองวันก่อนได้รับแจ้งจาก user (vip) ใน office ว่า เวลาที่ใช้งาน internet จากที่บ้านแล้ว connect vpn มาที่ office ไม่สามารถเข้าเว็บภายใน (ย้ำ ภายใน) บางอันได้ พร้อมกับส่ง error มาให้ดูด้วย เป็น screen capture หน้า browser ซึ่งถ้าดูจาก error ก็เข้าใจไปเองในตอนนั้นว่า user (poweruser) ท่านนี้คงไป set proxy ที่ browser มั้ง ก็เลยส่งผลให้เข้า private web ไม่ได้

ก็เลยรบกวนให้ power user ท่านนั้น troubleshoot เบื้องต้น ตาม step  ข้างล่างนี้
  1. ลองใช้ browser อื่นๆ เช่น firefox, chrome ก็เป็นเหมือนกันหมด
  2. ipconfig ดูแล้ว พบว่าได้ไอพีของ vpn network ไปแล้ว ontop ip ของ isp อีกชั้นหนึ่ง
  3. nslookup privateweb ดู ก็พบสิ่งผิดปกติคือ จะได้ไอพีที่เป็น public ip มา 1-2 ไอพีเดิมๆ มาเสมอ ทั้งๆ ที่ควรจะได้เป็น private ip
  4. ISP: True Hispeed Internet
  5. OS: WindowsXP
จากนั้นผมก็เลยลอง ด้วยตนเองที่ office แล้วก็พบว่า
  1. สาเหตุเกิดจาก browser ทำ domain resolving โดยวิ่งไปที่ DNS ของ ISP แทนที่จะิวิ่งไปหาคำตอบจาก DNS ของ VPN network  
  2. True มีการเปลี่ยน configuration ของ DNS ใหม่ เฉพาะ hispeed internet (as of now) ว่า ถ้า lookup โดเมนใหนก็แล้วแต่ แล้วไม่ได้คำตอบจากเจ้าของ domain ทาง true จะถือวิสาสะใส่คำตอบที่เป็น ip web server ของ true ให้เอง เพื่อที่จะได้แสดงหน้าของ true เอง
งานเข้าเลยครับ เพราะเราจะไปบังคับให้ true แก้ config dns คงไม่ได้ หลายเจ้าก็ทำแบบนี้เช่นป้านิภามหาภัย ก็เลยลองค้นดู ก็พบว่าอาการตามข้อ 1 เป็น bug ของ WindowsXp  ครับพี่น้อง โชคดีที่เค้ามี workaround ให้ โดยให้แก้ registry (ทำตามใน KB ได้เลยครับ ผมลองแล้ว) แต่โชคร้ายคือเค้าไม่คิดจะแก้ปัญหาถาวร คือใน servicepack 2, 3 ของ XP ก็จะไม่มีการแก้ไขเรื่องนี้
  
อย่างไรก็ตาม ขอประนามเป็นการส่วนตัวกับ ISP ใดก็แล้วแต่ ที่แก้ไข DNS setting แบบนี้ เพราะ
  1. ถ้าผมจะเข้าเว็บแล้วเว็บนั้นไม่มีอยู่จริง ก็ปล่อยให้ browser จัดการไป ไม่ต้องมายุ่งวุ่นวาย ไม่ต้องมา show เว็บ ซึ่งไม่รู้ว่ามีวัตถุประสงค์อย่างอื่น เ่ช่น ขาย ads หรือป่าว
  2. application ใน internet มันไม่ได้มีแค่ web ถ้า nslookup แล้วไม่มี ไม่เจอ ก็ควรปล่อยไปตามกลไกปกติ ไม่งั้นงงกันตาย
  3. ถ้าไอ้เว็บนั้นของ true หรือ isp อื่นใดที่คิดจะทำเช่นนี้ เกิดทะลึ่งมี security vulnerability ขึ้นมา นั่นหมายความว่า single point of infected
พอแค่นี้ก่อนครับ โมโห ทำให้เสียเวลาไปสองสามชม. แถมต้องมาตามแก้ vpn manual อีก ขอย้ำว่า ณ วันนี้ อาการนี้จะเกิดขึ้นกับ WindowsXP + True Hispeed Internet เท่านั้น  แต่ในอนาคตไม่แน่ อาจจะเจออีกหลาย ISP ที่คิดจะเลียนแบบ แน่นอน
 

1 comment:

pound pound said...

ใช้ vpn ของอะไรครับ ลองทำ Split Tunnel ดูยังครับน่าจะช่วยแก้ปัญหานี้ได้