|  | 9.76 การติดตั้ง Radius : เพื่อทำเครื่อง Radius server รับบริการ Connect Internet ทางโทรศัพท์ผ่าน External modem
 
 
โปรแกรมที่ใช้ install คือ radius-1.16.tar.GZ 27804 Byte
ขั้นตอนการลงโปรแกรม
su
tar xvfz radius-1.16.tar.GZ
cd radius-1.16
cd src
make
จะเกิด error ว่า
radiusd.o: In function `unix_pass':
radiusd.o(.text+0x1c77): undefined reference to `crypt'
collect2: ld returned 1 exit status
make: *** [radiusd] Error 1
จะพบว่า make ไม่ผ่านให้
ให้แก้แฟ้ม Makefile ด้วยคำสั่ง pico Makefile
แล้วแก้บรรทัดหนึ่งใน Makefile 
จาก LIBS=
เป็น LIBS= -lcrypt
make
cd ../raddb
pico /etc/services
radius          1645/udp        radiusd
radacct         1646/udp 
#radius         1812/tcp      # Radius
#radius         1812/udp      # Radius
#radacct        1813/tcp      # Radius Accounting
#radacct        1813/udp      # Radius Accounting
umask 22
mkdir /usr/adm
mkdir /etc/raddb /usr/adm/radacct
chmod 700 /etc/raddb /usr/adm/radacct
cp * /etc/raddb
cp ../src/radiusd /etc
cd /etc/raddb
cp clients.example clients
cp users.example users
เพิ่มคำว่า /etc/radiusd ในแฟ้ม /etc/rc.d/rc.local
เพื่อให้ทุกครั้งที่เปิดเครื่องจะสั่ง run radiusd ขึ้นมา
ให้แก้แฟ้ม users โดยลบ user อื่นออกให้หมด เพื่อต่อไปจะถาม user จาก /etc/passwd
ให้แฟ้ม /etc/raddb/users เหลือเฉพาะส่วนข้างล่างนี้
ให้แก้แฟ้ม /etc/raddb/users ให้เป็นไปดังข้างล่างนี้จะรับระบบโทรศัพท์ได้
DEFAULT Password = "UNIX"
        User-Service-Type = Login-User,
        Framed-Protocol = PPP,
        Framed-Netmask = 255.255.255.0,
        Framed-Routing = Broadcast-Listen,
        Framed-Compression = Van-Jacobsen-TCP-IP,
        Framed-MTU = 1500
แฟ้ม /etc/raddb/users สามารถเขียนได้อีกรูปแบบเพื่อบริการ Modem 
ที่เข้ามาสอบถาม user แต่ตัว modem ไม่ได้ติดอยู่กับตัวเครื่อง
yonokadmin	Password = "123"
		User-Service-Type = Shell-User,
		Login-Service = Telnet,
yonok		Password = "456"
		User-Service-Type = Shell-User,
		Login-Service = Telnet,
student1        Password = "789"
                User-Service-Type = Login-User,
                Framed-Protocol = PPP,
                Framed-Address = 255.255.255.254,
                Framed-Netmask = 255.255.255.255,
                Framed-Routing = None,
                Framed-Filter-Id = "std.ppp.in",
                Framed-MTU = 1500,
student2        Password = "17890"
                User-Service-Type = Login-User,
                Framed-Protocol = PPP,
                Framed-Address = 255.255.255.254,
                Framed-Netmask = 255.255.255.255,
                Framed-Routing = None,
                Framed-Filter-Id = "std.ppp.in",
                Framed-MTU = 1500		
เมื่อต้องการเก็บข้อมูลการ login เข้ามาใช้บริการ
ต้องสร้าง user ใหม่ด้วย useradd radius จะสร้างห้อง /home/radius ขึ้นมาให้ ดังข้างล่างนี้ก่อน
su
useradd radius
cd /home/radius
mkdir backup
สร้าง runacct เก็บในห้อง /home/radius
เขียน shell script สำหรับเก็บผลการ login ผ่านเข้ามาในระบบ
เมื่อเขียนเสร็จแล้วให้ใช้คำสั่ง chmod 700 เพื่อให้เป็นโปรแกรมประมวลผล
(ตอนแรกผมก็ไม่รู้ว่า detail นั้นอยู่ที่ไหน เจอเพราะใช้ find / -name detail ครับ)
#!/bin/sh
cp /usr/adm/radacct/door.yonok.ac.th/detail /home/radius
/bin/date +%d > /tmp/date
/bin/date +%m > /tmp/month
/bin/date +%y > /tmp/year
DATE=`cat /tmp/date`
MONTH=`cat /tmp/month`
YEAR=`cat /tmp/year`
TODAY="$DATE$MONTH$YEAR"
cd /home/radius
cp detail backup
mv detail $TODAY
cd /tmp
rm date month year
rm /usr/adm/radacct/door.yonok.ac.th/detail
ห้อง /etc/cron.daily
ให้เพิ่มแฟ้มอีก 1 แฟ้มในห้อง /etc/cron.daily โดยมีขั้นตอนดังนี้
su
pico radiusprocess
พิมพ์คำนี้ลงไป /home/radius/runacct แล้ว ctrl-x ออกมาเลย
chmod 755 radiusprocess
สรุปในเรื่องของ Radius ดังนี้
 
/etc/radiusd
/sbin/ifconfig eth0:1 202.29.78.15แฟ้ม /etc/rc.d/rc.loal อาจต้องเพิ่มไป 2 บรรทัด
เพราะแฟ้มนี้ทำหน้าที่เสมือน autoexec.bat ของ dos และคำสั่ง 2 บรรทัดนี้อาจไม่จำเป็นก็ได้ แล้วแต่กรณี ห้อง /home/radius มีแฟ้มชื่อ runacct ซึ่งเป็น script สำหรับเก็บข้อมูลการ login ไว้ทำสถิติ
ห้อง /etc/raddb มีแฟ้มชื่อ users ซึ่งเก็บ account สำหรับ connect เข้ามาทั้งหมด
ห้อง /etc/cron.daily มีแฟ้มชื่อ radiusprocess เพื่อสั่งให้ประมวลผลแฟ้ม /home/radius/runacct ทุกวัน
แก้แฟ้ม /etc/raddb/clients ให้มีคำว่า 202.29.78.254 YournameRadiuS แทนคำว่า postmaster1 testing123 
จึงจะรับ connection จากชุด Router Modem แต่ถ้าเป็นการ Connect Modem ผ่าน Com port แฟ้มนี้ไม่แก้อะไรก็ใช้ได้
สำหรับ crond ต้องเปิดด้วย ใช้ ntsysv ดูว่า crond ถูกปิดหรือไม่ ถ้าไม่เปิดก็เก็บประวัติการเข้าใช้ไม่ได้
 
 |