วันนี้จะเล่าถึงการแก้ปัญหาที่ PPPd ซึ่งใช้งานร่วมกับ PPTPd สำหรับให้บริการ VPN ไม่มีการส่ง Accounting Interim Packet ให้กับตัว Radius ทั้งที่เรามีการกำหนดให้ส่งใน Radius Server แล้วซึ่งปกติแล้ว Accounting Packet จะมีการส่ง Start และ Stop ในตอนที่การเชื่อมต่อเริ่มต้นและสิ้นสุดอยู่แล้ว แต่ผมต้องการให้ตัว PPPd ส่ง Accounting Packet ระหว่างการเชื่อมต่อเป็นระยะด้วยเพื่อทำการ Update ข้อมูลของ IP POOL ที่กำหนดให้ผู้ใช้ แต่ลองดูจาก Packet ที่ Radius Server แล้วไม่มีการส่ง Interim Packet มาเลย
จากการตรวจสอบพบว่าไฟล์ dictionary ใน /etc/radiusclient/ ไม่มีข้อมูลของ Acct-Interim-Interval ครับทำให้ตัว PPPd ไม่มีการดำเนินการหลังจากที่ได้รับค่ามาจาก Radius Server เราก็ลองเพิ่มเข้าไปดังนี้ครับ
ATTRIBUTE Acct-Interim-Interval 85 integer
หลังจากนั้นก็ลองทดสอบกับการเชื่อมต่อหลังจากการแก้ไฟล์ configuration นี้ก็จะมีการส่ง Packet มาดังนี้ครับ
rad_recv: Accounting-Request packet from host 172.27.1.24:33665, id=73, length=142
Acct-Session-Id = "4EF7EDC5459300"
User-Name = "cnarong"
Acct-Status-Type = Interim-Update
Service-Type = Framed-User
Framed-Protocol = PPP
Acct-Authentic = RADIUS
Acct-Session-Time = 2400
Acct-Output-Octets = 1484479
Acct-Input-Octets = 1228494
Acct-Output-Packets = 2019
Acct-Input-Packets = 1919
Calling-Station-Id = "1.72"
NAS-Port-Type = Async
Framed-IP-Address = 172.27.190.18
NAS-Identifier = "172.27.1.24"
NAS-Port = 0
Acct-Delay-Time = 0
ลองดูนะครับ สำหรับ OS ของผมตัวนี้คือ Fedora Core 6 นะครับ ใช้มานานมากแล้ว Hardware เก่าครับเลยไม่ upgrade แต่อย่างตัวใหม่ๆ คือ CentOS 5.7 ลง radiusclient-ng ตัวไฟล์ dictionary จะอยู่ที่ /usr/share/radiusclient-ng/ ครับ
สวัสดีครับ ยินดีต้อนรับทุกท่านเข้าสู่ Low Cost IT ซึ่งผมจะพยายามนำประสบการณ์และความคิดเห็นมา Share ให้กับทุกท่านโดยจะเน้นที่ประเด็น Low Cost IT นั่นก็คือกลุ่ม Open Source และ Free Software รวมทั้งประเด็นทั่วๆ ไปทางด้านเทคโนโลยีสารสนเทศครับ
วันจันทร์ที่ 26 ธันวาคม พ.ศ. 2554
วันจันทร์ที่ 14 มีนาคม พ.ศ. 2554
แก้ปัญหา Nokia E51 ไม่สามารถใช้ VoIP ได้หลังจาก Upgrade
ปกติผมจะมีการ upgrade โปรแกรมบน Nokia E51 ตลอดที่มีการออกรุ่นใหม่ๆ โปรแกรมที่ว่านี่คือ Symbian นะครับซึ่งเป็น OS บน Nokia E51 ทีนี้ล่าสุดที่เจอก็คือหลังจาก Upgrade มาแล้วมันไม่สามารถใช้งาน VoIP ได้ครับ ปกติที่ Office ผมจะใช้โทรศัพท์มือถือเป็นเครื่องสำหรับ VoIP แทนหัวเครื่องของบริษัทด้วย เนื่องจากสะดวกเวาลาเดินไปไหนมาไหนใน Office ก็ยังไม่พลาดการรับสายไงครับ
ทีนี้ก็เซ็งเลยซิครับอุตส่าห์ Upgrade ทั้งทีแต่เจ๊งซะงั้น ลองให้ VoIP ลอง Register กับตัว Server มันจะฟ้องว่า No WLAN coverage ประมาณว่าไม่มี WLAN ให้ใช้งานนั่นหละครับ พยายามลบนั่นลบนี่แล้วก็ยังไม่ได้สุดท้ายก็ต้องไม้ตายครับ คือ Format เครื่องแล้วลงโปรแกรมประกอบต่างๆใหม่
หมายเหตุ ใช้ *#0000# ในการตรวจสอบรุ่นของ Symbian OS ครับ
ทีนี้ก็เซ็งเลยซิครับอุตส่าห์ Upgrade ทั้งทีแต่เจ๊งซะงั้น ลองให้ VoIP ลอง Register กับตัว Server มันจะฟ้องว่า No WLAN coverage ประมาณว่าไม่มี WLAN ให้ใช้งานนั่นหละครับ พยายามลบนั่นลบนี่แล้วก็ยังไม่ได้สุดท้ายก็ต้องไม้ตายครับ คือ Format เครื่องแล้วลงโปรแกรมประกอบต่างๆใหม่
- กด *#7370# เพื่อทำการ Format ตัว Memory ของเครื่องครับ Card ไม่เกี่ยว
- โทรศัพท์จะให้ใส่ Lock Code ปกติ คือ 12345 ครับ อาจจะแตกต่างกันบ้าง
- โทรศัพท์จะทำการ Re-boot ใหม่
- ต้องตั้งค่าต่างๆ ใหม่หมด รวมทั้ง Access Point และ SIP ครับ
หมายเหตุ ใช้ *#0000# ในการตรวจสอบรุ่นของ Symbian OS ครับ
ป้ายกำกับ:
ฟอร์แมต Nokai E51
วันเสาร์ที่ 19 กุมภาพันธ์ พ.ศ. 2554
Yii - PHP framework ที่ผมเลือก
หลังจากที่ใช้งานและพัฒนา extensions สำหรับ Joomla! มาประมาณ 3 ปีจาก Joomla! 1.0 มาเป็น Joomla! 1.6 และตอนนี้ก็ได้เขียน extension มามากมาย รวมทั้งเข้าร่วมทีม Joomla! Bug Squad และทีมรวมทั้ง community ใน Joomla! ก็เริ่มถึงการแยกออกมาพัฒนา Joomla! Framework ที่ไม่ได้เน้นเฉพาะ CMS ก็เลยลองมาดู PHP Framework ที่มีอยู่ในปัจจับัน โอ้ ทำไมมันมีเยอะอย่างนี้ จะเลือกอย่างไรดีละนี่เรา
ถึงตอนนี้ก็ได้มีการศึกษาและพัฒนามาประมาณปีกว่าๆ ก็เริ่มจะติดใจแล้วล่ะครับ แต่อย่างว่า Joomla! ก็เหมาะกับงานบางแบบที่ต้องการความรวดเร็วและไม่ต้องรองรับการใช้งานหนักๆมาก แต่การใช้ Framework อย่าง Yii ก็เหมาะกับการพัฒนา Application ใหญ่ๆ หรือรองรับการขยายในอนาคตครับ สำหรับในตอนต่อไปจะเอารายละเอียดของ Yii มาว่ากันครับ แต่ถ้าใครเป็นแฟนของ Joomla! ก็ดูที่นี่ครับ http://www.joomlant.com/ หรือ http://www.joomlant.org/ (English) ครับ
- ตัวเลือกแรกเอาเฉพาะที่รองรับ PHP5 ก็ตัดไปได้หลายตัวเหมือนกัน สาเหตุที่ใช้เป็นตัวเลือกเนื่องจากว่า PHP4 จะมี OOP ที่เด็กๆมาก ดังนั้น Framework ที่รองรับ PHP4 ก็จะต้อง maintain code ที่ทำให้ PHP4 สามารถใช้งานได้แบบ OOP ที่ดี อันนี้ก็เป็นตัวถ่วงตัวนึงครับ
- มีสมาชิกที่ Active เยอะๆ อันนี้ง่ายๆ ครับถ้าสมาชิกมากๆ ก็อาจจะดี และขอความช่วยเหลือได้ง่าย
- มี Document ที่ดี เหมือนกันครับก็เพื่อให้สามารถศึกษาได้เร็วๆ หน่อย
- รองรับ Features ที่จำเป็นสำหรับการทำ Web App 2.0 เช่น MVC, Active Record, User Athentication, Input cleaning and form validation, Multiple Databse support และการใช้งานสำหรับหลายๆ ภาษา รวมทั้งการมี Tools ในการพัฒนาด้วย
ถึงตอนนี้ก็ได้มีการศึกษาและพัฒนามาประมาณปีกว่าๆ ก็เริ่มจะติดใจแล้วล่ะครับ แต่อย่างว่า Joomla! ก็เหมาะกับงานบางแบบที่ต้องการความรวดเร็วและไม่ต้องรองรับการใช้งานหนักๆมาก แต่การใช้ Framework อย่าง Yii ก็เหมาะกับการพัฒนา Application ใหญ่ๆ หรือรองรับการขยายในอนาคตครับ สำหรับในตอนต่อไปจะเอารายละเอียดของ Yii มาว่ากันครับ แต่ถ้าใครเป็นแฟนของ Joomla! ก็ดูที่นี่ครับ http://www.joomlant.com/ หรือ http://www.joomlant.org/ (English) ครับ
วันพฤหัสบดีที่ 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 ได้ถูกต้องแล้ว
อย่างนี้ต้องแก้ไขครับ หรือว่ารุ่นของ Radius Client มันมีปัญหา ลองหาค่า parameter ต่างๆดูก็ไม่มีปัญหา แต่รู้ค่าค่า NAS-IP-Address นี้มันจะถูกกำหนดโดย Radius Client หรือว่ามันจะคำนวณผิด เลยเข้าไปดู code ครับก็เห็นว่ามันมีการใช้ชื่อเครื่องในการหา IP Address เพื่อมากำหนดค่า NAS-IP-Address เลยลอง ping คือ ping
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 ได้ถูกต้องแล้ว
สมัครสมาชิก:
ความคิดเห็น (Atom)