25 ธ.ค. 2553

Install Coova 1.2.5 on UBNT 10.10

Download Coova chilli and Install it
cd /tmp
wget http://ap.coova.org/chilli/coova-chilli_1.2.5_i386.deb
dpkg -i coova-chilli_1.2.5_i386.deb
cp /etc/chilli/defaults /etc/chilli/config
mkdir /var/www/hotspot
cd /var/www/hotspot
cp /etc/chilli/www/* /var/www/hotspot
sed -i 's/1.0.0.1/192.168.100.1/g' /etc/chilli/www/ChilliLibrary.js
sed -i 's/1.0.0.1/192.168.100.1/g' /var/www/hotspot/ChilliLibrary.js
nano -w /etc/default/chilli


Being confused, why coova 1.2.5 cannot be logout by typing "logout" in browser while coova 1.2.4 can do.Then add this line in /etc/hosts
nano /etc/hosts
1.0.0.0 logout

Cpu consumed high all the time, Coova 1.2.4

Cpu consumed high all the time,after I installed Coova 1.2.4 on UBNT 10.10



The error have already found and I thought the coova 1.2.5 may be already fixed this bug. http://coova.org/node/4394

Installed The CoovaChilli 1.2.5 on my UBNT 10.10 may be solves this problem.

17 ธ.ค. 2553

ติดตั้ง Coova 1.2.4 บน Ubuntu 10.10

ได้ลองใช้ 10.04 แล้วมีปัญหาเรื่อง RAM จึงเปลี่ยนมาเป็น 10.10 แล้วไม่พบปัญหาเรื่องนี้ ต่อไปจึงเป็นการจดบันทึกการติดตั้ง Freeradius 2.1.9,CoovaChilli 1.2.4 ซึ่งแตกต่างจากติดตั้งบน 10.04 นิดหน่อย


nano /etc/network/interfaces

auto eth0
iface eth0 inet static
address 10.10.10.3
netmask 255.255.255.240
gateway 10.10.10.1
auto eth1


nano /etc/sysctl.conf
net.ip4.ip_forward=1 ---Uncomment

apt-get install freeradius freeradius-mysql


ผมเอา ตัว backup มาใช้แล้วใช้งานไม่ได้ เพราะtable ที่ชื่อว่า nas เป็นสาเหตุ ผมจึง Drop tables ทิ้งแล้ว import nas.sql เข้าไปใหม่
mysqladmin -p create radius
mysql -u root -p radius < /home/XXXXX/backup.mysql
mysql -u root -p;
use radius;
drop tables nas;
mysql -u root -p radius


cp /etc/freeradius/sql.conf /etc/freeradius/sql.conf.bak
nano -w /etc/freeradius/sql.conf

server = "localhost"
login = "radius"
password = "xxxxxxxx"
แล้วเอา # หน้า readclient =yes ออก


cp /etc/freeradius/radiusd.conf /etc/freeradius/radiusd.conf.bak
nano /etc/freeradius/radiusd.conf
modules {
….
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf


cp /etc/freeradius/clients.conf /etc/freeradius/clients.conf-old
nano -w /etc/freeradius/clients.conf
client 127.0.0.1 {
secret = xxxxxxxx
}

cp /etc/freeradius/sites-available/default /etc/freeradius/sites-available/default.bak
nano -w /etc/freeradius/sites-available/default
ให้กด ctrl+w หาคำว่า authorize { เจอแล้วให้เลื่อนลงมาใส่ # ที่ file และเอา # ที่หน้า sql
authorize {
#file เติม # เข้าไป
sql เอา # ออก
daily เอา # ออก และเพิ่ม 3 บรรทัดข้างล่างต่อท้าย
noresetcounter
dailycounter
monthlycounter
}

ต่อมาก็หาคำว่า accounting { แล้วเอา # หน้า sql ออก
accounting {
sradutmp เอา # ออก เพื่อสามารถใช้คำสั่ง radwho
sql # uncomment
}

ต่อมาก็หาคำว่า session { แล้วเอา # หน้า sql ออก
session {
sql #uncomment
}

chown freerad:freerad /var/log/freeradius
chown freerad:freerad /var/log/freeradius/sradutmp
chmod 777 /var/log/freeradius
nano /etc/freeradius/modules/detail
detailfile = ${radacctdir}/%{Client-IP-Address}/details แก้ไขอันเดิมให้เป็นแบบนี้ิ

cd /var/log/freeradius
mkdir radacct
mkdir radacct/127.0.0.1
chown freerad:freerad /var/log/freeradius/radacct/
chown freerad:freerad /var/log/freeradius/radacct/127.0.0.1
/etc/init.d/freeradius restart
radtest guest guest 127.0.0.1 0 xxxxxxxx --ต้องไปเพิ่ม guest account นี้ก่อนใน Database
freeradius -X --เช็คว่ามี Error ไหม


aptitude --assume-yes install dpkg-dev debhelper libssl-dev
cd /tmp
wget -c http://ap.coova.org/chilli/coova-chilli-1.2.4.tar.gz
tar xzf coova-chilli*.tar.gz
cd coova-chilli*
dpkg-buildpackage -rfakeroot
cd ..
dpkg -i coova-chilli_*_i386.deb
cp /etc/chilli/defaults /etc/chilli/config
mkdir /var/www/hotspot
cd /var/www/hotspot
cp /etc/chilli/www/* /var/www/hotspot
sed -i 's/1.0.0.1/192.168.0.1/g' /etc/chilli/www/ChilliLibrary.js
sed -i 's/1.0.0.1/192.168.0.1/g' /var/www/hotspot/ChilliLibrary.js
nano -w /etc/default/chilli
START_CHILLI=1



nano /etc/chilli/config
HS_LANIF=eth1 # Subscriber Interface for client devices
HS_NETWORK=192.168.0.0 # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 # HotSpot Network Netmask
HS_UAMLISTEN=192.168.0.1 # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 # HotSpot Port (on subscriber network)

HS_NASID=nas01
HS_UAMSECRET=uamsecret
HS_RADIUS=127.0.0.1
HS_RADIUS2=127.0.0.1
HS_RADSECRET=xxxxxxxx
HS_UAMALLOW=www.google.com,192.168.0.0/24

HS_UAMSERVER=192.168.0.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/uam/
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
HS_UAMSERVICE=https://192.168.0.1/cgi-bin/hotspotlogin.cgi

HS_ANYIP=on # Allow any IP address on subscriber LAN
#
HS_MACAUTH=on # To turn on MAC Authentication
HS_MACPASSWD=XXXXXX #รหัสผ่านต้องเหมือนกับทีแก้ไขในไพล์/etc/chilli/functions

nano /etc/chilli/up.sh
เติมไปที่ท้ายของไพล์
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE

iptables -P INPUT DROP
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -I INPUT -p icmp --icmp-type 8 -s 0/0 -d 192.168.0.1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -p icmp --icmp-type 0 -s 192.168.0.1 -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#SSH Accept from tun0
iptables -I INPUT -i tun0 -p tcp -m tcp --dport 22222 --dst 192.168.0.1 -j ACCEPT

iptables -I INPUT -i eth0 -s 10.10.10.3 -p tcp -m tcp --dport 22222 --dst 10.10.10.4 -j ACCEPT

#SNMP
iptables -I INPUT -p udp -s 0/0 --sport 1024:65535 -d 192.168.0.1 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT -p udp -i tun0 -d 192.168.0.1 --dport 161 -j ACCEPT

#NTP update
iptables -I INPUT -p udp -i tun0 -d 192.168.0.1 --dport 123 -j ACCEPT

iptables -t nat -I PREROUTING -i tun0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -I INPUT -i tun0 -p tcp -m tcp --dport 3128 --syn -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 3128 -j DROP
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 8080 -j DROP
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 2121 -j DROP

iptables -t nat -I POSROUTING -o eth0 -j LOG
#squid Log
iptables -t nat -N logging
iptables -t nat -A PREROUTING -j logging

#iptables -t nat -A POSTROUTING -j logging
iptables -A INPUT -j LOG --log-level info --log-prefix "INPUT "
#iptables -A OUTPUT -j LOG --log-level info --log-prefix "OUTPUT "
iptables -A FORWARD -j LOG --log-level info --log-prefix "FORWARD "
# HTTP:
iptables -t nat -A logging -p tcp --dport 80 -j LOG --log-prefix "HTTP: " \
--log-level info
# HTTPS:
iptables -t nat -A logging -p tcp --dport 443 -j LOG --log-prefix "HTTPS: " \
--log-level info
# SMTP:
iptables -t nat -A logging -p tcp --dport 25 -j LOG --log-prefix "SMTP: " \
--log-level info
# FTP:
iptables -t nat -A logging -p tcp --dport 21 -j LOG --log-prefix "FTP: " \
--log-level info
# IMAP:
iptables -t nat -A logging -p tcp --dport 143 -j LOG --log-prefix "IMAP: " \
--log-level info
# POP3:
iptables -t nat -A logging -p tcp --dport 110 -j LOG --log-prefix "POP3: " \
--log-level info
# MSN:
iptables -t nat -A logging -p tcp --dport 1863 -j LOG --log-prefix "MSN: " \
--log-level info
# JABBER:
iptables -t nat -A logging -p tcp --dport 5222 -j LOG --log-prefix "JABBER: " \
--log-level info

JABBERS
iptables -t nat -A logging -p tcp --dport 5223 -j LOG --log-prefix "JABBERS: " \
--log-level info
# ICQ/AIM
iptables -t nat -A logging -p tcp --dport 5190 -j LOG --log-prefix "ICQ/AIM: " \
--log-level info
# Yahoo
iptables -t nat -A logging -p tcp --dport 5050 -j LOG --log-prefix "YAHOO: " \
--log-level info
# IRC
iptables -t nat -A logging -p tcp --dport 6667 -j LOG --log-prefix "IRC: " \
--log-level info
# Gadu-Gadu
iptables -t nat -A logging -p tcp --dport 8074 -j LOG --log-prefix "GADU-GADU: " \
--log-level info

iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 4990 --syn -j ACCEPT

iptables -I INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 53 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 67:68 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 3306 --syn -j ACCEPT

iptables -A INPUT -i tun0 -j DROP

update-rc.d chilli defaults


apt-get install libapache2-mod-auth-mysql
apt-get install ssl-cert
mkdir /etc/apache2/ssl
hostname -f #ดูชื่อเครื่อง
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
a2enmod ssl
/etc/init.d/apache2 force-reload
nano /etc/hosts
127.0.0.1 localhost.local localhost
127.0.1.1 Authen.local Authen
192.168.0.1 Authen.local Authen

nano -w /etc/apache2/sites-available/hotspot
NameVirtualHost 192.168.0.1:443
<.VirtualHost 192.168.0.1:443>
ServerAdmin webmaster@domain.org
DocumentRoot "/var/www/hotspot"
ServerName "192.168.0.1"
<.Directory "/var/www/hotspot/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
<./Directory>

Alias "/dialupadmin/" "/usr/share/freeradius-dialupadmin/htdocs/"
<.Directory "/usr/share/freeradius-dialupadmin/htdocs/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
<./Directory>

<.Directory "/var/www/hotspot/cgi-bin/">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
<./Directory>

ErrorLog /var/log/apache2/hotspot-error.log

LogLevel warn

CustomLog /var/log/apache2/hotspot-access.log combined

ServerSignature On
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
<./VirtualHost>

a2ensite hotspot
nano -w /etc/apache2/ports.conf
แก้ไขให้เหลือตามข้างล่างเป็นพอ
Listen 443
Listen 80

nano -w /etc/apache2/apache2.conf
ServerName 192.168.0.1

nano -w /etc/apache2/sites-available/default
NameVirtualHost *:80

cd /var/www/hotspot/
wget http://www.truesoft.co.th/wifi/uam.tgz
tar xvf uam.tgz


cd /tmp
wget http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius-0.9-8/daloradius-0.9-8.tar.gz
tar zxvf daloradius-0.9-8.tar.gz


mv daloradius-0.9-8 /var/www
nano /var/www/daloradius-0.9-8/library/daloradius.conf.php
chown www-data:www-data /var/www/daloradius-0.9-8
chmod 644 /var/www/daloradius-0.9-8/library/daloradius.conf.php
apt-get install php5-common php5-gd php-pear php-db libapache2-mod-php5
touch /var/log/freeradius/radacct/sql-relay
touch /var/log/freeradius/radutmp
touch /var/log/daloradius.log
nano /etc/apache2/sites-available/default
chown www-data:www-data daloradius.log
แก้DocumentRoot /var/www/daloradiu-0.9-8 และ
DocumentRoot /var/www/daloradius-0.9-8


apt-get install squid
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
nano /etc/squid/squid.conf
#no local caching
maximum_object_size 0 KB
minimum_object_size 0 KB

# specify uncachable requests
acl all src 0.0.0.0/0.0.0.0
no_cache deny all

cache_dir null /null
# http_port 3128 comment

acl chillispot src 192.168.0.0/255.255.255.0
http_port 192.168.0.1:3128 transparent
http_access allow chillispot
บรรทัดล่างสุดเพิ่มข้อความ
visible_hostname administrator-desktop

คำอธิบาย
# http_port 3128 เป็นการยกเลิกการทำงานของโปรแกรมแบบไม่ทำ transparent
visible_hostname ต้องกำหนดชื่อเครื่องให้กับระบบหากไม่ใส่จะทำให้ไมสามารถสตาร์ตเซอร์วิสได้
acl chillispot src เป็นการกำหนดค่าเน็ตเวร์คของเครื่องขายคอมพิวเตอร์ที่จะอนุญาตให้ใช้งานผ่านโปรแกรม squid
http_port x.x.x.x.3128 transparent เป็นการกำหนดให้พอร์ต 3128 เป็น transparent proxy
http_access allow กำหนดค่า access control ให้เน็ตเวร์ควง chillispot สามารถใชงานผ่าน transparent proxy squid ได้

/etc/init.d/squid start สั่งให้โปรแกรม squid ทำงาน
netstat -lnt ตรวจสอบเซอร์วิสของ squid ว่าทำงานหรือไม่

cd /home/benze
mkdir logs
nano /etc/squid/squid.conf

...

nano /etc/logrotate.d/squid

/var/log/squid/access.log {
daily
rotate 1
copytruncate
notifempty
ifempty
missingok

postrotate
#!/bin/sh
LIMIT=90
timeaccess=`date +%Y-%m-%d`
tar -zcvpf /home/benze/logs/$timeaccess-access.tar.gz /var/log/squid/access.log.1
#cp /var/log/squid/access.log.1 /home/benze/logs/$timeaccess-access.log
find /home/benze/logs -maxdepth 1 -type f \( -ctime $LIMIT \) -print \-exec rm {} \; > /dev/null
endscript
}

nano /etc/logrotate.d/iptables

/var/log/messages {
daily
rotate 1
copytruncate
notifempty
ifempty
missingok

postrotate
#!/bin/sh
LIMIT=90
timeaccess=`date +%Y-%m-%d`
tar -zcvpf /home/benze/logs/$timeaccess-messages.tar.gz /var/log/messages.1
#cp /var/log/messages.1 /home/benze/logs/$timeaccess-messages.log
find /home/benze/logs -maxdepth 1 -type f \( -ctime $LIMIT \) -print \-exec rm {} \; > /dev/null
endscript
}

nano /etc/logrotate.d/login

/var/log/freeradius/radacct/127.0.0.1/details {
daily
rotate 1
copytruncate
notifempty
ifempty
missingok

postrotate
#!/bin/sh
LIMIT=90
timeaccess=`date +%Y-%m-%d`

tar -zcvpf /home/benze/logs/$timeaccess-details.tar.gz /var/log/freeradius/radacct/127.0.0.1/details.1
#cp /var/log/freeradius/radacct/127.0.0.1/details.1 /home/benze/logs/$timeaccess-details
find /home/benze/logs -maxdepth 1 -type f \( -ctime $LIMIT \) -print \-exec rm {} \; > /dev/null
endscript
}

touch /var/log/cron.log
/usr/sbin/logrotate -d /etc/logrotate.conf
/usr/sbin/logrotate -f /etc/logrotate.conf


apt-get install ntp
cp /etc/ntp.conf /etc/ntp.conf.bak
nano /etc/ntp.conf

restrict -4 default kod notrap nomodify nopeer noquery
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
driftfile /var/lib/ntp/ntp.drift
server 203.185.69.60 dynamic
server time.navy.mi.th dynamic
server time.nist.gov dynamic
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 127.0.0.1
restrict ::1

driftfile /var/lib/ntp/ntp.drift
broadcastdelay 0.008
keys /etc/ntp/keys

7 ธ.ค. 2553

Log rotate ตามพรบ. 90 วัน

ในเซิฟเวอร์ให้บริการต่างๆนั้น เมื่อมีการให้บริการใดๆ ก็จะมีการเก็บ ข้อมูลการใช้งานไว้ใน Log ไฟล์ ซึ่งหากมีการสะสมของ Logfile ไปเรื่อยๆ โดยไม่มีวิธีการบริหารจัดการที่ดี ก็อาจเป็นสาเหตุที่ทำให้ ดิสก์เต็มจนเซิฟเวอร์หยุดให้บริการได้ ซอฟต์แวร์ให้บริการส่วนใหญ่ รวมไปถึงโพรเซสต่างๆ ในระบบปฏิบัติการ มักจะมีการบริหารจัดการ Log File ที่ดีอยู่แล้ว แต่ก็ไม่ใช่ทั้งหมด ที่ทำได้ดีอย่างนั้น ซึ่งบทความนี้จะขอแนะนำการใช้งาน logrotate ซึ่งเป็นโปรแกรมที่มีอยู่แล้วในระบบ Unix และ Linux ทั่วไป ที่จะช่วยย้าย log file เก่าๆ ไปยังไฟล์ใหม่ และทำการบีบอัดข้อมูลให้ และลบ log ที่เก่ามากๆทิ้งไปโดยอัตโนมัติ

การใช้งาน Log Rotate ทำได้โดยการเพิ่ม Config ไฟล์ที่ไดเรกทอรี

/etc/logrotate.d/

ซึ่งโปรแกรม logrotate จะเข้ามาอ่าน config file แล้วรันเป็นประจำทุกวัน
โดยใน Config file มีคำสั่งดังนี้ (ตัวอย่างการจัดการ log ของ my_program)

file : /etc/logrotate.d/my_program
/var/log/my_program.log { # ตำแหน่งของ log file
rotate 10 # สั่งให้ rotate 10 ครั้ง ก่อนลบไฟล์เก่าทิ้งไป
daily # สั่งให้มีการ rotate วันละ 1 ครั้ง
compress # สั่งให้มีการบีบอัดไฟล์ที่ถูก rotate ไปแล้ว
delaycompress # สั่งให้ชะลอการบีบอัดข้อมูลไป 1 ครั้ง ทำให้การ rotate ครั้งแรกเป็นการเปลี่ยนชื่อไฟล์เพียงอย่างเดียว และจะถูกบีบอัดในการ rotate ครั้งต่อไป
create 644 root root # เป็นคำสั่งในการกำหนด permission , user , group ของไฟล์ใหม่
postrotate # เป็นกำหนดให้มีการการรันคำสั่ง หลังจากที่มีการ rotate ไปแล้ว
kill -HUP `cat /var/run/my_program.pid` # เป็นคำสั่งที่สั่งให้รัน ในตัวอย่างนี้คือคำสั่ง reload process
endscript # เป็นการจบคำสั่งของ postrotate
}

คอนฟิกอื่นๆที่สำคัญของ logrotate มีดังนี้
weekly,monthly # เป็นการกำหนดให้มีการ rotate เป็นรายสัปดาห์และรายเดือน
mail <.address> # เป็นการสั่งให้ระบบส่ง log file ให้ผู้ดูแลระบบทางอีเมล์
prerotate/endscript # เป็นการกำหนดให้มีการรันคำสั่ง ห่อนที่จะมีการ rotate ซึ่งมีวิธีใช้แบบเดียวกับ postrotate/endscript

นอกจากนี้ ท่านยังสามารถอ่าน config อื่นๆได้เพิ่มเติมได้โดยการรันคำสั่ง man logrotate

สร้าง squid logrotate เพื่อก็บ access.log แยกเป็นวันจำนวน 90 วัน เพื่อให้ตรวจสอบได้ง่ายขึ้น
cd /home
mkdir log-squid


แก้ไข 2 จุด เพื่อแปลงวันที่และเวลาเป็นแบบที่สามารถตรวจสอบได้ง่าย
nano /etc/squid/squid.conf


http://www.hadyaiinternet.com/index.php?topic=254.0

แก้ไข 2 จุด เพื่อแปลงวันที่และเวลาเป็นแบบที่สามารถตรวจสอบได้ง่าย
nano /etc/logrotate.d/squid


/var/squid/logs/access.log {
daily
rotate 1
copytruncate
notifempty
ifempty
missingok

postrotate
#!/bin/sh
LIMIT=90
timeaccess=`date +%Y-%m-%d`
cp /var/squid/logs/access.log.1 /home/log-squid/$timeaccess-access.log
find /home/log-squid -maxdepth 1 -type f \( -ctime $LIMIT \) -print \-exec rm {} \; > /dev/null
endscript
}

สร้าง iptables logrotate เพื่อก็บ message.log แยกเป็นวันจำนวน 90 วัน เพื่อให้ตรวจสอบได้ง่ายขึ้น

แก้ไข 2 จุด เพื่อแปลงวันที่และเวลาเป็นแบบที่สามารถตรวจสอบได้ง่าย
nano /etc/logrotate.d/iptables


/var/log/message.log {
daily
rotate 1
copytruncate
notifempty
ifempty
missingok

postrotate
#!/bin/sh
LIMIT=90
timeaccess=`date +%Y-%m-%d`
cp /var/log/message.log.1 /home/log-squid/$timeaccess-message.log
find /home/log-squid -maxdepth 1 -type f \( -ctime $LIMIT \) -print \-exec rm {} \; > /dev/null
endscript
}

ทดสอบและดีบัก

/usr/sbin/logrotate -d /etc/logrotate.conf
/usr/sbin/logrotate -f /etc/logrotate.conf

ที่มา http://www.thaislack.com

2 ธ.ค. 2553

Free memory in Ubuntu 10.04

Server ผมใช้ แรม 2 GB เกือบหมด ทั้งที่ไม่ได้ทำงานอะไรมากมาย ผมได้ลองหาวิธีลดปริมาณการใช้แรม
ผมได้ใช้ความคำสั่งนี้

Show used memory
free

To clear cache memory every 59 minutes
crontab -e
*/59 * * * * echo 3 > /proc/sys/vm/drop_caches


http://www.dedyisn.net/2009/02/clear-cached-memory-in-ubuntu/

30 พ.ย. 2553

How can a user change their coova password ?

I downloaded PHP source code from Burapha University in Thailand.Then I have modified
it which can work with Coovachilli.Just copy in /var/www/hotspot/uam

download

27 พ.ย. 2553

Disable Cache in Squid 2.5

Add/modify squid.conf :

#no local caching
maximum_object_size 0 KB
minimum_object_size 0 KB

# specify uncachable requests
acl all src 0.0.0.0/0.0.0.0
no_cache deny all

or
# caches nothing based on time
acl Working time 08:00-16:00
no_cache deny Working


# avoid having a cache directory
cache_dir null /tmp
or
cache_dir null /null


http://www.nineteenlabs.com/2007/08/25/disable-cache-in-squid-25/

13 พ.ย. 2553

MIMO is the heart of 802.11n

To understand the improvement brought by MIMO technology, it is important to understand some of the basics that determine how well a traditional radio operates. In a traditional, single-input single-output radio, the amount of information that can be carried by a received radio signal depends on the amount by which the received signal strength exceeds the noise at the receiver, called the signal-to-noise ratio, or SNR. SNR is typically expressed in decibels (dB). The greater the SNR, the more information that can be carried on the signal and be recovered by the receiver.
To understand this situation, imagine the analogy of your eye as the receiver. Is your eye able to detect whether a table lamp is on or off in the house next door? In this analogy, ambient light is the noise. At night, detecting that the lamp is on or off is quite easy. However, in full daylight, it is much more difficult to make the same determination, because the ambient light is much brighter, and the tiny amount of additional light from the lamp can be undetectable.
Light, like a radio wave, disperses uniformly from its source. The farther the receiver is from the source, the less power is received from the source. In fact, the amount of power received decreases more rapidly than the square of the distance from the source. Noise, unfortunately, is often constant in the environment, due to both natural and man-made causes.
So, returning to the table lamp example, when it is too bright to determine if the lamp next door is on or off, it might be possible to make that determination from just outside the neighbor's window. Alternatively, it might be possible to make the determination if the neighbor changed the 40 watt bulb for a 150 watt bulb. In both cases, the SNR increases-in the first case, because the distance to the source is reduced, and in the second case, because the power of the transmitter is increased.
Once the minimum SNR is achieved to allow information to be exchanged at the desired rate, any additional SNR is like money in the bank. That additional SNR can be spent on increasing the information rate, increasing the distance, or a little bit of both. However, you can't spend the same dB more than once, just as you can't spend the same dollar more than once (at least not without encountering some unpleasant consequences).
All this is background to understand the improvements that MIMO technology brings to 802.11.
MIMO Technology: Beamforming

MIMO technology takes advantage of other techniques to improve the SNR at the receiver. One technique is transmit beamforming. When there is more than one transmit antenna, it is possible to coordinate the signal sent from each antenna so that the signal at the receiver is dramatically improved. This technique is generally used when the receiver has only a single antenna and when there are few obstructions or radio-reflective surfaces-for example, open storage yards.
To understand transmit beamforming, consider a radio signal as a wave shape, with a wave length that is specific to the frequency of the signal. When two radio signals are sent from different antennae, these signals are added together at the receiver's antenna (see Figure 1). Depending on the distance that each radio signal travels, they are very likely to arrive at the receiver out of phase with each other. This difference in phase at the receiver affects the overall signal strength of the received signal. By carefully adjusting the phase of the radio signals at the transmitter, the received signal can be maximized at the receiver, increasing SNR. This is what transmit beamforming does-it effectively focuses the transmitters on a single receiver, as shown in Figure 2.
Figure 1. Destructive Interference
Figure 2. Transmit Beanforming (Constructive Interference)

Transmit beamforming is not something that can easily be done at the transmitter without information from the receiver about the received signal. This feedback is available only from 802.11n devices, not from 802.11a, b, or g devices. To maximize the signal at the receiver, feedback from the receiver must be sent to the transmitter so that the transmitter can tune each signal it sends. This feedback is not immediate and is only valid for a short time. Any physical movement by the transmitter, receiver, or elements in the environment will quickly invalidate the parameters used for beamforming. The wave length for a 2.4-GHz radio is only 120mm, and only 55mm for 5-GHz radio. So, a normal walking pace of 1 meter per second will rapidly move the receiver out of the spot where the transmitter's beamforming efforts are most effective.
Transmit beamforming is useful only when transmitting to a single receiver. It is not possible to optimize the phase of the transmitted signals when sending broadcast or multicast transmissions. For this reason, in general networking applications, the utility of transmit beamforming is somewhat limited, providing improved SNR at the receiver for only those transmissions that are sent to that receiver alone. Transmit beamforming can increase the data rate available at greater distances from the AP. But, it does not increase the coverage area of an access point, since that is determined, in large part, by the ability to receive the beacons from the access point. Beacons are a broadcast transmission that does not benefit from transmit beamforming.
MIMO Technology: Multipath or Spatial Diversity

In typical indoor WLAN deployments-for example, offices, hospitals, and warehouses-the radio signal rarely takes the direct, shortest path from the transmitter to the receiver. This is because there is rarely "line of sight" between the transmitter and the receiver. Often there is a cube wall, door, or other structure that obscures the line of sight. All of these obstructions reduce the strength of the radio signal as it passes through them. Luckily, most of these environments are full of surfaces that reflect a radio signal as well as a mirror reflects light.
Imagine that all of the metallic surfaces, large and small, that are in an environment were actually mirrors. Nails and screws, door frames, ceiling suspension grids, and structural beams are all reflectors of radio signals. It would be possible to see the same WLAN access point in many of these mirrors simultaneously. Some of the images of the access point would be a direct reflection through a single mirror. Some images would be a reflection of a reflection. Still others would involve an even greater number of reflections. This phenomenon is called multipath (see Figure 3).
Figure 3. Multipath

When a signal travels over different paths to a single receiver, the time that the signal arrives at the receiver depends on the length of the path it traveled. The signal traveling the shortest path will arrive first, followed by copies or echoes of the signal slightly delayed by each of the longer paths that the copies traveled. When traveling at the speed of light, as radio signals do, the delays between the first signal to arrive and its copies is very small, only nanoseconds. (A rule of thumb for the distance covered at the speed of light is roughly one foot per one nanosecond.) This delay is enough to be able to cause significant degradation of the signal at a single antenna because all the copies interfere with the first signal to arrive.
A MIMO radio sends multiple radio signals at the same time and takes advantage of multipath. Each of these signals is called a spatial stream. Each spatial stream is sent from its own antenna, using its own transmitter. Because there is some space between each of these antennae, each signal follows a slightly different path to the receiver. This is called spatial diversity. Each radio can also send a different data stream from the other radios. The receiver has multiple antennas as well, each with its own radio. Each of the receive radios independently decode the arriving signals (see Figure 4.) Then, each radio's received signal is combined with the signals from the other receive radios. With a lot of complex math, the result is a much better receive signal than can be achieved with either a single antenna or even with transmit beamforming. One of the two significant benefits of MIMO is that it dramatically improves the SNR, providing more flexibility for the WLAN system designer.
Figure 4. Spatial Multiplexing


MIMO systems are described using the number of transmitters and receivers in the system-for example, 2x1 is "two by one," meaning two transmitters and one receiver. 802.11n defines a number of different combinations for the number of transmitters and the number of receivers, from 2x1, equivalent to transmit beamforming, to 4x4. Each additional transmitter or receiver in the system increases the SNR. However, the incremental gains from each additional transmitter or receiver diminish rapidly. The gain in SNR is large for each step from 2x1 to 2x2 and to 3x2, but the improvement with 3x3 and beyond is relatively small. The use of multiple transmitters provides the second significant benefit of MIMO, the ability to use each spatial stream to carry its own information, providing dramatically increased data rates.



http://www.cisco.com/en/US/prod/collateral/wireless/ps5678/ps6973/ps8382/prod_white_paper0900aecd806b8ce7_ns767_Networking_Solutions_White_Paper.html

Testing Access point router in the Real world

http://arstechnica.com/hardware/reviews/2007/11/802-11n-router-roundup.ars/3

11 พ.ย. 2553

I got the error after typing command "route -p add 10.0.0.0 mask 255.0.0.0 10.46.2.1"

I typed this command in Windows 7.
route -p add 10.0.0.0 mask 255.0.0.0 10.46.2.1

So I received the message this
The requested operation requires elevation.

Finally, I have known that I must run the Command Prompt with the administrator level By right-click the "Command Prompt" and choose to "Run as Administrator".

8 พ.ย. 2553

Password ของ Prestige 660R-T1

หลังจากที่ได้ Reset Router เปลี่ยนค่าเป็น factory default แล้ว
password จะถูกเปลี่ยนเป็น รหัสผ่านขั้นเทพ! ทันทีทันใด
username = Admin
password = ADSLmi^ZyXelP660RT1

3 พ.ย. 2553

How to configure CoovaChilli to support VLAN.

I got the new Switch Layer 3 and I want to setup Fresh Ubuntu on my old box .So I will be implement Coovachilli to support Vlans.

Requirement applications for Captive portal solution
Ubuntu Server 13.0
CoovaChilli 1.3.0

My scenario
-
------------------------------------------                           ╔╡192.168.10.0/24
------------------------------------------                           ╠╡192.168.20/24
[Router]192.168.1.1==192.168.1.3[Coova]==[Switch]==╬╡192.168.30/24
------------------------------------------                           ╚╡192.168.40/24


Configuration Procedure on Switch 3COM 4500 26 ports

# Create VLAN 10 for the marketing department and configure the IP address of VLAN-interface 10 as 192.168.10.40
system-view
[Sysname] vlan 10
[Sysname-vlan10] port Ethernet 1/0/1
[Sysname-vlan10] quit
[Sysname] interface Vlan-interface 10
[Sysname-Vlan-interface10] ip address 192.168.10.40 255.255.255.0
[Sysname-Vlan-interface10] quit

# Create VLAN 20 for the R&D department and configure the IP address of VLAN-interface 20 as 192.168.20.40
[Sysname] vlan 20
[Sysname-vlan20] port Ethernet 1/0/2
[Sysname-vlan20] quit
[Sysname] interface Vlan-interface 20
[Sysname-Vlan-interface20] ip address 192.168.20.40 255.255.255.0
[Sysname-Vlan-interface20] quit

# Create VLAN 30 for the administration department and configure the IP address of VLAN-interface 30 as 192.168.30.40
[Sysname] vlan 30
[Sysname-vlan30] port Ethernet 1/0/3
[Sysname-vlan30] quit
[Sysname] interface Vlan-interface 30
[Sysname-Vlan-interface30] ip address 192.168.30.40 255.255.255.0
[Sysname-Vlan-interface30] quit
# Create VLAN 40 for the Web cache server and configure the IP address of VLAN-interface 40 as 192.168.40.40
[Sysname] vlan 40
[Sysname-vlan40] port Ethernet 1/0/4
[Sysname-vlan40] quit
[Sysname] interface Vlan-interface 40
[Sysname-Vlan-interface40] ip address 192.168.40.40 255.255.255.0
[Sysname-Vlan-interface40] quit

[Sysname]interface GigabitEthernet 1/0/27
[Sysname-GigabitEthernet1/0/27]port link-type trunk
[Sysname-GigabitEthernet1/0/27]port trunk permit vlan all
[Sysname-GigabitEthernet1/0/27]undo shutdown

Plug the lan cable conectected with the internal interface of Coovachilli into port 27th

Install vlan support and create interface
apt-get install -y vlan
modprobe 8021q
echo "8021q" >> /etc/modules
vconfig add eth1 10
vconfig add eth1 20
vconfig add eth1 30
vconfig add eth1 40

Add vlan interface
nano /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.0
broadcast 10.10.10.255
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 203.144.207.29
auto eth1

auto vlan40
iface vlan40 inet manual
vlan-raw-device eth1

auto vlan30
iface vlan20 inet manual
vlan-raw-device eth1

auto vlan20
iface vlan30 inet manual
vlan-raw-device eth1

auto vlan10
iface vlan10 inet manual
vlan-raw-device eth1


Build coova package
aptitude --assume-yes install dpkg-dev debhelper libssl-dev
cd /tmp
wget -c http://ap.coova.org/chilli/coova-chilli-1.3.0.tar.gz
tar xzf coova-chilli*.tar.gz
cd coova-chilli*
dpkg-buildpackage -rfakeroot

Install CoovaChilli:
cd ..
dpkg -i coova-chilli_*_i386.deb

Configure coova
cp etc/chilli/defaults /etc/chilli/config
nano /etc/chilli/config

HS_HS_RADSECRET=XXXX (Up to you)
HS_UAMSECRET=uamsecret
HS_UAMALLOW=www.coova.org,www.google.com,192.168.10.0/24
HS_UAMSERVER=192.168.10.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/hotspot/uam/
HS_UAMSERVICE=https://
\$HS_UAMSERVER/cgi-bin/hotspotlogin.cgi

Create hotspot site for more detail you can sarch from my old article
mkdir /var/www/hotspot
cd /var/www/hotspot
cp /etc/chilli/www/* /var/www/hotspot
sed -i 's/1.0.0.1/10.1.1.1/g' /etc/chilli/www/ChilliLibrary.js
sed -i 's/1.0.0.1/10.1.1.1/g' /var/www/hotspot/ChilliLibrary.js

Configuration process
mkdir /etc/chilli/eth1.10
mkdir /etc/chilli/eth1.20
mkdir /etc/chilli/eth1.30
mkdir /etc/chilli/eth1.40

cp /etc/chilli/config /etc/chilli/eth1.10/config
cp /etc/chilli/config /etc/chilli/eth1.20/config
cp /etc/chilli/config /etc/chilli/eth1.30/config
cp /etc/chilli/config /etc/chilli/eth1.40/config

Edit value for vlan 10
nano /etc/chilli/eth1.10/config

# Settings only for eth1.10 network
HS_LANIF=vlan10
HS_NASID=nas-10
HS_NETWORK=10.10.1.0
HS_NETMASK=255.255.255.128
HS_UAMLISTEN=10.10.1.1
HS_UAMPORT=3100
HS_UAMUIPORT=4100
HS_UAMSERVER=10.10.1.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/hotspot/uam/
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html

nano /etc/chilli/eth1.10/chilli.conf

include /etc/chilli/eth1.10/main.conf
include /etc/chilli/eth1.10/hs.conf
include /etc/chilli/eth1.10/local.conf
ipup /etc/chilli/up.sh
ipdown /etc/chilli/down.sh

nano /etc/chilli/eth1.20/config

# Settings only for eth1.20 network
HS_LANIF=vlan20
HS_NASID=nas-20
HS_NETWORK=10.20.1.0
HS_NETMASK=255.255.255.128
HS_UAMLISTEN=10.20.1.1
HS_UAMPORT=3200
HS_UAMUIPORT=4200
HS_UAMSERVER=10.20.1.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/hotspot/uam/
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html


nano /etc/chilli/eth1.20/chilli.conf

include /etc/chilli/eth1.20/main.conf
include /etc/chilli/eth1.20/hs.conf
include /etc/chilli/eth1.20/local.conf
ipup /etc/chilli/up.sh
ipdown /etc/chilli/down.sh


nano /etc/chilli/eth1.30/config

# Settings only for eth1.30 network
HS_LANIF=vlan30
HS_NASID=nas-30
HS_NETWORK=10.3.3.0
HS_NETMASK=255.255.255.128
HS_UAMLISTEN=10.3.3.1
HS_UAMPORT=3300
HS_UAMUIPORT=4300
HS_UAMSERVER=10.3.3.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/hotspot/uam/
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html

Create inclouding file of Vlan 30
nano /etc/chilli/eth1.30/chilli.conf

include /etc/chilli/eth1.30/main.conf
include /etc/chilli/eth1.30/hs.conf
include /etc/chilli/eth1.30/local.conf
ipup /etc/chilli/up.sh
ipdown /etc/chilli/down.sh

Configure Vlan 40
nano /etc/chilli/eth1.40/config

# Settings only for eth1.40 network
HS_LANIF=vlan40
HS_NASID=nas-40
HS_NETWORK=10.40.1.0
HS_NETMASK=255.255.255.128
HS_UAMLISTEN=10.40.1.1
HS_UAMPORT=3400
HS_UAMUIPORT=4400
HS_UAMSERVER=10.40.1.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/hotspot/uam/
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html


Create inclouding file
nano /etc/chilli/eth1.40/chilli.conf

include /etc/chilli/eth1.40/main.conf
include /etc/chilli/eth1.40/hs.conf
include /etc/chilli/eth1.40/local.conf
ipup /etc/chilli/up.sh
ipdown /etc/chilli/down.sh

If you got the message"[error] [client 10.4.4.31] Invalid method in request \x16\x03\x01 " in apache log, try to input this command.
sudo ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
sudo /etc/init.d/apache2 restart


Finally, This is my configuration Coova file.
=========================================

HS_LANIF=vlan20 # Subscriber Interface for client devices
HS_NETWORK=192.168.20.0 # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 # HotSpot Network Netmask
HS_UAMLISTEN=192.168.20.1 # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3200 # HotSpot UAM Port (on subscriber network)
HS_UAMUIPORT=4200 # HotSpot UAM "UI" Port (on subscriber network, for embedded portal)

HS_DYNIP=192.168.20.130
HS_DYNIP_MASK=255.255.255.0
HS_STATIP=192.168.20.3
HS_STATIP_MASK=255.255.255.0
# HS_DNS_DOMAIN=192.168.20.101

# OpenDNS Servers
HS_DNS1=192.168.20.1
HS_DNS2=192.168.20.102

HS_NASID=nas-20
HS_RADIUS=localhost
HS_RADIUS2=localhost
HS_UAMALLOW=192.168.20.0/24,192.168.0.0/24,10.10.10.0/27
HS_RADSECRET=Chitlada # Set to be your RADIUS shared secret
HS_UAMSECRET=Luamsecret # Set to be your UAM secret
HS_UAMALIASNAME=chilli

HS_UAMSERVER=192.168.20.1

HS_UAMFORMAT=https://\$HS_UAMSERVER/hotspot/uam/

HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html


HS_MODE=hotspot
HS_TYPE=chillispot
HS_WWWDIR=/etc/chilli/www

HS_WWWBIN=/etc/chilli/wwwsh

HS_PROVIDER=Coova
HS_PROVIDER_LINK=http://www.coova.org/

HS_LOC_NAME="My HotSpot"
=========== End of file ================


Reference
http://ubuntuforums.org/showthread.php?t=703387
http://www.sptc.ac.th/webboard/viewtopic.php?f=5&t=4

Upgrade Ubuntu from 10.04 to 10.10 From command line

Believe it or not, upgrading from command line is just as easy as it is from the GUI tool. The first step is to update your system. So open up a terminal window and issue this command:
sudo apt-get update

The first step is to issue the following command:
sudo apt-get install update-manager-core

nano /etc/update-manager/release-upgrades

This file determines the default behavior for the release upgrader. The line you need to change is at the bottom of this file. Change it from:

Prompt=lts

to

Prompt=normal

Save and close that file and then issue the command:

sudo do-release-upgrade -d

ที่มา http://www.ghacks.net/2010/09/28/upgrade-ubuntu-from-10-04-to-10-10/

2 พ.ย. 2553

ร่วมกันสร้างบุญบารมีคับ

วันที่ 2 พย. 2553 ที่หมู่บ้านขันหอม จังหวัดเชียงราย มีอุณหภมิ 12 องศา ผมคิดว่าปีนี้น่าจะเป็นปีที่หนาวเหน็บ เพราะผมเคยได้ยินมาว่า ปีไหนที่มีน้ำท่วมมาก ปีนั้นจะหนาวมาก
โดยเฉพาะปีนี้ที่หมู่บ้านขันหอม(หมู่บ้านของผมเอง) น้ำท่วมทั้งหมู่บ้าน และได้รับความช่วยเหลือจากมูลนิธิอาสาเพื่อนพึ่งภาฯยามยากเข้ามาแจกถุงยังชีพ
 
2-3 วันมานี้ที่กรุงเทพฯมีอากาศเย็นลง ผมกลับคิดถึงพ่อแม่ ผมโทรถามแม่ว่าหนาวมากไหม แม่บอกว่าหนาวเย็นทั้งวันเลย แล้วผมก็คิดถึงพระที่อยู่ที่วัด ท่านไม่ได้มีเสื้อกันหนาวเหมือนเรา แล้วจะมีใครไหมที่จะถวายผ้าอังสะกันหนาว และเมื่อปีที่แล้วแม่ของผมกับป้าแดงได้ร่วมกันถวายผ้าอังสะไหมพรม (โดยที่แม่ผมเป็นคนซื้อด้ายไหมพรม ส่วนป้าแดงเป็นคนถัก ปีที่แล้วถักได้ 26 ตัว) แม่เลือกถวายกับพระที่จำพรรษานานๆ ส่วนพระท่านที่บวชแป๊บๆไม่ได้ถวาย ส่วนปีนี้ผมอยากให้ เพื่อนๆ และพี่ๆ ได้ร่วมสร้างบุญบารมีกันครับ ทางแม่ผมได้ประเมินดูแล้วว่าควรจัดทำ อังสะสีกรัก 10 ผืน เพื่อถวายพระที่ยังไม่มี และถวายพระรูปที่มีแล้วเผื่อจะได้สลับสับเปลี่ยนได้
วัดที่จะนำผ้าอังสะกันหนาวไปถวายคือ วัดพระยอดขุนพลเวียงกาหลง ซึ่งเป็นวัดที่ผมเคยบวชพระที่นี้ และอยู่ใกล้บ้าน http://www.wiengkalong.com/
วิธีการมีดังนี้
โอนค่าด้ายไหมพรมมาที่ผม และผมก็จะรวบรวมส่งให้ป้าแดง ราคาด้ายชุดละ 250 บาท ด้าย 1 ชุดจะถักได้ผ้าอังสะกันหนาวอย่างหนา เพราะใช้ด้าย 2 เส้น และหมวก 1 ใบ พอป้าแดงถักเสร็จ ทางแม่ของผมจะนำมาซักและรีดให้เรียบร้อย ก่อนที่จะนำไปถวายต่อไป
ญาติธรรมท่านใดปราถนาร่วมสร้างบุญ สามารถโอนมาที่ บัญชี ณัฐตรัณ อนุศาสตร์ ธนาคารกรุงเทพ สาขาบางโพ เลขที่ 1600749475  หรือโทรได้ที่ 085-0349062 ได้ตลอดเวลาครับ

22 ต.ค. 2553

ร่วมสร้างตึก ร.พ.อุดรธานี

หลวงตามหาบัวเมตตาตั้งงบ 500 ล้านบาท
สร้างตึก ร.พ.อุดรธานี (22ต.ค.53)ยอดบริจาค 411,272,215 บาท
ฟัง Online เชิญ Play ด้านล่างครับ

21 ต.ค. 2553

Driver for Mainboard ASUS P5LP-LE

เป็น Mainboard ของ HP รุ่น a6170l หา driver ยากมาก ต้องจดไว้เลย

VGA

Sound

Lan

Chipset

20 ต.ค. 2553

ทำซาลาเปา

ส่วนประกอบ:
1.แป้งถั่วแดง 4 ถ้วย
2.ยีส 2 ช้อนชา
3.น้ำตาลทรายขาว 1 ถ้วย
4.ผงฟู 2 ช้อนชา
5.น้ำมันพืช 1/2 ถ้วย
6.น้ำสะอาด 1 ถ้วย
7.เนย 1/4 ถ้วย

วิธีทำ
นวดแป้งจนเนียน แล้วนำไปใส่ในภาชนะ แล้วคลุมหน้าด้วยผ้าชุบน้ำบีบหมาดๆ ทิ้งไว้จนขึ้นฟู 2 เท่า แล้วจึงนำมาห่อใส่ไส้ นึ่งในน้ำเดือด 15 นาที

ส่วนประกอบไส้เค็มซาลาเปา
1. หมูสับ 1/2 กิโลกรัม
2. พริกไทย
3. กุ้งแห้ง 1/2 ขีด นำมาตำปดละเอียด
4.เกลือ
5.ซอสหอยนางรม
6.น้ำตาล
7.หอมหัวใหญ่ 3 หัว

วิธีทำ
ผัดจนส่วนผสมแห้ง แล้วปรุงรสเอาตามใจ

ส่วนประกอบไส้หวานซาลาเปา
1.ถั่วแดง,ถั่วเขียว,ถั่วดำ เลือกเอา 1 อย่าง
2.น้ำตาล 1/2 กิโลกรัม
3.เกลือ 2 ช้อน
4.กะทิกล่องเล็ก 1 กล่อง

วิธีทำ
นำถั่วมาแช่น้ำ 1/2 ชั่วโมง ผึงให้แห้ง แล้วนำมานวดจนละเอียด นำไปผัดใส่น้ำตาล,กะทิมาใส่ และตามด้วยเกลือ

19 ต.ค. 2553

Hotmail storage!

About Hotmail Storage.
Windows Live Hotmail includes e‑mail storage that expands to provide you with as much storage space as you need. Your inbox capacity will automatically increase as you need more space.

If your inbox suddenly and abnormally skyrockets in size, you might get an e‑mail from Windows LiveHotmail asking you to slow down, move e‑mails from Hotmail to your desktop, or delete some old e‑mails. Please read these e‑mails and follow the advice provided in them to continue to enjoy ever-growing storage.

If your inbox grows too fast, you might not be able to receive any more messages. Here are some suggestions to help you manage your account so that it doesn't become too large:

Create an archive. Set up a folder on your computer's hard disk where you can save large attachments, and then delete them from your inbox.

Automatically delete junk e‑mail. Set up your Windows Live Hotmail account to delete unwanted, unsolicited, illicit, or spam e‑mail as soon as it comes in. To do this, click Options, and then click More options. Under Junk e‑mail, click Filters and reporting. Under Delete junk e‑mail, click Immediately, and then click Save.

Empty your Junk and Deleted message folders. To do this, click the folder you want to empty. On the toolbar, click Empty

เวรกรรม Microsoft!

12 ต.ค. 2553

หลักการใส่ RAM DDR แบบ Dual channel

Memory locations are noted as indicated below:

Dual Channel: [A1-A2] and/or [B1-B2]
•A1 = 1st place (slot 1)
•B1 = 2nd place (slot 2)
•A2 = 3rd place (slot 3)
•B2 = 4th place (slot 4)
•*[A1-B1] = Group 1 on the motherboard.
•*[A2-B2] = Group 2 on the motherboard

Important Notes
•To enable dual channel mode, it is necessary to use 2 RAM stick (having same brand, same size, and same frequency) in A1 and A2 slots.
•When using 2 RAM stick of different brands then locations A1 and B1 must be configured in single channel mode.

Tune-up SQL Server

Maximize Data Throughput for Network Applications

To optimize system memory use for SQL Server, you should limit the amount of memory that is used by the system for file caching. To limit the file system cache, make sure that Maximize data throughput for file sharing is not selected. You can specify the smallest file system cache by selecting Minimize memory used or Balance.

To check the current setting on your operating system
1.Click Start, then click Control Panel, double-click Network Connections, and then double-click Local Area Connection.

2.On the General tab, click Properties, select File and Printer Sharing Microsoft Networks, and then click Properties.

3.If Maximize data throughput for network applications is selected, choose any other option, click OK, and then close the rest of the dialog boxes.


And Also enable AWE on 32-bit operating systems. No need to configure on 64-bit operating systems.

Since AWE-mapped memory is supported below 3 GB, you can define the min server memory and max server memory values within the physical memory range, or use the default values for both options.

How to enable AWE

18 ก.ย. 2553

Disable Intra BBS

A Basic Service Set (BSS) is formed when all communications between wireless stations or between a wireless station and a wired network client go through one access point. Intra BSS traffic is traffic between wireless stations in the same BSS. When Intra BSS is enabled, wireless stations can communicate with each other. When Intra BSS is disabled, wireless stations cannot communicate with each other. You can enable or disable Intra BSS communication using the CI command in SMT menu 24.8. P-335> wlan intrabssblock Usage: wlan intrabssblock 0 Note: "0" means intra-BSS blocking is disabled. This means that wireless stations can communicate with each. Enter "1" to block intra BSS traffic.

ที่มา http://www.zyxel.com/web/support_knowledgebase_detail.php?KnowledgeBaseID=1200&pid=20040520161313

ฟีเจอร์ WPS คืออะไร?

WPS (WiFi Protected Setup)
  • เป็นการตั้งค่าความปลอดภัยอัตโนมัติบนเครือข่ายไร้สาย
ตัวแม่และตัวลูกจะต้อง Support Feature ดังกล่าวด้วยครับถึงจะใช้งานร่วมกันได้ ซึ่งโดยทั่วไปมันจะมีปุ่ม WPS ให้กดด้านหลังตัวเครื่อง หรือจะมีอยู่หน้า Gui ก็ตาม ตัวแม่จะเป็นตัว Generate Password ในรูปแบบ Random ออกมา โดยที่รหัสดังกล่าวค่อนข้างจะปลอดภัยมาก ส่วน Client ก็จะต้องทำการกด WPS เช่นกันเพื่อเชื่อมต่อกับตัวแม่ และจะต้องทำในช่วงเวลาประมาณ 2 นาที Client ไม่จำเป็นต้องรู้ Network Name หรือ SSID ของ AP มันจะดำเนินการ Config ให้เองครับ ปัจจุบันWPS มีใช้ในหลาย ๆ ยื่ห้อครับ แต่ถ้าหาก Client ของคุณไม่ Support ก็ไม่สามารถทำได้งานได้เช่นกัน

ที่มา http://www.adslthailand.com/forum/viewtopic.php?f=17&t=79614

3 ก.ย. 2553

How to Setup CoovaChilli 1.2.4, FreeRadius, MySQL on Ubuntu 10.04

I decide to install Coovachilli on Ubuntu 10.04 because OS boots very fast.

Requirement applications for Captive portal solution
CoovaChilli 1.2.4
FreeRadius
MySQL

1. Install Ubuntu 10.04 and choose package LAMP ,DNS, Openssh .



1.1 Modify the network configuartion file.
nano /etc/network/interfaces



iface eth0 inet static
address 10.10.10.3
netmask 255.255.255.240
gateway 10.10.10.1
auto eth1



1.2 Uncomment in /etc/sysctl.conf:
nano /etc/sysctl.conf




net.ip4.ip_forward=1

2. Install Freeradius and edit



2.1 Setup freeradius
apt-get install freeradius freeradius-mysql





2.2 create DB "radius"

mysqladmin -p create radius

mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql -p

mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql

mysql -u root -p use radius; GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'xxxxxxxx';

FLUSH PRIVILEGES; quit






2.3 แก้ไขไพล์ sql.conf เพื่อใช้เชื่อมต่อกับฐานข้อมูลที่เพิ่งสร้างขึ้นมา
nano -w /etc/freeradius/sql.conf




server = "localhost"
login = "radius"
password = "xxxxxxxx"
แล้วเอา # หน้า readclient =yes ออก



nano /etc/freeradius/radiusd.conf


ให้เอา comment ที่หน้า 2 บรรทัดนี้ออก

modules {
….
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf



2.4 แก้ไขไพล์ client.conf เพื่อให้ Coova-chilli และ Daloradius มาทำงานร่วมกับ freeradius ได้
nano -w /etc/freeradius/clients.conf


client 127.0.0.1 {
secret = Iloveradius
}



2.5 แก้ไขไพล์ default
nano -w /etc/freeradius/sites-available/default



ให้กด ctrl+w หาคำว่า authorize { เจอแล้วให้เลื่อนลงมาใส่ # ที่ file และเอา # ที่หน้า sql
authorize {
#file เติม # เข้าไป
sql เอา # ออก
daily เอา # ออก และเพิ่ม 3 บรรทัดข้างล่างต่อท้าย
noresetcounter
dailycounter
monthlycounter
}

ต่อมาก็หาคำว่า accounting { แล้วเอา # หน้า sql ออก
accounting {
sql # uncomment
}

ต่อมาก็หาคำว่า session { แล้วเอา # หน้า sql ออก
session {
sql #uncomment
}



2.6 เพิ่ม User เข้าไปในฐานข้อมูล Radius เสร็จ restart Freeradius แล้วทดสอบ User เลย
mysql -u root -p
INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('guest', 'Password','guest'); เพิ่มusername เข้าไปในฐานข้อมูล
quit
/etc/init.d/freeradius restart
radtest guest guest 127.0.0.1 0 xxxxxxxx



ถ้าทำสำเร็จ จะมีข้อความประมาณนี้ Access-Accept packet from host 127.0.0.1:1812, id=144, length=20
--------------------จบ Freeradius----------------

3. Build Coova แล้ว install และ config


3.1 ได้ลอง build package เองแล้วมันใช้ได้ ดีกว่าแบบที่เค้า Build มาให้
aptitude --assume-yes install dpkg-dev debhelper libssl-dev
cd /tmp
wget -c http://ap.coova.org/chilli/coova-chilli-1.2.4.tar.gz
tar xzf coova-chilli*.tar.gz
cd coova-chilli*
dpkg-buildpackage -rfakeroot





3.2 Install CoovaChilli:
cd ..
dpkg -i coova-chilli_*_i386.deb





3.3 มาจัดการแก้ไข file ต่างๆ ใน coova
cp /etc/chilli/defaults /etc/chilli/config





3.4 สร้าง folder hotspot ขึ้น
mkdir /var/www/hotspot
cd /var/www/hotspot
cp /etc/chilli/www/* /var/www/hotspot
sed -i 's/1.0.0.1/192.168.0.1/g' /etc/chilli/www/ChilliLibrary.js ยาวเป็นบรรทัดเดียว
sed -i 's/1.0.0.1/192.168.0.1/g' /var/www/hotspot/ChilliLibrary.js





3.5 เข้าไปแก้ไข file chilli โดยเปลี่ยนค่าเป็น 1
nano -w /etc/default/chilli



START_CHILLI=1



3.6 แก้ไข file /etc/chilli/config
nano /etc/chilli/config



HS_LANIF=eth1 # Subscriber Interface for client devices
HS_NETWORK=192.168.0.0 # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 # HotSpot Network Netmask
HS_UAMLISTEN=192.168.0.1 # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 # HotSpot Port (on subscriber network)

HS_NASID=nas01
HS_UAMSECRET=uamsecret
HS_RADIUS=127.0.0.1
HS_RADIUS2=127.0.0.1
HS_RADSECRET=xxxxxxxx
HS_UAMALLOW=www.google.com,192.168.0.0/24

HS_UAMSERVER=192.168.0.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/uam/
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
HS_UAMSERVICE=https://192.168.0.1/cgi-bin/hotspotlogin.cgi

HS_ANYIP=on # Allow any IP address on subscriber LAN
#
HS_MACAUTH=on # To turn on MAC Authentication
HS_MACPASSWD=XXXXXX #รหัสผ่านต้องเหมือนกับทีแก้ไขในไพล์/etc/chilli/functions



3.7 ติดตั้ง Firewall (เพิ่มข้อความข้างล่างในบรรทัดท้ายสุด)
nano /etc/chilli/up.sh



#แทรก หลังจาก . /etc/chilli/functions
iptables -F
iptables -t nat -F

#แล้วต่อท้ายด้วย ข้างล่างนี้
# may not have been populated the first time; run again
[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
# force-add the final rule necessary to fix routing tables
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE

iptables -P INPUT DROP
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


iptables -I INPUT -p icmp --icmp-type 8 -s 0/0 -d 192.168.0.1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -p icmp --icmp-type 0 -s 192.168.0.1 -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#SSH Accept from tun0
iptables -I INPUT -i tun0 -p tcp -m tcp --dport 22222 --dst 192.168.0.1 -j ACCEPT

iptables -I INPUT -i eth0 -s 10.10.10.3 -p tcp -m tcp --dport 22222 --dst 10.10.10.4 -j ACCEPT

#SNMP
iptables -I INPUT -p udp -s 0/0 --sport 1024:65535 -d 192.168.0.1 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT -p udp -i tun0 -d 192.168.0.1 --dport 161 -j ACCEPT

#iptables -t nat -I PREROUTING -i tun0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
#iptables -I INPUT -i tun0 -p tcp -m tcp --dport 3128 --syn -j ACCEPT
#iptables -t nat -I PREROUTING -p tcp -m tcp --dport 3128 -j DROP
#iptables -t nat -I PREROUTING -p tcp -m tcp --dport 8080 -j DROP
#iptables -t nat -I PREROUTING -p tcp -m tcp --dport 2121 -j DROP

iptables -t nat -I POSROUTING -o eth0 -j LOG
#squid Log
iptables -t nat -N logging
iptables -t nat -A PREROUTING -j logging

#iptables -t nat -A POSTROUTING -j logging
iptables -A INPUT -j LOG --log-level info --log-prefix "INPUT "
iptables -A OUTPUT -j LOG --log-level info --log-prefix "OUTPUT "
iptables -A FORWARD -j LOG --log-level info --log-prefix "FORWARD "
# HTTP:
iptables -t nat -A logging -p tcp --dport 80 -j LOG --log-prefix "HTTP: " \
--log-level info
# HTTPS:
iptables -t nat -A logging -p tcp --dport 443 -j LOG --log-prefix "HTTPS: " \
--log-level info
# SMTP:
iptables -t nat -A logging -p tcp --dport 25 -j LOG --log-prefix "SMTP: " \
--log-level info
# FTP:
iptables -t nat -A logging -p tcp --dport 21 -j LOG --log-prefix "FTP: " \
--log-level info
# IMAP:
iptables -t nat -A logging -p tcp --dport 143 -j LOG --log-prefix "IMAP: " \
--log-level info
# POP3:
iptables -t nat -A logging -p tcp --dport 110 -j LOG --log-prefix "POP3: " \
--log-level info
# MSN:
iptables -t nat -A logging -p tcp --dport 1863 -j LOG --log-prefix "MSN: " \
--log-level info
# JABBER:
iptables -t nat -A logging -p tcp --dport 5222 -j LOG --log-prefix "JABBER: " \
--log-level info

JABBERS
iptables -t nat -A logging -p tcp --dport 5223 -j LOG --log-prefix "JABBERS: " \
--log-level info
# ICQ/AIM
iptables -t nat -A logging -p tcp --dport 5190 -j LOG --log-prefix "ICQ/AIM: " \
--log-level info
# Yahoo
iptables -t nat -A logging -p tcp --dport 5050 -j LOG --log-prefix "YAHOO: " \
--log-level info
# IRC
iptables -t nat -A logging -p tcp --dport 6667 -j LOG --log-prefix "IRC: " \
--log-level info
# Gadu-Gadu
iptables -t nat -A logging -p tcp --dport 8074 -j LOG --log-prefix "GADU-GADU: " \
--log-level info

iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 4990 --syn -j ACCEPT

iptables -I INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 53 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 67:68 --syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 3306 --syn -j ACCEPT

iptables -A INPUT -i tun0 -j DROP


4. config Apapche2


4.1 ติดตั้ง SSL
apt-get install libapache2-mod-auth-mysql





4.2 สร้าง Certificate

apt-get install ssl-cert





4.3 สร้าง folder ssl
mkdir /etc/apache2/ssl





4.4 ดูชื่อเครื่อง
hostname -f





4.5 เสร็จแล้วก็เอาชื่อ hostnameมาใส่ในการตอบคำถามข้างล่างนี้
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem





4.6 ติดตั้ง module ssl
a2enmod ssl
/etc/init.d/apache2 force-reload





4.7 แก้ไขไพล์ hosts
nano /etc/hosts



127.0.0.1 localhost.local localhost
127.0.1.1 Authen.local Authen
192.168.0.1 Authen.local Authen



4.8 สร้างsite hotspot ก๊อบข้างล่างไปวางใน hotspot (ลบ. ออกด้วยนะ)
nano -w /etc/apache2/sites-available/hotspot




NameVirtualHost 192.168.0.1:443
<.VirtualHost 192.168.0.1:443>
ServerAdmin webmaster@domain.org
DocumentRoot "/var/www/hotspot"
ServerName "192.168.0.1"
<.Directory "/var/www/hotspot/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
<./Directory>

Alias "/dialupadmin/" "/usr/share/freeradius-dialupadmin/htdocs/"
<.Directory "/usr/share/freeradius-dialupadmin/htdocs/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
<./Directory>

<.Directory "/var/www/hotspot/cgi-bin/">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
<./Directory>

ErrorLog /var/log/apache2/hotspot-error.log

LogLevel warn

CustomLog /var/log/apache2/hotspot-access.log combined

ServerSignature On
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
<./VirtualHost>



4.9 สั่งให้ hotspot ใน apache ทำงาน
a2ensite hotspot





4.10 จัดการเรื่อง Listen Ports ใน apche
nano -w /etc/apache2/ports.conf



แก้ไขให้เหลือตามข้างล่างเป็นพอ

Listen 443
Listen 80



nano -w /etc/apache2/apache2.conf



ServerName 192.168.0.1 เพิ่มคำสั่งนี้ไว้บนสุดเลยครับ



4.11 เปิดไฟล์ default
nano -w /etc/apache2/sites-available/default



เพิ่มตรงบนสุด NameVirtualHost *:80



4.12 สร้างหน้า login ของ Hotspot
cd /var/www/hotspot/
wget http://www.truesoft.co.th/wifi/uam.tgz
tar xvf uam.tgz





to Start chilli service that server reboots
update-rc.d chilli defaults



จบด้วยการ restart มาถึงตรงนี้ สามารถทดสอบได้แล้ว



5. ติดตั้ง Haserl Download haserl from http://haserl.sourceforge.net/.

sudo apt-get install gcc
tar xvf haserl-0.8.0.tar.gz

cd haserl-0.8.0/

./configure
make
make install

Edit /etc/chilli/wwwsh file

haserl=$(which haserl 2>/dev/null)
with
haserl=/usr/local/bin/haserl


6. Install Syslog-ng

apt-get install syslog-ng
cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.bak
nano /etc/syslog-ng/syslog-ng.conf

destination remote {
udp("192.168.20.104" port(514));
};
log {source(s_all); filter(f_messages); destination(remote); };
log {source(s_all); filter(f_kern); destination(remote); };

/etc/init.d/syslog-ng start


nano /etc/init.d/rc.capture

#!/bin/bash
tail -F /var/log/squid/access.log logger -t squid -p local3.info &
tail -F /var/log/radius/radacct/127.0.0.1/details logger -t radiusd -p local3.info &

chmod a+x /etc/init.d/rc.capture
ln -s /etc/init.d/rc.capture /etc/rcS.d/S88rccapture


nano /etc/logrotate.d/freeradius

/var/log/radius/radacct/127.0.0.1/details {
rotate 13
weekly
delaycompress
missingok
notifempty
compress

}


nano /etc/freeradius/modules/detail

ให้เปลี่ยนค่า detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d เป็น
detailfile = ${radacctdir}/%{Client-IP-Address}/details


ขั้นตอนการติดตั้ง NTP Server ที่เครื่อง Log Server เป็นดังนี้

1.ติดตั้ง ntp ด้วยสั่ง
apt-get install ntp
2.ทำการสำเนาไฟล์คอนฟิกของ ntp ไปไว้เป็นอีกชื่อดังนี้
cp /etc/ntp.conf /etc/ntp.conf.bak
3.แก้ไขไฟล์ /etc/ntp.conf ให้มีค่าเป็นดังนี้
restrict default kod nomodify notrap noquery nopeer
restrict 127.0.0.1
# อนุญาตให้ Internal network เข้าใช้งาน
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 203.185.69.60 dynamic
server time.navy.mi.th dynamic
server time.nist.gov dynamic
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/ntp.drift
broadcastdelay 0.008
keys /etc/ntp/keys

4.สั่ง restart service ด้วยคำสั่ง

chkconfig ntpd on
/etc/init.d/ntp restart

5. ตรวจสอบ Remote Server ที่ต้องการใช้อ้างอิงฐานเวลา ใช้คำสั่งดังนี้
ntptrace




อ้างอิง
http://linux.xvx.cz/2010/03/debian-wi-fi-hotspot-using-coovachilli-freeradius-mysql-and-daloradius/
http://www.itmanage.info/technology/linux/ubuntu/chillihospot/install_chillhotspot_ubutu_8_10.html