วันพฤหัสบดีที่ 17 กุมภาพันธ์ พ.ศ. 2554

ทำไม Radius Client จึงส่งค่า NAS-IP-Address เป็น 127.0.0.1 ตลอด

ผมเพิ่งทำการติดตั้ง Linux Gateway ตัวใหม่ครับ แล้วก็มีการติดตั้ง PPTPd สำหรับให้บริการ VPN กับพนักงานโดยการตรวจสอบสิทธิจาก Radius Server จาก Server อีกเครื่องหนึ่ง โดยผมต้องการให้ตัว Radius Server ทำหน้าที่ในการแจก IP Address ด้วย ซึ่งก็ไม่มีปัญหาอะไรครับ สามารถแจก IP ให้กับ Client ได้แต่ผมลองแค่หนึ่งตัวก่อน แต่พอไปดูในฐานข้อมูล เอ... ทำไมค่ NAS-IP-Address ที่ Radius Client ส่งมาเป็น 127.0.0.1 ล่ะ ถ้าอย่างนี้ต้องมีปัญหาแน่ถ้ามีการใช้งานหลายๆ Client เพราะว่าตัว Radius Server ใช้ NAS-IP-Address และ NAS-Port เป็น Key ในการตรวจสอบ IP

อย่างนี้ต้องแก้ไขครับ หรือว่ารุ่นของ Radius Client มันมีปัญหา ลองหาค่า parameter ต่างๆดูก็ไม่มีปัญหา แต่รู้ค่าค่า NAS-IP-Address นี้มันจะถูกกำหนดโดย Radius Client หรือว่ามันจะคำนวณผิด เลยเข้าไปดู code ครับก็เห็นว่ามันมีการใช้ชื่อเครื่องในการหา IP Address เพื่อมากำหนดค่า NAS-IP-Address เลยลอง ping คือ ping โดยใช้ชื่อดู ก็ปรากฏว่าใช่เลยครับ มัน ping 127.0.0.1 ก็เลยไปเจอว่าใน hosts ไฟล์กำหนด ชื่อไว้ใน 127.0.0.1 สมมุตว่าเครื่องชื่อ gateway12

ping gateway12

มันจะ ping 127.0.0.1 ครับ
ทีนี้ก็ต้องมาหาแล้วครับว่ามันมีปัญหายังไง ปกติเรากำหนดให้มีการหา IP  (Resolve IP Address) จาก hosts และ DNS ตามลำดับ ก็เลยดูในไฟล์ hosts ก่อนก็เจอเลยครับ มันมีชื่อ gateway12 อยู่กับ 127.0.0.1 จริงๆ

127.0.0.1      localhost localhost.localdomain gateway12

ก็เลยต้องแก้เป็น

127.0.0.1      localhost localhost.localdomain
10.1.0.12      gateway12

แล้วก็ apply มันครับ เท่านี้ก็เรียบร้อยครับ Radius Client ก็สามารถส่งค่า NAS-IP-Address ได้ถูกต้องแล้ว

ไม่มีความคิดเห็น:

แสดงความคิดเห็น