Posts Tagged ‘centos’

IPTables statefull firewall for Linux

Posted by อัทศักดิ์ วงศ์กิตตะ on Tuesday, March 23rd, 2010

หายไปนานครับ วันี้เอาเรื่องเก่าๆมาหากินใหม่ IPTables ที่ทำๆอยู่ทุกวันนี้แหละครับ พอดีทำ Shell Script ทิ้งไว้เลยเอามาแจกจ่ายให้เพื่อนๆเอาไปใช้งาน หลายๆคนถามว่าทำไมต้องเขียนเอง ก็เหตุผลง่ายๆครับ เราเขียนเองเรารู้ทุกๆ rules ที่มันทำงานอย่างไร เวลาเกิดปัญหา เราสามารถแก้ไขปัญหาได้ รวดเร็ว มาดูความสามารถของ script firewall ตัวนี้ครับ

ความสามารถ:
– State full firewall
– สามารถกำหนด Interface ที่ทำงานได้
– สามารถกำหนด VIP IP ได้
– สามารถกำหนด Band IP ได้
– มีการเก็บ Log ลง syslog
– ป้องกันการ Scan port ได้
– ป้องกัน IP Spoofig
– ป้องกัน SSH Attatch
Continue reading “IPTables statefull firewall for Linux” »

SSH โดยไม่ต้องใส่รหัสผ่าน

Posted by กวิน ชัยเลิศ on Friday, January 16th, 2009

สำหรับผู้ดูแลระบบที่มีความจำเป็นต้องใช้งาน Remote Login ผ่าน OpenSSH Client อยู่เป็นประจำไม่ว่าจะใช้งานบน Linux, *BSD, Mac OS X คงจะเกิดอาการเบื่อไม่น้อยที่ต้องพิมพ์ Password ทุกๆ ครั้งที่ต้องการจะ Login (ไม่นับ Password จำพวก 123456 นะครับ) ทางออกสำหรับผู้ที่ต้องการ Login โดยไม่ต้องพิมพ์ Password แถมยังคงความปลอดภัยตามแบบฉบับของ OpenSSH สามารถทำได้ตามวิธีดังต่อไปนี้ครับ

ระบบที่ทำการทดสอบ
- OpenSSH Client บน Mac OS X 10.5.6
- OpenSSH Server บน Ubuntu 8.04

ขั้นตอนแรก ทำการสร้าง keys สำหรับยืนยันตัวตนระหว่าง Client และ Server (ทำบนเครื่อง Client ในที่นี้คือ Mac OS X)

MacClient:~ UserA$ ssh-keygen -t rsa
MacClient:~ UserA$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/UserA/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/UserA/.ssh/id_rsa.
Your public key has been saved in /Users/UserA/.ssh/id_rsa.pub.
The key fingerprint is:
a4:74:0b:bc:2f:d1:f5:c7:4e:90:51:7f:f4:45:84:a0 UserA@MacClient

Continue reading “SSH โดยไม่ต้องใส่รหัสผ่าน” »

วิธีติดตั้ง Reverse Proxy ด้วย Squid

Posted by กวิน ชัยเลิศ on Friday, July 11th, 2008

ในเบื่องต้นผมขอแนะนำให้รู้จัก Squid กันก่อนครับ

Squid เป็น Open Source Software ที่ให้บริการ Proxy caches ซึ่ง Squid สามารถติดตั้งให้ทำงานใน 3 รูปแบบหลักดังนี้

1. Standard Proxy Cache
ใช้สำหรับเก็บ cache ของ static web pages จำพวก html และรูปภาพ โดยทั่วไปมักจะถูกใช้งานใน network ภายในองค์กร โดยที่ web pages ต่างๆ ที่ถูกเรียกผ่าน local network เป็นครั้งที่สอง web browser จะแสดงผล web pages นั้นผ่าน proxy cache แทนที่ไปดึงข้อมูลจาก web server มาแสดงผล (ประหยัด bandwidth และเพิ่มความเร็วในการแสดงผล)

2. Transparent Cache
ความสามารถหลักๆ เหมือนกับการติดตั้งแบบ standard proxy cache จะแตกต่างกันที่การติดตั้งแบบ transparent cache ไม่จำเป็นต้องปรับแต่ง web browser ให้สามารถใช้งาน proxy cache โดยที่ transparent cache จะทำหน้าที่คอยกรอง HTTP traffic (on port 80) แล้วตรวจสอบว่า request นั้นมีอยู่ใน cahce หรือไม่ ถ้าไม่มีก็จะทำการส่งต่อไปยัง web server ของ web pages นั้น (สำหรับ Linux การใช้งาน transparent cache จะใช้ควบคู่ไปกับ iptables ในการกรอง HTTP traffic)

3. Reverse Proxy Cache
สำหรับ reverse proxy cache จะทำหน้าที่แตกต่างกับ standard และ transparent caches โดยที่ reverse proxy cache จะทำหน้าที่ลดภาระของ web server แทนที่การลด network bandwidth ของฝั่ง client กล่าวคือ reverse proxy cache ถูกติดตั้งอยู่หน้า web server (ระหว่าง internet และ web server) คอยจัดการ traffic ที่เกิดขึ้นทั้งหมดก่อนจะถึง web server ป้องกัน traffic ที่เพิ่มขึ้นโดยไม่พีงประสงค์ (ซึ่งอาจจะโดนโจมตีจาก hacker เป็นต้น) อีกทั้งยังลดภาระของ web server อีกทางนึง

Continue reading “วิธีติดตั้ง Reverse Proxy ด้วย Squid” »

ยกเลิก Blank Screen บน Linux Console

Posted by กวิน ชัยเลิศ on Thursday, July 3rd, 2008

ไม่ยากใช่ไหมครับหากต้องการยกเลิก screen saver บน X window แต่สำหรับ text mode (linux console) ผมคิดว่าหลายๆ คนยังไม่เคยยกเลิก blank screen หรือกำลังหาทางยกเลิกมันอยู่ สำหรับผมแล้วการยกเลิก blank screen บน linux console นั้นมีประโยชน์มากครับ ยกตัวอย่างเช่น เราสามารถทำงานไปพร้อมๆ กันกับการ monitor ดู error หรือ log จากอีกจอนึง (กรณีมีจอ monitor มากกว่าหนึ่งจอ) โดยที่ไม่ต้องคอยกดคีย์บอร์ดหรือเลื่อนเมาส์เพื่อให้ linux console แสดงผลอยู่ตลอดเวลา

สำหรับวิธีการนั้นก็ไม่ได้ยุ่งยากเลยครับ แค่ใช้คำสั่ง setterm เท่านั้น

setterm -blank 0 -powersave off -powerdown 0 < /dev/console > /dev/console 2>&1

หากต้องการยกเลิก blank screen ทุกครั้งหลังจาก start linux ให้ทำการเพิ่มคำสั่งดังกล่าวในไฟล์ /etc/rc.local เพียงเท่านี้ก็ไม่ต้องคอยกดคีย์บอร์ดหรือเลื่อนเมาส์ทุกๆ 5 นาทีแล้วครับ

จัดเก็บ Logs ของ ADSL Router ด้วย syslog บน CentOS

Posted by กวิน ชัยเลิศ on Wednesday, June 25th, 2008

แค่ออกแรงปรับแต่ง ADSL Router (ZyXel P660HW-T1) กับ syslog บน CentOS เพิ่มเติมอีกนิดก็จะสามารถจัดเก็บ Logs ของ ADSL Router ได้แล้วครับ

ขั้นแรกทำการแก้ไข file “/etc/sysconfig/syslog” โดยเพิ่ม -r เข้าไปที่ SYSLOGD_OPTIONS ซึ่งเดิมๆ จะเป็นตามนี้ครับ

SYSLOGD_OPTIONS="-m 0"

หลังจากทำการแก้ไข

SYSLOGD_OPTIONS="-r -m 0"

เพิ่ม -r เข้าไปยัง SYSLOGD_OPTIONS เพื่อจะบอกให้ syslog daemon ยอมรับ logs จากเครื่องหรืออุปกรณ์อื่นๆ

Continue reading “จัดเก็บ Logs ของ ADSL Router ด้วย syslog บน CentOS” »

ติดตั้ง Linux ผ่าน Network ด้วย PXE Server

Posted by กวิน ชัยเลิศ on Saturday, June 21st, 2008

มาทำความรู้รักกับ PXE กันก่อนครับ
PXE หรือ Preboot eXecution Environment เป็น Open Standard ที่พัฒนาขึ้นโดย Intel ซึ่ง PXE นี้จะยอมให้ Computer ต่างๆ (Server, PC, Laptop, Notebook ที่ BIOS ลองรับ PXE Booting) สามารถ boot ผ่าน network ได้ไม่ต้องง้อ floppy, cd หรือ dvd กันเลยทีเดียว (มันสุดยอดจริงๆ ครับ)

มาลุยกันเลยครับ
Server : CentOS 5.1 + dhcp + tftp-server + httpd + syslinux
Client : Ubuntu 8.04

เอาเป็นว่าทุกๆ ท่านติดตั้ง CentOS ไว้เป็นที่เรียบร้อย ทีนี้ก็เป็นขั้นตอนการติดตั้ง PXE Server ละครับ

แปลงร่างเป็น root

su -

ติดตั้ง dhcp, tftp-server, httpd และ syslinux

yum install dhcp tftp-server httpd syslinux

เตรียม install files (ผมเลือกติดตั้ง Ubuntu 8.04)
>>วิธี mount iso image บน linux

wget http://ftp.science.nus.edu.sg/linux/ubuntu-ISO/8.04/ubuntu-8.04-server-i386.iso
mkdir -p /var/www/html/mirror/ubuntu/8.04
mount -o loop ubuntu-8.04-server-i386.iso /var/www/html/mirror/ubuntu/8.04
cp -fr /var/www/html/mirror/ubuntu/8.04/install/netboot/* /tftpboot

Continue reading “ติดตั้ง Linux ผ่าน Network ด้วย PXE Server” »

mount iso image บน linux

Posted by กวิน ชัยเลิศ on Thursday, June 19th, 2008

เราสามารถเรียกดูไฟล์ใน iso image บน linux ด้วยวิธีการง่ายๆ โดยใช้คำสั่ง mount ตามขั้นตอนต่อไปนี้

แปลงร่างเป็น root

su -

สร้่าง directory สำหรับ mount iso image

mkdir -p /var/www/mirror/centos/5

ทำการ mount iso image ด้วยคำสั่งตามตัวอย่าง

mount -o loop CentOS-5.1-i386-bin-DVD.iso /var/www/mirror/centos/5

ทดสอบเรียกดูรายชื่อไฟล์ที่อยู่ใน iso image

ls /var/www/mirror/centos/5

ในตัวอย่างเป็นการเตรียมไฟล์สำหรับติดตั้ง CentOS ผ่าน Network ซึ่งมีข้อดีดังนี้
1. ลดโลกร้อน :) เพราะไม่ต้อง Burn DVD ประหยัด DVD หนึ่งแผ่น
2. ประหยัดพื้นที่ในการเก็บข้อมูลของ Harddisk (เก็บไว้เพียง iso image)
3. ประหยัดเวลาในการ Burn DVD
4. สามารถติดตั้ง CentOS ผ่าน Network ได้พร้อมกันหลายๆ เครื่อง