วันพฤหัสบดีที่ 19 มิถุนายน พ.ศ. 2557

ubuntu 12.04 clear cache squid

script Clear Cache on Ubuntu12.04LTS
#cd /root
#nano clear-squid.sh
เพิ่มคำสั่งเหล่านี้เข้าไป
#!/bin/sh
/etc/init.d/squid3 stop
cd /var/spool/squid3/
rm -Rf *
squid3 -z
/etc/init.d/squid3 start
echo “Finish Of Clear Squid Cache”
จากนั้นกด Ctrl+o (โอ)
Enter
Ctrl+x

เข้าไปที่ /root
#cd /root
#sh clear-squid.sh
ตั้งค่า crontab ให้คลียร์ cache เอง
#crontab -e
เพิ่มคำสั่งต่อไปนี้
PATH=/usr/sbin:/usr/bin:/sbin:/bin:/root
00 12 * * * /root/clear-squid.sh
จากนั้นกด Ctrl+o (โอ)
Enter
Ctrl+x
———————————————————————————————–
หมายเหตุ สามารถปรับแต่งได้ตามความเหมาะสม
เครดิต..blog ครูชาตรีออนไลน์ HS3VZF ^_^

วันศุกร์ที่ 16 พฤษภาคม พ.ศ. 2557

การค้นหาคำใน file linux

ค้นหาจากหลายๆ ไฟล์
บางครั้งมีหลายไฟล์ที่เราต้องการค้นหานั้น ก็สามารถทำได้โดยระบุชื่อไฟล์เป็น * ได้

เช่นค้นหาคำว่า root จากทุกไฟล์ใน /etc/

$ grep -r root /etc/*

วันศุกร์ที่ 25 เมษายน พ.ศ. 2557

script สำหรับเช็ค freeradius stop แล้วให้ start

สอบถาม shell script ตั้งเวลาใน crontab ไม่ได้ครับ..ตั้งชื่อไฟล์ไว้ที่ /root/freeradius.sh สั่ง chmod +x แล้ว
#!/bin/sh
##### freeradius check ######
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
if pgrep freeradius 2>&1 >/dev/null;then echo ok;else /etc/init.d/freeradius start;fi
##
##
##
ตั้งเวลาใน crontab มันไม่ทำงานนะครับ log มันขึ้นอย่างนี้นะครับ
Apr 25 15:53:01 pyo1 CRON[27691]: (root) CMD (/bin/sh /root/freeradius.sh)
Apr 25 15:53:01 pyo1 CRON[27688]: (CRON) info (No MTA installed, discarding output)
แสดงว่า cron ทำงานแต่ในไฟล์ script มันมีอะไรผิดพลาด หาจนตาลายหมดแล้วครับ..ไม่รู้เกิดอะไรขึ้น..

แต่เวลาผมสั่ง #sh /root/freeradius.sh ไฟล์ script ดังกล่าวสามารถทำงานได้ปกตินะครับ...แสดง echo OK ได้ปกติ


ผู้ตอบ....Keigo Thaiadmin VIP

Script ทำงานปกติครับ

โดยปกติแล้ว cron จะ email terminal output แต่เครื่องของคุณตอนนี้ไม่ได้ติดตั้ง MTA ไว้ (postfix/sendmail) ทำให้ cron ส่ง output ออกไปไม่ได้

ถ้าไม่อยากติดตั้ง MTA แต่มี GUI อาจจะใช้ notify-send

*/30 * * * * DISPLAY=:0 notify-send "$(/bin/sh /root/freeradius.sh)"

ถ้าไม่งั้นลอง redirect output ออก terminal เลยก็ได้ครับ เช่น

# tty
/dev/pts/

*/30 * * * * /bin/sh /root/freeradius.sh > /dev/pts/0

วันศุกร์ที่ 28 มีนาคม พ.ศ. 2557

logrotage

บทความจาก linuxthai
สร้างไฟล์ไว้ที่ home ก่อนครับ
cd /home
mkdir makelog
cd /home/makelog
touch makelog.sh
cd ..
chmod 755 -R makelog

เอาไฟล์นี้ไปใส่ใน makelog.sh
##### Save Squid Log ######
timeaccess=`date +%Y-%m-%d`
LIMIT=90
cp -Rf /var/log/squid/access.log /home/makelog/$timeaccess-access.log
chmod 777 /home/makelog/$timeaccess-access.log
gzip /home/makelog/$timeaccess-access.log
md5sum /home/makelog/$timeaccess-access.log.gz > /home/makelog/$timeaccess-access.log.gz.md5sum
cp -Rf /var/log/squid/store.log /home/makelog/$timeaccess-store.log
chmod 777 /home/makelog/$timeaccess-store.log
gzip /home/makelog/$timeaccess-store.log
md5sum /home/makelog/$timeaccess-store.log.gz > /home/makelog/$timeaccess-store.log.gz.md5sum
find /home/makelog/ -maxdepth 1 -type f \( -ctime $LIMIT \) -print \-exec rm {} \; > /dev/null

แล้วก็ไปที่ crontab -e
59 23 * * * root sh /home/makelog/makelog.sh


หรือทดสอบ sh /home/makelog/makelog.sh

แก้ไข...สำหรับ ubuntu 12.04 โดยอ.ธนากร แห่งพิษณุโลก
#!/bin/sh
##### Save Squid Log ######
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
timeaccess=`date +%Y-%m-%d`
LIMIT=90
cd /var/log/airlink/squidlog/ อย่าลืมใส่ตรงนี้ด้วย...ไม่งั้นมันไม่รัน....
cp -Rf /var/log/squid3/access.log /var/log/airlink/squidlog/$timeaccess-access.log
chmod 777 /var/log/airlink/squidlog/$timeaccess-access.log
gzip /var/log/airlink/squidlog/$timeaccess-access.log
md5sum /var/log/airlink/squidlog/$timeaccess-access.log.gz > /var/log/airlink/squidlog/$timeaccess-access.log.gz.md5sum
#cp -Rf /var/log/squid3/store.log /var/log/airlink/squidlog/$timeaccess-store.log
#chmod 777 /var/log/airlink/squidlog/$timeaccess-store.log
#gzip /var/log/airlink/squidlog/$timeaccess-store.log
#md5sum /var/log/airlink/squidlog/$timeaccess-store.log.gz > /var/log/airlink/squidlog/$timeaccess-store.log.gz.md5sum
find /var/log/airlink/squidlog/ -maxdepth 1 -type f \( -ctime $LIMIT \) -print \-exec rm {} \; > /dev/null





mrtg on centos 6.x

บทความจากเวบ hostpro.com
วันนี้ทาง Host4PRO จะมานำเสนอวิธีการติดตั้ง MRTG บนระบบปฏิบัติการ CentOS 6.x ที่ติดตั้ง Directadmin

ประโยชน์:
-เพื่อดูสิถิติการใช้งานเครื่องไม่ว่าจะเป็น CPU , RAM , Network และอื่นๆ

วิธีการติดตั้ง
ขั้นที่ 1 Copy ไปวางเลยครับ

yum -y remove net-snmp mrtg ; wget -qO - http://www.thzhost.com/files/mrtg.sh | sh
ขั้นที่ 2 Copy ไปวางครับ

yum -y install net-snmp net-snmp-utils mrtg mrtg-libs
ขั้นที่ 3 ทดสอบการติดตั้ง snmp copy ไปวางเช่นกันครับ

snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
ผลลัพธ์จะเป็นดังนี้
IP-MIB::ipAdEntIfIndex.103.xxx.xx.xx= INTEGER: 2
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1

ท่านจะสามารถเข้าดู MRTG ได้จาก http://ip/mrtg นะครับ

วันเสาร์ที่ 28 กันยายน พ.ศ. 2556

squid 3 บน centos 5.x

บทความจากเวบไซด์..
http://www.howtoforge.com/anonymous-proxy-using-squid-3-centos-5.x

1) Installation Of Squid 3:
CentOS 5 comes with Squid 2.6 but we need Squid 3, so we will download the source rpm of squid 3 and compile it for our OS.



1.1) Install Prerequisites
Install pre-requisite software, i.e. development tools to get all the compilers, libraries and other rpms for the compilation of SQUID 3.

yum -y groupinstall "Development Tools"
yum -y install rpm-build openjade linuxdoc-tools openldap-devel pam-devel openssl-devel httpd rpm-devel



1.2) Download Squid 3 Source RPM
Download source rpm of Squid 3 from the FEDORA website and install it.

cd /usr/src
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/10/Fedora/source/SRPMS/squid-3.0.STABLE10-1.fc10.src.rpm
rpm -ivh squid-3.0.STABLE10-1.fc10.src.rpm



1.3) Compile Squid 3
Use the following commands to start the compilation, at the end it will generate an rpm file to install:

cd /usr/src/redhat/SPECS
rpmbuild -bb squid.spec



1.4) Install Squid 3
Install the newly built rpm, which will be found in /usr/src/redhat/RPMS/i386 for i686 and /usr/src/redhat/RPMS/x86_64 for x86_64.

rpm -Uvh /usr/src/redhat/RPMS/i386/squid-3.0.STABLE10-1.i386.rpm



2) Configuration
I will use the default squid.conf to edit.

vi /etc/squid/squid.conf

หรือ


wget -q -O- "http://devel.pramberger.at/getrepo?release=5" >> /etc/yum.repos.d/pramberger.repo

yum install squid3

วันพุธที่ 25 กันยายน พ.ศ. 2556

วันจันทร์ที่ 23 กันยายน พ.ศ. 2556

การ mount flash drive บน centos

สำหรับท่านที่ต้องการ mount flash drive ที่ฟอร์แมตแบบ ntfs ให้สามารถใช้งานกับ linux centos ได้ให้ทำดังนี้ครับ

1. สำหรับ centos 5.x
ทำการ Enable EPEL ก่อน
## RHEL/CentOS 5 32-Bit ##
# wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -ivh epel-release-5-4.noarch.rpm

## RHEL/CentOS 5 64-Bit ##
# wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
# rpm -ivh epel-release-5-4.noarch.rpm

หลังจากนั้นทำการติดตั้ง ntfs-3g ได้เลย..ผ่าน epel
# yum --enablerepo=epel install ntfs-3g

2. สำหรับ centos 6.x
## RHEL/CentOS 6 32-Bit ##
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm

## RHEL/CentOS 6 64-Bit ##
# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm

หลังจากนั้นทำการติดตั้ง ntfs-3g ได้เลย..ผ่าน epel
# yum --enablerepo=epel install ntfs-3g

หลังจากที่ติดตั้ง ntfs-3g แล้วก็สามารถ mount flash drive ที่เป็น ntfs บน centos ได้เลยครับ
โดยการตรวจสอบ อุปกรณ์ flash drive ก่อนว่าชื่ออะไรด้วยคำสั่ง

#fdisk -l

หลังจากนั้น ก็สร้างห้องสำหรับ mount อุปกรณ์ผมสร้างไว้ที่ #mkdir /mnt/usb

#mount -t ntfs /dev/sdb1 /mnt/usb เรียบร้อย โดยค่า sdb1 จะเป็นอุปกรณ์ flash drive ที่เสียบไป บางครั้งอาจเป็น sdc1 ขึ้นอยู่กับคำสั่ง fdisk -l ว่าโชว์ชื่ออุปกรณ์ว่าอะไร
#cd /mnt/usb อันเป็นที่เรียบร้อย

วันอังคารที่ 17 กันยายน พ.ศ. 2556

dhcp on centos 6.4

yum -y install dhcp

#nano /etc/sysconfig/dhcpd

DHCPDARGS=eth1 ใส่การ์ดแลนที่ต้องการให้แจก dhcp

#cp /usr/share/doc/dhcp-*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

นำไฟล์คอนฟิกจากตัวอย่างมาแก้ไขเป็นไฟล์ dhcpd.conf ทำการแก้ไขให้เหมาะสม

# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
ddns-update-style none;
authoritative;
log-facility local7;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.1;
option domain-name-servers 192.168.6.1;
# option domain-name "centos.local";
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.100;
}

บันทึกแล้ว start dhcpd
#service dhcpd restart
To Check the DHCP Leases on CentOS Server:

cat /var/lib/dhcpd/dhcpd.leases

วันพฤหัสบดีที่ 5 กันยายน พ.ศ. 2556

การติดตั้ง squid เพื่อแชร์เน็ตใน linux

บทความจากอินเตอร์เน็ตจากเว็บไหน..จำไม่ได้..ขอความโชคดีให้ผู้เขียนบทความ...จงเจริญ

การทำ Transparent Proxy บน Squid
กรณีที่ Squid Server เป็น Gateway

1.ให้ทำการแก้ไขหรือเพิ่มเติมข้อมูลในไฟล์คอนฟิกของ squid (squid.conf) ให้มีบรรทัดต่อไปนี้ :

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

2. ตรวจสอบแพ็กเกตที่วิ่งผ่านเครื่อง Gateway ว่าเป็นการเรียกใช้งาน Port 80 (การเรียกใช้งานเว็บ) หรือไม่ ถ้าเป็นการเรียกใช้งานที่ Port 80 ก็ให้บังคับให้ใช้งานผ่าน squid โดยใช้คำสั่ง ipchains หรือ iptables

กรณี ipchains ให้ใช้คำสั่งดังนี้ :
#ipchians -F
#ipchains -A input -p tcp -s 192.168.1.0/24 -d 0/0 80 -j REDIRECT 8080
หรืออาจจะเป็น
#ipchains -F
#ipchains -A input -p tcp -s 0/0 -d 0/0 80 REJECT 8080

หมายเหตุ ในกรณีที่ squid ทำงานที่ port อื่น เช่น 3128 ก็ให้เปลี่ยน 8080 เป็น 3128


กรณี iptables

ใช้การ์ดแลน 1 การ์ด ให้ใช้คำสั่งดังนี้ :
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -F
#iptables -t nat -F
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

ใช้การ์ดแลน 2 การ์ด โดย eth0 เป็น public และ eth1 เป็น private ให้ใช้คำสั่งดังนี้ :
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -F
#iptables -t nat -F
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

ใช้การ์ดแลน 2 การ์ดและทำ Masquerade ด้วย โดย eth0 เป็น public และ eth1 เป็น private การทำ Masquerade ด้วยจะเป็นผลดี กล่าวคือผมเคยเจอว่าการเรียกเว็บของบางที่ซึ่งมีระบบ Secure ด้วย จะใช้งานไม่ได้ เลยต้องทำ Masquerade ด้วย ซึ่งให้ใช้คำสั่งดังนี้ :
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -F
#iptables -t nat -F
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

กรณีที่ใช้ Squid ร่วมกับ Cisco Router
ในกรณีที่ Gateway เป็น Cisco Router ก็สามารถทำ Transparent Proxy ร่วมกับ Squid เช่นเดียวกันครับ แต่การทำ ต้องทำทั้งบนเครื่องที่เป็น Squid และบน Cisco Router ซึ่งใช้ Web Cache Communication Protocol (wccp)

ในที่นี้ผมจะยกตัวอย่างแบบง่าย ๆ ที่ผมเคยทดลองใช้งานได้นะครับ (ออกตัวเสียก่อน เพราะจริง ๆ แล้วผมไม่เก่งเรื่อง router มากนัก) วิธีการทำการเป็นดังนี้ครับ

ขั้นที่ 1 ทำที่ Squid
ก็ทำเหมือนกับวิธีการทั่วไปครับ คือ ให้ทำการแก้ไขหรือเพิ่มเติมข้อมูลในไฟล์คอนฟิกของ squid (squid.conf) ให้มีบรรทัดต่อไปนี้ :

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

และในไฟล์ squid.conf จะมีคำว่า :

wccp_router 0.0.0.0

ซึ่งเป็นการกำหนด IP ของ home router โดยค่า default จะเป็น 0.0.0.0 หมายถึงเป็นการ disable wccp ดังนั้นก็ให้เปลี่ยน 0.0.0.0 เป็น IP ของ Router และถ้ามีเครื่องหมาย # นำหน้าก็ให้เอาออก

ขั้นที่ 2 การใช้คำสั่งบน Cisco
ให้ใช้คำสั่งสั้น ๆ 4 คำสั่ง ดังนี้ :
Router(conf)#ip wccp version 1 # ผมลองใช้ Version 2 (ซึ่งเป็นค่า default ของ router รุ่นที่ผมใช้) ปรากฎว่ามองไม่เห็น Proxy (Cache Engine)
Router(conf)#ip wccp web-cache
Router(conf)#int e0/0
Router(conf-if)#ip wccp web-cache redirect out

หมายเหตุ ตรง e0/0 อาจจะเป็น e0 หรือ f0 ได้นะครับ ขึ้นอยู่กับรุ่นของ router

คำสั่งที่เกี่ยวข้อง
sh ip wccp
sh ip wccp web-cache detail
sh ip wccp web-cache view
clear ip wccp
clear ip wccp web-cache

จบครับ

วันอังคารที่ 20 สิงหาคม พ.ศ. 2556

block IP ต่างประเทศใน linux

บทความจากเวบ www.icez.net

block IP ต่างประเทศ ไม่ให้ FTP/SSH เข้ามาได้
บทความสิ้นคิดครับ ก๊อปวางเอาได้เลย




iptables -N FTPFILTER
iptables -A FTPFILTER -j REJECT
for i in `wget -qO - http://www.icez.net/files/thaiiplist`; do
iptables -I FTPFILTER -s $i -j ACCEPT
done
iptables -A INPUT -p tcp --dport 21 -j FTPFILTER


ถ้าจะไม่ให้ ssh ได้ด้วยก็
iptables -A INPUT -p tcp --dport 22 -j FTPFILTER

ขอบคุณมากๆ ครับคุณ icez วันนั้นผมก็ได้ข้อมูลจากคุณ icex นี่ละทำให้กรองได้เยอะเลย
ผมก็ขออนุญาติปรับปรุงต่อจากคุณ icez นิดหน่อย ผิดพลาดประการใด รบกวนช่วยกันแก้ให้ด้วยนะครับ

#************************************************
#สั่งเคลีย Firewall ก่อน
iptables -F
#สั่งเคลีย Firewall ก่อน
iptables -X

##ส่วนนี้ใช้สำหรับlist ip ของ FTP มาจาก iplist ท่าน icez
iptables -N ftp_pass
for i in `wget -qO - http://www.icez.net/files/thaiiplist`; do
iptables -A ftp_pass -s $i -j ACCEPT
done

## ในส่วนนี้ทำไว้สำหรับ Block IP ในกรณีฉุกเฉินเช่นตอนโดนยิง
## วิธี Block ก็ iptables -A block_ip -s xx.xx.xx.xx -j DROP

iptables -N block_ip
iptables -A INPUT -j block_ip

## ในส่วนนี้ทำไว้สำหรับ Block Email ดึงข้อมูลจาก www.spamhaus.org
iptables -N block_email
iptables -A INPUT -p tcp --dport 25 -j block_email
curl -s http://www.spamhaus.org/drop/drop.lasso |grep ^[1-9]|cut -f 1 -d ' ' | xargs -iX -n 1 /sbin/iptables -A block_email -s X -j DROP

#ป้องกัน scan Port หรือเปล่านะ
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

#ตรวจเช็ค State Full
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


#เฉพาะ FTP เท่านั้นที่เราจะกรอง ก็สั่งให้กระโดดไป ftp_pass
iptables -A INPUT -p tcp --dport 21 -j ftp_pass
iptables -A INPUT -p tcp --dport 20 -j ACCEPT


#เปิด ให้เข้ามา access เฉพาะ Port ที่ต้องการ
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

#ส่วนนี้ให้ดูจาก proftpd คือว่าเราเปิด port 21 ใช้ในการเชือมต่อ แต่ตอนรับส่งข้อมูลจะใช้ port 35000-35999
iptables -A INPUT -p tcp --dport 35000:35999 -j ACCEPT

# icmp ก็รับด้วยเดี่ยว ping ไม่เจอ
iptables -A INPUT -p icmp -j ACCEPT

#นอกเหนือจาก port ที่เราเปิด ก็ Block ซ่ะ (*** ระวังคำสั่งนี้ให้ดีครับ ถ้าทำบรรทัดนี้แล้วอาจจะ ssh ไม่ได้ ถ้าไม่มั่นใจให้เปิดเฉพาะ IP ตัวเองก่อน)
iptables -A INPUT -j DROP

วันศุกร์ที่ 2 สิงหาคม พ.ศ. 2556

TIPS joomla ขึ้น error There was an error uploading this file to the server.

หาก joomla error ดังกล่าว เนื่องจากไฟล์ที่เราอัพโหลดขึ้นไปใหญ่เกินกว่า 2 mb ที่เราตั้งค่าไว้ที่ php.ini ให้ปรับแก้ไขไฟล์ php.ini upload_max_filesize = 200M เอาตามพอสมควร

วันอังคารที่ 16 กรกฎาคม พ.ศ. 2556

joomla on freebsd 9.1 กรณีไม่สามารถ install module ได้

กรณีติดตั้ง joomla แล้วไม่สามารถที่จะ install พวก module หรือ components ได้ให้ compile php ให้รองรับ mod_fcgid / mod_ruid ดังคำแนะนำของท่าน 360* แห่งเวบ www.thaihostalk.com อยู่ที่การ complie PHP ถ้าใช้ mod_fcgid / mod_ruid ไม่ต้องเปิด 777 เลย

วันศุกร์ที่ 12 กรกฎาคม พ.ศ. 2556

การทำ vitual host บน freebsd 9.1 หากติดปัญหา permission ใส่ตัวนี้ที่ httpd.conf ด้วย โดยเฉพาะ require all granted ServerAdmin webmaster@phayao2.go.th DocumentRoot /home/plan/public_html ServerName plan.phayao2.go.th ServerAlias plan.phayao2.go.th Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Require all granted

วันพฤหัสบดีที่ 21 มิถุนายน พ.ศ. 2555

การติดตั้ง coova chilli แทน chillispot บน centos
ให้ถอนโปรแกรม chillispot ออก โดยใช้คำสั่ง rpm -e

#rpm -e chillispot-1.1.0.i386

รีบูตเครื่อง

reboot

ให้ติดตั้ง GCC ก่อนจะติดตั้ง coovachilli

#yum install gcc

จากนั้นให้ไป Download coovachilli มา โดยเท่าที่ทดลองดูจะติดตั้งได้กับ version ที่ต่ำกว่า 1.20 เท่านั้น

# wget http://ap.coova.org/chilli/coova-chilli-1.2.5.tar.gz

แตกไฟล์ออก

# tar -zxvf coova-chilli-1.2.5.tar.gz

แล้วติดต้ังโดยเข้าใน dirrectory ก่อน แล้วใช้คำสั่งดังนี้

# cd coova-chilli-1.2.5

# ./configure --prefix=

#make

#make install

ให้แก้ไขไฟล์ /etc/rc.d/init.d/chilli

ก่อน
"$(which start-stop-daemon)"
หลัง
"$(which start-stop-daemon 2>/dev/null)"

จะมีทั่ง 2 ตำแหน่งด้วยกัน ให้แก้ไขทั้ง 2 จุด

ให้สร้างไฟล์ config

#cp /etc/chilli/defaults /etc/chilli/config

แก้ไขไฟล์ #nano /etc/chilli/config

วิธีการติดตั้งก็เหมือนกับการติดตั้ง ทั่ว ๆ ไปที่มีอยู่ใน forum นี้นะครับหรือจะดูจาก link นี้เป็นตัวอย่างก็ได้ครับ
http://www.linuxthai.org/forum/index...331.0#lastPost
หากใช้ version ใหม่กว่านี้มีวิธีการ configure เหมือนกันครับ

แต่ถ้าหากใช้ร่วมกับหน้า log in ของ ม.บู ก็ต้องแก้ไขไฟล์ default หรือ config หากเปลี่ยนชื่อ
แก้ไขตามนี้นะครับ
จาก
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
เป็น
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/prelogin

จาก
HS_UAMFORMAT=http://\$HS_UAMLISTEN:\$HS_UAMIPORT/www/login.chi
เป็น
HS_UAMFORMAT=http://\$HS_UAMLISTEEN/wifi/hotspotlogin.php

หากต้องการแจกไอพี..ตั้งแต่ ip ให้แก้ไข

HS_DYNIP=10.1.0.50/24
HS_STATIP=10.1.0.250/24

ยกเลิก redirect web เพื่อให้ popup แสดงได้...

วันจันทร์ที่ 12 ธันวาคม พ.ศ. 2554

block เวบด้วย iptables

block เวบด้วย iptable จากท่าน linuxtoy

# vi /etc/rc.d/rc.firewall.local
iptables -t nat -I PREROUTING -p tcp -d facebook.com --dport 80 -j DROP
iptables -t nat -I PREROUTING -p tcp -d facebook.com --dport 443 -j DROP
iptables -t nat -I PREROUTING -p tcp -d facebook.com --dport 445 -j DROP
iptables -t nat -I PREROUTING -p tcp -d www.facebook.com --dport 80 -j DROP
iptables -t nat -I PREROUTING -p tcp -d www.facebook.com --dport 443 -j DROP
iptables -t nat -I PREROUTING -p tcp -d www.facebook.com --dport 445 -j DROP
iptables -I FORWARD -p tcp -d facebook.com --dport 80 -j DROP
iptables -I FORWARD -p tcp -d facebook.com --dport 443 -j DROP
iptables -I FORWARD -p tcp -d facebook.com --dport 445 -j DROP
iptables -I FORWARD -p tcp -d www.facebook.com --dport 80 -j DROP
iptables -I FORWARD -p tcp -d www.facebook.com --dport 443 -j DROP
iptables -I FORWARD -p tcp -d www.facebook.com --dport 445 -j DROP

# vi /etc/rc.local
/sbin/route add -host 66.220.149.18 reject
/sbin/route add -host 69.171.228.1 reject
/sbin/route add -host 69.171.224.13 reject
/sbin/route add -host 69.171.224.14 reject
/sbin/route add -host 69.171.229.11 reject
/sbin/route add -host 69.63.181.15 reject
/sbin/route add -host 69.171.224.12 reject
/sbin/route add -host 69.171.224.11 reject
/sbin/route add -host 66.220.158.11 reject
/sbin/route add -host 69.171.229.11 reject
/sbin/route add -host 66.220.149.11 reject
/sbin/route add -host 69.171.242.11 reject
/sbin/route add -host www.facebook.com reject
/sbin/route add -host facebook.com reject

วันเสาร์ที่ 5 พฤศจิกายน พ.ศ. 2554

หลัก clone freebsd

หลักการทำ Clonning FreeBSD ทุกรุ่น ทำแบบนี้


1. ทำระบบ FreeBSD Server ให้สมบูรณ์ พร้อมใช้งาน Web Server , Authen , FTP ฯลฯ

2. บีบอัดไฟล์ ห้องต่าง ๆ ให้ครบ ดังนี้

ทำการบีบอัดไฟล์ ห้องหลัก ๆ 4 ห้อง คือ /root /boot /etc/ /usr/ /var

จะบีดอัดห้องไหน ให้ไปที่ห้องนั้นก่อน ดังนี้

cd /usr
tar -cvf - * | gzip > /home/usr.tar.gz

อธิบาย ต้องการบีดอัดห้อง /usr ไปไว้ที่ห้อง /home ชื่อไฟล์ usr.tar.gz

จากนั้น ให้ใช้โปรแกรม SSH ดึงไฟล์จากห้อง home ไปไว้ที่เครื่อง xp จะได้ไฟล์แรก คือ usr.tar.gz
ให้ใช้คำสั่ง rm /home/usr.tar.gz เพื่อลบไฟล์ usr.tar.gz ออก ให้มีพื้นที่เหลือไว้ใช้งาน

ทำแบบนี้ให้ครบทุกห้อง จะได้ไฟล์หลัก คือ etc.tar.gz , boot.tar.gz , root.tar.gz , usr.tar.gz , var.tar.gz

จากนั้นเขียนไฟล์ setup.sh ประมาณนี้

#!/bin/sh
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
echo "#############################################################"
echo " Script Auto Install Authen and Log Server System By FreeBSDAuthen "
echo " www.kroonis.org EasyAuthen Install FreeBSDWeb-All Programs"
echo " E-mail namo_nis@hotmail.com Setup Time 20 -30 Minute "
echo " ############################################################"
mkdir /home/easy
cp /etc/fstab /home/easy/
cp /cdrom/usr.tar.gz /usr/
cp /cdrom/etc.tar.gz /etc/
cp /cdrom/var.tar.gz /var/
cp /cdrom/root.tar.gz /root/
cp /cdrom/boot.tar.gz /boot/

cd /usr/
tar xvf usr.tar.gz
rm -rf usr.tar.gz
cd /etc/
tar xvf etc.tar.gz
rm -rf etc.tar.gz
cd /var/
tar xvf var.tar.gz
rm -rf var.tar.gz
cd /root/
tar xvf root.tar.gz
rm -rf root.tar.gz
cd /boot/
tar xvf boot.tar.gz
rm -rf boot.tar.gz



cp /home/easy/fstab /etc
chmod -R 777 /tmp





ต้องการให้ระบบทำอะไร ก็เขียนคำสั่ง unix ต่อได้เลยทีละบรรทัด


........

echo "Install FreeBSDweb-All & Authen Finish By Manis Slangsingha Thank You "
reboot

เมื่อได้ไฟล์ครบแล้ว ได้แก่ setup.sh , etc.tar.gz , boot.tar.gz , root.tar.gz , usr.tar.gz , var.tar.gz
ให้เขียนไฟล์ทั้งหมดลงแผ่น DVD หรือจะสั่งให้ FreeBSD เขียนไฟล์แบบ ISO ให้ก็ได้

นำระบบไปติดตั้งกับเครื่อง Server ปลายทาง

1. Setup FreeBSD แบบ Express เพื่อให้ Boot ระบบได้

2. เข้าสู่ระบบด้วย root โดยไม่ต้องป้อนรหัสผ่าน

3. ใช้คำสั่ง ติดต่อ CD/DVD ด้วยคำสั่ง

mount /cdrom
cd /cdrom

4. สั่งติดตั้งระบบจากแผ่น DVD ด้วยคำสั่ง

sh setup.sh

เพียงเท่านี้ เราก็จะได้ระบบที่เครื่อง Server ปลายทางแล้ว ใช้เวลาทั้งหมดประมาณ 20-30 นาที

บทความนี้ เขียนขึ้นเพื่อให้สมาชิก FreeBSD สามารถทำแผ่นติดตั้งระบบของตนเองได้ ไว้ใช้งาน

คุณงามความดี เพื่อเฉลิมพระเกียรติพระบาทสมเด็จพระเจ้าอยู่หัว เนื่องในโอกาส พระราชพิธีมหามงคลเฉลิมพระชนมพรรษา ๗ รอบ ๕ ธันวาคม ๒๕๕๔

--------------------------------------------------------------------------------------------------------

ที่มาจาก : ครูมานิส สลางค์สิงห์ แห่งเว็บไซต์ www.kroonis.org

วันอังคารที่ 1 พฤศจิกายน พ.ศ. 2554

วิธีติดตั้ง DNS บน CENTOS 6.0

เครดิต ท่านโสธร รอดคงที่
yum install bind-chroot
1. chmod 755 /var/named/
2. chmod 775 /var/named/chroot/
3. chmod 775 /var/named/chroot/var/
4. chmod 775 /var/named/chroot/var/named/
5. chmod 775 /var/named/chroot/var/run/
6. chmod 777 /var/named/chroot/var/run/named/
7. cd /var/named/chroot/var/named/
8. ln -s ../../ chroot
cp /usr/share/doc/bind-9.7.0/sample/var/named/named.localhost /var/named/chroot/var/named/
cp /usr/share/doc/bind-9.7.0/sample/var/named/named.ca /var/named/chroot/var/named/
touch /var/named/chroot/etc/named.conf
##สมมุติ
เวบไซต์ http://www.example.intranet
เวบเมล์ http://webmail.example.intranet
phpMyAdmin http://phpmyadmin.example.com
IP 192.168.2.101 client01.example.com
IP 192.168.2.102 client02.example.com
###
###
nano /var/named/chroot/etc/named.conf
##
zone "example.intranet" {
type master;
file "/var/named/chroot/var/named/example.intranet.zone";
};
zone "2.168.192.inaddr.
arpa" {
type master;
file "/var/named/chroot/var/named/192.168.2.zone";
};
##
##
[root@server1 ~]# namedcheckconf
/var/named/chroot/etc/named.conf
/var/named/chroot/etc/named.conf:11: 'mastor' unexpected
ถ้าไม่มีข้อผิดพลาด
[root@server1 ~]# namedcheckconf /var/named/chroot/etc/named.conf
[root@server1 ~]#
nano /var/named/chroot/var/named/example.intranet.zone
## ใส่
$TTL 86400
@ IN SOA exaple.intranet. root.example.intranet. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS ns1
IN MX 10 mail
IN A 192.168.2.111
ns1 IN A 192.168.2.111
webmail IN A 192.168.2.111
www IN A 192.168.2.111
phpmyadmin IN A 192.168.2.111
client01 IN A 192.168.2.101
client02 IN A 192.168.2.102
###
###
nano /var/named/chroot/var/named/192.168.2.zone
##ใส่
$TTL 86400
@ IN SOA exaple.intranet. root.example.intranet. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
NS ns1.example.intranet.
111 PTR ns1.example.intranet.
111 PTR www.example.intranet.
111 PTR webmail.example.intranet.
111 PTR phpmyadmin.example.intranet.
101 PTR client01.example.intranet.
102 PTR client02.example.intranet.
##
##
/etc/init.d/named restart
เสร็จเรียบร้อย อย่าลืมเปลี่ยนชื่อเครื่องให้ถูกต้องด้วยนะครับในไฟล์ /etc/hosts

วันศุกร์ที่ 28 ตุลาคม พ.ศ. 2554

ป้องกัน ssh ด้วย iptables

#Brute Force Protection
iptables -N sshscan
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j sshscan
iptables -A INPUT -p tcp -m tcp --dport 22 --syn -i eth1 -j ACCEPT
iptables -A sshscan -m recent --set --name SSH
iptables -A sshscan -m recent --update --seconds 300 --hitcount 3 --name SSH -j LOG --log-level info --log-prefix "SSH brute force:"
iptables -A sshscan -m recent --update --

วิธีย้าย documentRoot ใน centos

หากเราต้องการย้าย documentroot ใน centos จาก /var/www/html เป็น /home
ต้องเข้าไปแก้ไขในไฟล์ httpd.conf ตรง documentroot /var/www/html เป็น /home
หลังจากนั้นต้องไปปิด selinux /etc/sysconfig/selinux จาก selinux=enforcing เป็น selinux=disabled
"""reboot ก็สามารถทำให้เราสามารถย้าย documentroot ได้อย่างสบายครับ..
หาก add user ไว้แล้วเรียกเวบ http://www.xxx/user ติด permission ลอง chmod 755 ดู ไม่แนะนำนะครับ.แต่กันลืม...