Friday, March 30, 2007

[Linux] เวลาเอาไฟล์จาก dos มาใช้บน linux แล้วเห็น ^M

มักจะมีปัญหาว่าเอาไฟล์จาก dos มาใช้ใน linux แล้วเห็นเป็น ^M อยากจะเอามันออก

#col -bx < dos-filename > new-filename

[Linux] จะใช้ console ผ่าน com1 กับ linux

อยากทำเท่ config linux ผ่าน console เหมือนพวก router
vi /etc/grub.conf
serial --unit=0 --speed=9600
terminal --timeout=15 console serial

บรรทัด kernel ต่อท้ายบรรทัดด้วย console=tty0 console=ttyS0

ถ้า loader ใช้ lilo
vi /etc/lilo.conf
serial = 0,9600n8
append = "console=ttyS0,9600n8"

vi /etc/inittab
S1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100

vi /etc/securetty
! เอา remark ออกตรง ttyS0 เพื่อให้ root สามารถ login ได้

[Linux] เคยดู log ของ Squid แล้วอยากดู timestamp ที่มันรู้เรื่องหน่อย

vi converttime.pl
#!/usr/bin/perl -p
s/^\d+\.\d+/localtime $&/e;

เวลาใช้งาน
#./converttime.pl access-log

ค่อยรู้เรื่องหน่อย

[Cisco] ใช้ Cisco ต่อ adsl modem แล้ว dial ออกไป

นานมาแล้วเรื่องมันมีอยู่ว่ามี router cisco อยู่ 1 ตัวถ้าไปซื้อ adsl module มันก็จะแพงไป พอดีเราก็มี adsl modem ที่ได้ฟรีมา ดีเลยเราใช้ cisco router ใช้ connect ผ่าน adsl modem ออกไป เยี่ยมเลยถ้าทำ nat ก็ work ไปเลย

PC--- f0/1 { Cisco } f0/0 -------(adsl modem)-------------adsl line

conf t

ip dhcp pool default
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
dns-server 203.144.y.y 203.144.x.x

interface f0/0
no ip address
no ip proxy-arp
pppoe enable group global
pppoe-client dial-pool-number 1

interface f0/1
ip add 192.168.10.1 255.255.255.0
ip tcp adjust-mss 1452
ip nat inside
no shut

no shutdown
interface dialer1
ip address negotiate
ip mtu 1492
encapsulation ppp
no ip proxy-arp
dialer pool 1
dialer-group 1
ppp chap hostname USERNAME
ppp chap password PASSWORD
ppp pap sent-username USERNAME password PASSWORD

ip nat inside source list 1 interface dialer1 overload
access-list 1 permit 192.168.10.0 0.0.0.255
ip route 0.0.0.0 0.0.0.0 dialer1
dialer-list 1 protocol ip permit

!-------------------------------------------------------------

ลองเอาไปใช้ดูครับ

[Cisco] Config Cisco เป็น VPN/IPSec Server

ผมใช้ VPN Client ของ Cisco connect มาที่ Cisco7200 ip x.x.x.x เพื่อใช้ resource ที่อยู่ใน LAN
Group = CISCO_GROUP
Group Password = cisco_group
Username = cisco
Password = cisco

aaa authentication login vpn_authen local
aaa authorization network vpn_group_authen local
!
username cisco password cisco
!
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2
!
crypto isakmp client configuration group CISCO_GROUP
key cisco_group
pool VPN_CLIENT_POOL
acl 102
!
crypto ipsec transform-set vpn_client esp-3des esp-sha-hmac
crypto ipsec df-bit clear
!
crypto dynamic-map dynmap 50
set transform-set vpn_client
reverse-route
!
crypto map vpn client authentication list vpn_authen
crypto map vpn isakmp authorization list vpn_group_authen
crypto map vpn client configuration address respond
crypto map vpn 50 ipsec-isakmp dynamic dynmap
!
interface FastEthernet0/0
description ## LAN ##
ip address 172.31.1.254 255.255.255.0
duplex half

!
interface Serial0/0
description ## Internet ##
ip address x.x.x.x y.y.y.y
crypto map vpn
!
ip local pool VPN_CLIENT_POOL 172.31.3.1 172.31.3.10
!
access-list 102 permit ip 172.31.1.0 0.0.0.255 172.31.3.0 0.0.0.255
!

[Private] ขอขอบคุณลูกพี่

ขอขอบคุณลูกพี่ Google ที่ทำให้ผมทำ Blog และ share ความรู้ทุกอย่างครับ
ขอบคุณพี่ Google อีกครั้งครับ

แสดงความคิดเห็นสำหรับ Blog ของผม

ช่วยแสดงความคิดเห็นหน่อยครับ อาจจะแนะนำว่าผมเขียนผิด หรือไม่ดีตรงไหนผมจะได้ปรับปรุงผลงานต่อไป ขอบคุณทุกคนที่เข้ามาเยี่ยมชมและแสดงความคิดเห็น หรือจะให้ผมช่วยอะไรได้บ้าง ก็บอกกันมา(ถ้าทำได้)......

[Cisco] เคยรำคาญกันบ้างไหมเวลาเราพิมพ์ command ผิดแล้ว???

เคยรำคาญกันบ้างไหมเวลาเราพิมพ์ command ผิดแล้วมันไป resolve dns หรืออื่นๆที่ทำให้เรารอนานกว่ามันจะขึ้น prompt

C3825-FTN-OFFICE#xxx !<--- แกล้ง router โดยใส่ command ผิดไป
Translating "xxx"...domain server (255.255.255.255) !<--- ไป resolve dns ทำให้รอนาน

Translating "xxx"...domain server (255.255.255.255)

Translating "xxx"...domain server (255.255.255.255)
(255.255.255.255)% Unknown command or computer name, or unable to find computer address
C3825-FTN-OFFICE#conf t
Enter configuration commands, one per line. End with CNTL/Z.
C3825-FTN-OFFICE(config)#no ip domain lookup !<--- disable ไม่ให้มันไป resolve dns
C3825-FTN-OFFICE(config)#exit
C3825-FTN-OFFICE#xxx !<--- อีกรอบลองใส่ผิดอีก
Translating "xxx" ! <--- มันดันไป translate อะไรอีกล่ะเนี่ย

Translating "xxx"

Translating "xxx"
% Unknown command or computer name, or unable to find computer address
C3825-FTN-OFFICE#conf t
Enter configuration commands, one per line. End with CNTL/Z.
C3825-FTN-OFFICE(config)#line vty 0 4
C3825-FTN-OFFICE(config-line)#transport preferred none !<---- นี้เลยไป disable มันซ่ะเลย
C3825-FTN-OFFICE(config-line)#
C3825-FTN-OFFICE#xxx
^
% Invalid input detected at '^' marker. !<--- ค่อย make sense หน่อยว่าเราใส่ cmd ผิด

C3825-FTN-OFFICE#

[Cisco] การ Ping test ระบุ options

การ ping test เราควรกำหนด pattern ของ data ที่ส่งออกไปเพื่อ test การตอบสนอง bit 0,1 ซึ่ง data ค่า default 0xABCD และถ้าต้องการกำหนด size ของ packet
- กำหนด pattern ของ DATA
#ping ip 192.168.1.1 data FFFF repeat 100
and
#ping ip 192.168.1.1 data 0000 repeat 100
- กำหนด size ของ packet แต่ถ้าเกิน MTU จะ ถูก defrag
#ping ip 192.168.1.1 repeat 100 size 2000
- กำหนด size ของ packet และ set DF bit (dont' fragment bit)
#ping ip 192.18.1.1 repeat 100 size 2000 df-bit
- ระบุ source ip address
#ping ip 192.168.1.1 repeat 100 source 172.16.1.1
or
#ping ip 192.168.1.1 repeat 100 source Serial0/0 !-- ระบุ source ip เป็นของ serial0/0

Thursday, March 29, 2007

[Cisco] เขียน script tcl บน router

Cisco ก็สามารถเขียน script TCL ได้น่ะครับ ตัวอย่างต้องการ ping ไปหลายๆ ip

#tclsh ! เรียกใช้ tcl shell
foreach ip {
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
} { puts [ ping $ip source loopback0 repeat 100 ] }

! ก็จะเห็น Output
! ถ้าต้องการ ออกจาก tcl shell
#tclquit

เราสามารถเอาไป apply เพื่อใช้งาน script อื่นๆได้

[Cisco] เคยลอง ping test จำนวนมาก ไปที่ CAT65xx ตัวเอง แล้ว show proc cpu สูงมาก

วิธีแก้ไขให้ไปทำการ police icmp ที่ control-plane
แต่ผลของการ config จะไม่มีผลกับการ ping ผ่านตัว router ออกไป น่ะครับ จะมีผลเฉพาะกับการ ping มาที่ตัว router เท่านั้น
#conf t
ip access-list extended DDOS
permit icmp any any
class-map DDOS
match access-group name DDOS
policy-map CONTROL_PLANE
class DDOS
police 128000 conform-action transmit exceed-action drop violate-action drop
control-plane
service-policy input CONTROL_PLANE
end
#show policy-map control-plane
เท่านี้เรียบร้อยแล้ว ping มาที่ตัว router เท่าไหร่ก็ cpu ไม่สูง

[Cisco] ให้เก็บ config เป็น Archive log เวลา write mem ทุกครั้ง

เวลาเราต้องการดู log config เก่าๆมักจะมีปัญหา เพราะอาจจะไม่มีการเก็บไว วิธีนี้จะทำการเก็บ config ไว้ทุกครั้งที่ทำการ write mem ....
IOS version ใหม่ๆหน่อยน่ะครับ
เราจะทำ archive configไปเก็บไว้ใน flash ง่ายสุด

#mkdir flash:config-backup !<-- สร้าง directory ก่อนเพื่อเก็บ config
#conf t
archive
path flash:config-backup/config
maximum 14
write-memory
end
เสร็จแล้วต้องลองทดสอบดู
#wr
#show archive
There are currently 7 archive configurations saved.
The next archive file will be named flash:config-backup/config-7
Archive # Name
0
1 flash:config-backup/config-1
2 flash:config-backup/config-2
3 flash:config-backup/config-3
4 flash:config-backup/config-4
5 flash:config-backup/config-5
6 flash:config-backup/config-6 <- Most Recent
7
8
9
10
11
12
13
14
Ok จะเห็น config เก็บไว้

รู้จัก traceroute


คำสั่ง traceroute ในแต่ล่ะอุปกรณ์จะใช้ protocol ไม่เหมือนกันน่ะครับ บางครั้งเราอาจจะใช้ router trace ได้แต่ใช้ windows trace ไม่ได้อาจจะเป็นเพราะปลายทางมีการ block protocol บางประเภทเท่านั้น
Cisco ใช้ UDP ในคำสั่ง traceroute (udp port number 33434)
Windows ใช้ ICMP ในคำสั่ง tracert
Linux สามารถใช้ ICMP หรือ UDP ในคำสั่ง traceroute
การทำงาน(อ้างอิง Cisco ใช้ UDP port 33434)
1. ตัวอุปกรณ์ source จะทำการส่ง packet ออกไป 3 packet โดยชุดแรกก็จะ set TTL เป็น 1 เมื่อ router hop แรกโดยปกติเมื่อรับ packet ก็จะทำการลดค่า TTL ลง 1 ฉะนั้นเมื่อจะทำให้ TTL มีค่าเท่ากับ 0 ตัว router ก็จะส่ง ICMP message กลับไปบอก source ด้วย ICMP type time-exceed ทำให้ source รู้ว่า next hop แรกเป็น ip อะไร
2. Source จะทำการส่ง packet ออกครั้งที่ 2 แต่จะ set TTL เป็น 2 ซึ่งเมื่อ packet ผ่านแต่ละ router ก็จะมีการลดค่า TTL ทีล่ะ 1 ซึ่งเมื่อ router hop ที่ 2 ทำการลดค่า TTL ลงทำให้ TTL=0 router ก็จะส่ง ICMP type time-exceed กลับไปบอก source ก็เลยทำให้ source รู้ว่า hop ที่ 2 เป้น ip อะไร
3. Source จะทำการส่ง packet ออกไปแต่ล่ะครั้งก็จะเพิ่ม TTL ครั้งล่ะ 1 ทำให้ในแต่ล่ะ hop ตัว source รู้ว่าเป็น ip อะไรเพราะดูจาก ICMP time-exceed ที่ส่งกลับมา
4. เมื่อ packet ไปถึง destination ปรากฏว่า เมื่อ destination รับ packet เข้ามาเป็น udp port 33434 ซึ่ง destination ไม่ได้เปิด udp port 33434 นี้ ก็จะส่ง ICMP type port-unreachable กลับไปหา source ซึ่งจะทำให้ source รู้ว่า packet นี้กลับมาจาก destination จริงๆ

[Cisco] command ใน cisco สำหรับ test aaa

ต้องการ performance testing ของ aaa
#conf t
aaa new-model
aaa authentication login default group radius local
radius-server host 192.168.1.1 key cisco

#test aaa group radius USERNAME PASSWORD new-code count 1000 rate 100

[Mac] จน เครียด อยากได้ MacBook

acตอนนี้มีอาการบ้า อยากได้ macbook 2.0G black มาใช้เล่นจัง ต้องมาระบายใน blog

[Linux] เขียนแต่ cisco มาเยอะแล้วอยากเก็บ script firewall ง่ายๆเอาใว้ใช้เอง

เขียนแต่ cisco มาเยอะแล้วอยากเก็บ script firewall ง่ายๆเอาใว้ใช้เอง เวลา install linux จะได้ copy ไปใช้เลย
#vi rc.firewall
#! /bin/sh

export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"

do_start() {

iptables -A INPUT -i lo -j ACCEPT

## syn-flodding protection
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j LOG --log-prefix "FIREWALL SYN-FLOOD: "
iptables -A syn-flood -j DROP

iptables -A INPUT -p udp -m udp -s 0/0 --sport 53 -d 0/0 -j ACCEPT

## Make sure NEW tcp connections are SYN packets
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

## Allow deluge bittorrent open tcp port 53045
iptables -A INPUT -p tcp -m tcp --dport 53045 --syn -j ACCEPT
## Allow ssh open tcp port 22
iptables -A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT

iptables -A INPUT -p udp -j LOG --log-prefix "FIREWALL UDP-IN: "
iptables -A INPUT -p udp -j DROP
iptables -A INPUT -p icmp -j LOG --log-prefix "FIREWALL ICMP-IN: "
iptables -A INPUT -p icmp -j DROP
iptables -A INPUT -p tcp -j LOG --log-prefix "FIREWALL TCP-IN: "
iptables -A INPUT -p tcp -j DROP
iptables -A INPUT -j LOG --log-prefix "FIREWALL PROTO-X-IN: "
iptables -A INPUT -j DROP

}

do_stop() {
iptables -F
iptables -X
iptables -Z
}

case "$1" in
start)
echo "Starting Firewall..."
do_start
;;
stop)
echo "Stopping Firewall..."
do_stop
;;

restart)
echo "Restarting Firewall..."
do_stop
sleep 2
do_start
;;

*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

exit 0

[Cisco] อยากจะ decrypt password ที่เราตั้งไว้ใน cisco router

พอดีลืม password ของ router แต่มันถูก encrypt ไว้ แต่มี config ของเก่าเก็บไว้ไม่อยากจะ recovery password ทำไงดี...ไม่มี program decrypt ด้วย พอดีมี trick ซึ่งใช้ได้เฉพาะที่เป็น type 7 เท่านั้น เช่นใน router มีการ config

username admin password 7 112A3036343D
เราต้องการ decrypt 7 112A3036343D ว่าเป็นอะไร
Router(config)#key chain TEST
Router(config-keychain)#key 1
Router(config-keychain-key)#key-string 7 112A3036343D
Router(config-keychain-key)#end
Router#sh key chain TEST
Key-chain TEST:
key 1 -- text "CISCO" ! <--- this is result from decrypt accept lifetime (always valid) - (always valid) [valid now] send lifetime (always valid) - (always valid) [valid now]
เรียบร้อยรู้แล้วว่าเป็น key อะไร......

[Cisco] จะ config access-list ให้ทำงานในช่วงเวลา

ตัวอย่างต้องการ permit ip any เฉพาะในช่วงเวลาทำงาน
R1#conf t
time-range WorkHours ! สร้าง time-range ชื่อ WorkHours
periodic weekdays 8:30 to 17:30 ! กำหนดช่วงเวลาทุกวันจันทร์ - ศุกร์ เวลา 08:30 - 17:30
access-list 100 permit ip any any time-range WorkHours ! access-list อ้างไปใช้ time-range
interface s0/0
ip access-group 100 in ! apply ใน interface

[Cisco] อยากตั้งเวลาให้ save config ใน router เหมือน crontab ใน linux

ตั้งเวลา run command ใน Cisco คล้าย crontab ใน linux
Ex. ตัวอย่างต้องการ save config ทุกๆ 5 นาที
R1#conf t
kron occurrence BACKUP in 5 recurring ! สร้าง kron ชื่อ BACKUP ให้ run ทุกๆ 5 นาที
policy-list BACKUP ! มีการเรียกใช้ policy-list BACKUP
!
kron policy-list BACKUP ! สร้าง policy-list ชื่อ BACKUP
cli write ! run command: write
!
! ตรวจสอบการทำงานของ kron
R1#show kron schedule
Kron Occurrence Schedule
BACKUP inactive, will run again in 0 days 00:04:3

[Cisco] Cisco router ก็สร้างเมนูก็ได้น่ะ

ไม่รู้ว่าจะเริ่มต้นยังไงเอาเป็นว่าเรามา config Cisco router ให้มีเมนูใช้เวลาเรา login เข้ามา

ต้องการสร้าง menu โดยมี command ให้ใช้ 4 items คือ
ถ้าเลือก 1 ping to R5 with ip 150.1.5.5
2 ping to R6 with ip 150.1.6.6
3 traceroute to R5 with ip 150.1.5.5
4 traceroute to R5 with ip 150.1.6.6
5 exit ออกจาก menu
menu MAIN-MENU clear-screen
menu MAIN-MENU title Title Menu for MAIN-MENU <---------- แสดง title menu menu MAIN-MENU line-mode <---- เพื่อต้องการให้ key enter เมื่อเลือก item โดยปกติถ้าเรากด key มันจะทำงานตาม item นั้นทันที menu MAIN-MENU text 1. Ping to R5 <--- แสดงข้อความ "Ping to R5" menu MAIN-MENU command 1. ping 150.1.5.5 <---- item ที่ 1 ให้ run command : ping 150.1.5.5 menu MAIN-MENU text 2. Ping to R6 menu MAIN-MENU command 2. ping 150.1.6.6 menu MAIN-MENU text 3. Traceroute to R5 menu MAIN-MENU command 3. trace 150.1.5.5 menu MAIN-MENU text 4. Traceroute to R6 menu MAIN-MENU command 4. trace 150.1.6.6 menu MAIN-MENU text 5. Exit menu MAIN-MENU command 5. exit menu MAIN-MENU prompt CPlease Selection menu: <--- แสดง prompt และ รับ key item ที่เลือก
เวลาเราลบ menu เราไม่สามารถเลือกลบบางบรรทัดได้
no menu MAIN-MENU
เมื่อเราสร้างเมนูขึ้นมาแล้วเราจะต้องไป apply เพื่อใช้งานด้วย
username test password cisco
username test autocommand menu MAIN-MENU <---- ใช้ autocommand เมื่อ username test login เข้ามาให้เรียกใช้ menu MAIN-MENU ทันที
line vty 0 4
login local <---- ให้เลือกใช้ authen ผ่าน local system
มาดู output
-----------------
Title Menu for MAIN-MENU
1. Ping to R5
2. Ping to R6
3. Traceroute to R5
4. Traceroute to R6
5. Exit
Please Selection menu:6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.6.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/176/304 ms

[Cisco] Config Cisco870 ต่อ ADSL

พอดีลูกค้าให้ผม config Cisco870 เชื่อมต่อ ADSL ของ true เลยเอา config มาแบ่งกัน
ผมใช้ IOS version นี้ และต้องขอโทษด้วยครับที่ไม่มี show status พอดีลืม capture ไว้....

Cisco IOS Software, C870 Software (C870-ADVIPSERVICESK9-M), Version 12.4(11)T, RELEASE SOFTWARE (fc2)
ตัวอย่างการ config
Router#sh run
Building configuration...

Current configuration : 1377 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
ip cef
!
!
no ip dhcp use vrf connected
!
ip dhcp pool DEFAULT
network 172.25.0.0 255.255.255.0
default-router 172.25.0.254
dns-server 203.144.207.29 203.144.207.49
!
!
!
multilink bundle-name authenticated
!
interface ATM0
mtu 1492
no ip address
no atm ilmi-keepalive
pvc 0/100
encapsulation aal5snap
pppoe-client dial-pool-number 1
!
dsl operating-mode auto
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3

!
interface Vlan1
ip address 172.25.0.254 255.255.255.0
ip nat inside
ip virtual-reassembly
!
interface Dialer1
ip address negotiated
ip nat outside
ip virtual-reassembly
encapsulation ppp
dialer pool 1
dialer-group 1
ppp pap sent-username USERNAME password PASSWORD
!
ip route 0.0.0.0 0.0.0.0 Dialer1
!
!
no ip http server
no ip http secure-server
ip nat inside source list 1 interface Dialer1 overload
!
access-list 1 permit 172.25.0.0 0.0.0.255
dialer-list 1 protocol ip permit
!
!
!
!
control-plane
!
!
line con 0
no modem enable
transport output all
line aux 0
line vty 0 4
login
!
scheduler max-task-time 5000

end


[Cisco] Config ให้ Cisco router เป็น PPPoE server

พอดีหัวหน้าอยากได้ให้ Cisco router สามารถทำเป็น pppoe server ใน LAN แล้วให้ user ใน LAN connect ผ่าน PPPoE ก่อนออกไป internet โดยใช้ username/password จาก radius server.

network diagram..
{internet cloud}<----->[ g0/0 Cisco2800 g0/1 ]<----->[ PC .(pppoe client) ]

aaa authentication login PPPoE group radius local
aaa authentication ppp PPPoE group radius local
aaa authorization network PPPoE group radius local
aaa accounting exec PPPoE start-stop group radius
aaa accounting network PPPoE start-stop group radius

bba-group pppoe global
virtual-template 1
sessions auto cleanup

interface GigabitEthernet0/0
description *** public internet ***
ip address x.x.x.x 255.255.255.252
load-interval 30
duplex auto
speed auto
ip nat outside
end

interface GigabitEthernet0/1
description *** PPPoE ***
ip address 192.168.222.1 255.255.255.0
load-interval 30
duplex auto
speed auto
pppoe enable group global
end

interface Virtual-Template1
ip unnumbered GigabitEthernet0/0
ip nat inside
ip virtual-reassembly
peer default ip address pool PPPoE_POOL
ppp authentication pap PPPoE
ppp authorization PPPoE
ppp accounting PPPoE
!

ip local pool PPPoE_POOL 192.168.234.1 192.168.234.254
ip nat inside source list 1 interface GigabitEthernet0/0 overload

radius-server host 192.168.222.2 key cisco
access-list 1 permit 192.168.234.0 0.0.0.255


[linux] อยากทำ ramdisk ใน linux

อันเนื่องมาจากต้องการเขียนและอ่านไฟล์เร็วๆ ไว้สำหรับเป็น temp ไฟล์เลยต้องสร้าง ramdisk แล้วไปใช้เนื้อที่ตรงส่วนนั้น เริ่มต้นเลยดีกว่า
ผมใช้ linux Ubuntu 7.04 (feisty) ครับ
sudo vi /boot/grub/menu.lst
เพิ่มตรงบรรทัด kernel ตรงท้ายบรรทัด ramdisk_size=256000 (หน่วยเป็น K) แล้ว reboot
พอ reboot ให้ตรวจสอบโดย
#dmesg | grep RAM
RAMDISK driver initialized: 16 RAM disks of 256000K size 1024 blocksize
จากนั้นเราสร้างเป็น script ไว้เรียกใช้
vi make_ramdisk.sh
#!/bin/sh
dd if=/dev/zero of=/dev/ram0 bs=1k count=256000
mke2fs -vm0 /dev/ram0 256000
mkdir -p /mnt/ramdisk
mount /dev/ram0 /mnt/ramdisk

จัดการให้มันสามารถ execute ได้
#sudo chmod 755 make_ramdisk.sh

เริ่มต้นที่จะมี blog เป็นของตัวเอง....

ไม่รู้เป็นไงอยากมี blog เป็นของตัวเองให้ชาวบ้านมาอ่านดู...............แบ่งปันความรู้ (หรือความโง่) ออกมาให้สาธารณะชน ยืมคำจาก www.pantip.com ว่า "ไม่มีใครรู้ในทุกๆ อย่าง เรารู้ในสิ่งที่ผู้อื่นไม่รู้ มากเท่ากับที่ไม่รู้ในสิ่งที่ผู้อื่นรู้"