วันศุกร์ที่ 13 กุมภาพันธ์ พ.ศ. 2558

เพิ่มประสิทธิภาพการทำงานของ guest Windows 7 บน KVM ด้วยการติดตั้งไดร์เวอร์ Virtio

ยินดีต้อนรับสู่เวบไซต์ s-techthai.com รวบรวมประสพการณ์จริงของผู้เขียน เพื่อจัดเก็บเป็นองค์ความรู้เพื่อเป็นแนวทางในการนำมาใช้งานอีกครั้งหนึ่งหรือเกิดความคิดในการนำไปต่อยอด เป็นประโยชน์กับหลายๆ คนที่ยังมองไม่เข้าใจ ผู้เขียนเคยรัน guest Windows7 ultimate 64 bit  บน KVM สำหรับเซิร์ฟเวอร์ที่ใช้ระบบปฏิบัติ Ubuntu Server 14.04.1

โดยการสร้าง guest อิมเมจได้สำเร็จแต่พบปัญหาก็คือ ฮาร์ดดิสก์ที่ใช้มองเห็นเป็นแบบ IDE ส่วนการ์ดแลนเองก็เป็นแบบรุ่น RTL8139 ความเร็ว 100 Mbps ซึ่งพอจับคู่กับระบบปฏิบัติการ Windows 7 Ultimate 64 bit ด้วยแล้วการทำงานค่อนข้างช้ามาก การติดตั้งไดร์เวอร์ Virtio จะเป็นการช่วยเพิ่มประสิทธิภาพการทำงานของฮาร์ดแวร์ได้ดีขึ้น นอกจากนี้ยังสามารถใช้งานฮาร์ดแวร์โดยตรงผ่าน scsi pass through ได้ด้วย

ก่อนอื่นไปรู้จัก "full virtualization" หมายถึงจุดเด่นในการรัน OS เสมือนได้หลายแบบ แต่อย่างไรก็ตามมันจะช้า เพราะ hypervisor ต้องจำลองฮาร์ดแวร์จริงทำให้เกิดความยุ่งยากและไม่มีประสิทธิภาพ ส่วน "virtio" คือ virtualization standard เป็นการทำให้การ์ดเน็ตเวิร์คและดิสก์ไดร์เวอร์ทำงานในสภาวะเวอร์ชวลและทำงานร่วมกับ hypervisorได้ ซึ่งจะทำให้ guest ได้รับประสิทธิภาพเน็ตเวิร์คและการทำงานของดิสก์สูงขี้น ทั้งยังเป็นการเพิ่มสมรรถนะของ paravirtualization ด้วย

เมื่อผู้เขียนได้ข้อมูลการเพิ่มประสิทธิภาพโดยการติดตั้งไดร์ฟเวอร์ virtio ได้นั้นก็รีบทำการค้นคว้าหาข้อมูลการติดตั้งไดร์ฟเวอร์ virtio ลองใช้คีย์เวิร์ดภาษาไทยในการค้นหาก็ยังไม่มีใครแนะนำ เจอภาษาอังกฤษมาจากต้นฉบับก็อธิบายค่อนข้างสั้นและกระชับทำให้การเริ่มต้นทำได้ยากมาก  http://www.linux-kvm.org/page/Boot_from_virtio_block_device  แต่ก็พอจับประเด็นเป็นไกด์ไลน์ได้ว่า หากต้องการลงไดร์ฟเวอร์ virtio บนระบบปฏิบัติการ Windows XP ที่รัน guest อยู่แล้วให้ดำเนินการตามขั้นตอนต่อไปนี้
  • บนเครื่อง guest ให้ดาวน์โหลดวินโดร์ไดร์เวอร์ http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
  • ให้หยุดการทำงานของ guest และให้สร้างอิมเมจเพิ่มเข้าไปเป็นดิสก์ที่ 2 ของ guest
  • เริ่มการทำงาน guest ใหม่ เครื่องจะตรวจสอบไดร์เวอร์และทำการติดตั้งไดร์เวอร์ virtio
  • รีสตาร์ทเครื่อง guest ใหม่ ให้ลบดิสก์ที่ 2 ออก และทำการเปลี่ยนแปลงชนิดของดิสก์ก่อนแรกไปเป็น virtio 
จะเห็นว่าคำแนะนำตามเวบไซต์ virtio ค่อนข้างกระชับและแน่นอนที่สุดหากต้องทำจริง ทำได้หรือไม่และต้องทำยังไง เพื่อไม่ให้เป็นการเสียเวลาเราไปเริ่ม "เพิ่มประสิทธิภาพการทำงานของ guest  Windows 7 บน KVM ด้วยการติดตั้งไดร์เวอร์ Virtio" กันเลยดีกว่า ผู้เขียนจะได้แนะนำขั้นตอนต่างๆ เป็นแบบ GUI และทำไปทีละขั้นตอน เพื่อจะได้สามารถปฎิบัติงานได้จริง สำหรับโปรแกรมที่ใช้ก็คือ virtual machine manager นั่นเอง

ขั้นตอนที่ 1 ให้ดาวน์โหลด virtio วินโดร์ไดร์เวอร์ตามลิงค์ที่ผู้เขียนแปะให้ ผู้เขียนโหลดไว้บนเครื่องเซิร์ฟเวอร์ KVM http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/virtio-win-0.1-100.iso

ขั้นตอนที่ 2 ให้หยุดการทำงานของ guest จากนั้นให้แมป cd-rom ไดร์ฟไปยังไฟล์ virtio อิมเมจ จุดประสงค์สำคัญสำหรับขั้นตอนนี้ก็คือเป็นการนำไฟล์ไดร์ฟเวอร์ virtio ให้ไปปรากฎบน guest ตอนเริ่มการทำงานใหม่ที่ไดร์ฟซีดีรอมนั่นเอง
gps tracker

ขั้นตอนที่ 3 หลังจากนั้นให้ทำการสร้างดิสก์ที่ 2 ขนาด 1GB เป็นชนิด virtio ตามรูปตัวอย่าง โดยดิสก์ที่ 2 ที่สร้างได้จะเป็นตัวทำให้ guest ติดตั้ง virtio ไดร์ฟเวอร์
gps tracking
ขั้นตอนที่ 4 ดิสก์ที่ 2ให้เลือก Disk bus แบบ Virtio ช่อง Serial number ว่างไว้ ส่วนช่อง Storage format เลือกเป็นชนิด raw เมื่อดิสก์ที่ 2 ถูกสร้างสมบูรณ์แล้วจะมองเห็นเป็นดิสก์ 2 ก้อนตามรูป คือ ดิสก์ที่ 1 แบบ IDE ส่วนดิสก์ที่ 2 เป็นแบบ VIRTIO
gps tracker
ขั้นตอนที่ 5 จากนั้นให้ทำงานเริ่มต้นการทำงานของ guest ใหม่ ล็อกอินเข้าไปยังเครื่อง guest และเลือกไปที่ Device Manager เราจะสังเกตเห็นฮาร์ดแวร์ใหม่ PCI Device เพิ่มขึ้นมาแล้ว แต่ยังทำงานได้ไม่ถูกต้องหรือยังขาดไดร์เวอร์นั่นเอง
gps tracking

 ขั้นตอนที่ 6 คลิกขวาและเลือก Update Driver Software
gps tracker
ขั้นตอนที่ 7 เลือกไปที่ Browse my computer for driver software Locate and install driver software manually
gps tracker
ขั้นตอนที่ 8 เลือกไปที่ ไดร์ฟซีดีรอม WIN7/AMD64 กดเลือก OK
gps tracking


ขั้นตอนที่ 9 เข้าสู่การติดตั้งไดร์ฟเวอร์ virtio ระบบจะถามว่าคณต้องการติดตั้งดีไวซ์ซอฟต์แวร์ไหม ให้คลิกไปที่ Install เริ่มสบายใจได้แล้ว เราผ่านขั้นตอนต่างๆ ที่สำคัญๆ มาหมดแล้ว เหลืออีกไม่กี่อึดใจ การติดตั้งซอฟต์แวร์ก็จะสมบูรณ์
gps tracking

ขั้นตอนที่ 10  ระหว่างนี้รอสักครู่เมื่อติดตั้งซอฟต์แวร์ VirtIO Balloon Driver สมบูรณ์ ให้กด Close
gps tracker

ขั้นตอนที่ 11 กลับมาสู่หน้าหลัก Device Manager เป็นอันจบกระบวนการติดตั้งไดร์ฟเวอร์ Virtio จากนั้นให้ทำการชัตดาวน์เครื่อง


ขั้นตอนที่ 12 ให้กลับไปลบดิสก์ที่ 2 ออก และเปลี่ยนแปลงการตั้งค่าดิสก์ที่ 1 แบบ IDE ไปเป็นแบบ VIRTIO จากนั้นก็เปิดเครื่อง guest ใหม่เป็นอันจบขั้นตอน

จะเห็นได้ว่าการติดตั้งไดร์เวอร์ ดิสก์แบบ Virtio บน guest วินโดร์สามารถทำได้โดยไม่ยาก สำหรับการติดตั้งไดร์เวอร์การ์ดเน็ตเวิร์คเองก็มีวิธีการแบบเดียวกัน แค่นี้เราก็จะเห็นสมรรถนะของเวอร์ชวล paravirtualization ที่สามารถทำงานได้เต็มประสิทธิภาพ ใครที่ยังไม่เคยลองผู้เขียนแนะนำว่าต้องเปลี่ยนจาก IDE ไปเป็น VIRTIO เท่านั้น

ผู้เขียนต้องขอขอบพระคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการระบบซอฟต์แวร์ติดตามรถยนต์ ด้วยอุปกรณ์มาตรฐาน ราคาประหยัด นอกจากนี้ผู้เขียนยังเคยเขียนบทความที่ทำเองได้ เป็นการประยุกต์ใช้เวลาว่างให้เป็นประโยชน์ สามารถติดตามบทความได้ตามลิงค์ครับ  เมื่อโน็ตบุ๊คเครื่องเก่ง จอแตก SAMSUNG NP350V4X


วันจันทร์ที่ 2 กุมภาพันธ์ พ.ศ. 2558

เพิ่มขนาด Windows Guest อิมเมจบนเครื่อง Ubuntu Server KVM

หลังจากไม่ได้อัพเดทมานานวันนี้ผู้เขียนกลับมาบอกเล่าเรื่องราวประสพการณ์จริงอีกครั้งนึง การนำเสนอเรื่องราวเหล่านี้ช่วยบันทึกความจำหรือจดบันทึกงานที่เคยทำไปแล้ว และประสบความสำเร็จ เพื่อในครั้งต่อๆไปหากเราต้องการใช้งานอีก ก็สามารถเข้ามาอ่านหรือจดเก็บเรื่องราวเพิ่มเติมในส่วนที่เข้าใจผิดพลาดในครั้งแรก เนื้อหาที่ผู้เขียนนำเสนอจึงไม่ได้เน้นทฤษฎีแวดล้อมประกอบมากนัก

KVM ย่อมาจาก Kernel Virtual Machine เป็นการสร้างเครื่องเสมือนเครื่องจริง เพื่อให้สามารถใช้งานฮาร์ดแวร์ได้อย่างเต็มประสิทธิภาพ และมีความสะดวกในการบริหารจัดการทรัพยากร เช่น ซึพียู ฮาร์ดดิสก์ และเมมโมรี เป็นต้น

ปัญหาที่ผู้เขียนจำเป็นต้องเพิ่มขนาด Windows Guest อิมเมจบนเครื่อง Ubuntu Server ที่รัน KVM ก็คือผู้เขียนรันอิมเมจ Windows 7 ขนาดความจุ 80GB เพิ่มเป็น 128GB เพื่อจัดเก็บข้อมูลหรือรองรับการทำงานที่ต้องใช้พื้นที่เพิ่มมากขึ้น เพื่อไม่ให้เป็นการเสียเวลาเราไปเริ่มกันเลยดีกว่า

ขั้นตอนที่ 1 ติดตั้งโปรแกรม virt-resize เพื่อใช้จัดการเวอร์ชวลอิมเมจ

apt-get install libguestfs-tools

 ขั้นตอนที่ 2 ให้ทำการ shutdown เวอร์ชวลอิมเมจที่ต้องการเพิ่มขนาดดิสก์ซะก่อน
virsh shutdown win7-ultimate-test

ขั้นตอนที่ 3 ตรวจสอบดูว่าเวอร์ชวลอิมเมจที่ใช้ มีการจัดการฮาร์ดดิสก์ไว้แบบไหน มีพาร์ติชั้นไหนบ้าง

virt-filesystems --long --parts --blkdevs -h -a vm_window7_ultimate_test

gps tracking

ขั้นตอนที่ 4 จากการตรวจสอบพบว่ามีฮาร์ดดิสก์ พาร์ติชั่น sda2 มีขนาด 80G เราต้องการขยายเพิ่มขึ้นไปเป็น 128G ขั้นตอนนี้ให้สร้างเวอร์ชวลอิมเมจใหม่ขนาด 128G
truncate -s 128G /mnt/3tb/home/outdisk/outdisk

gps tracking

ขั้นตอนที่ 5 เป็นขั้นตอนที่สำคัญคือการขยายเวอร์ชวลอิมเมจ  
virt-resize --expand /dev/sda2 /mnt/3tb/home/vm/vm_window7_ultimate_test  /mnt/3tb/home/outdisk/outdisk

gps tracking

เป็นอันสิ้นสุดกระบวนการเพิ่มขนาด Windows Guest อิมเมจบนเครื่อง Ubuntu Server KVM ข้อควรระวังก็คือเราต้องอย่าลืมสำรองเวอร์ชวลอิมเมจเดิมไว้ เพราะหากไม่สามารถเปิดเวอร์ชวลอิมเมจใหม่ได้ของเก่าก็ต้องไม่เสีย


ผู้เขียนต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการเช่ารถตู้ VIP รถเช่าผู้บริหาร มาตรฐานความปลอดภัยสูง พร้อมกันนี้หากต้องการท่องเที่ยวภายในประเทศอย่าลืมไปเยี่ยมชม ลำปาง เพชรบูรณ์ และน่าน ในหลงรักประเทศไทย ห้ามพลาดเมื่อฝันผลิบาน ลำปาง เพชรบูรณ์ และน่าน http://www.vntravelsupport.com/2014/12/blog-post.html


วันอาทิตย์ที่ 14 ธันวาคม พ.ศ. 2557

สร้าง php สคริปสำหรับส่งข้อมูล(method post)อัตโนมัติ สำหรับระบบงานที่ไม่ต้องการใช้คนช่วย

ปัญหาที่ผู้เขียนกำลังจะแก้อยู่ในขณะนี้คือ ผู้เขียนต้องการสร้าง Form/Submit ธรรมดาสำหรับผู้พัฒนาเวบแอพพลิเคชั่น การสร้าง Form/Submit ทำได้ไม่ยากเพราะมีซอร์สโค๊ดอยู่มากมาย ปัญหาที่ผู้เขียนพบก็คือหากเรามีForm แต่ไม่มีใครมากด Submit ให้ระบบก็เลยไม่ทำงานแบบอัตโนมัติ

บางคนอาจจะนึกหน้าตา Form/Submit ไม่ออกผู้เขียนก็เลยจะได้นำมาให้ดูเป็นตัวอย่าง จากตัวอย่างเป็นการสร้างฟอร์ม เพื่อส่งข้อความสั้น(SMS) ผ่านเวบไซต์ clickatell.com เหตุผลที่ผู้เขียนเลือกใช้ผู้ให้บริการของ clickatell เพราะว่ามีการทำงานมาตรฐาน เป็นที่นิยมใช้กันมาก


จากปัญหาข้างต้นเมื่อผู้เขียนสร้างฟอร์มเสร็จสมบูรณ์ และป้อนค่าต่างๆ ลงเท็กซ์บ็อกแบบอัตโมมัติ ปรากฎว่าไม่มีใครมาช่วยกดปุ่ม Submit การแก้ปัญหาให้โปรแกรมทำงานแบบอัตโนมัติก็เลยยังทำไม่ได้

ผู้เขียนก็เลยได้พยายามค้นคว้าหาคำตอบเพิ่มเติมว่า เวบแอพพลิเคชั่นง่ายๆแบบนี้ต้องทำยังไง ครั้นจะโทรไปสอบถามนักพัฒนา PHP สคริปก็ยังไม่ค่อยกล้าถาม ต้องพยายามหาคำตอบด้วยตัวเอง ในที่สุดผู้เขียนก็พบไลบราลี่ตัวหนึ่งที่ทำงานได้เรียกว่า curl

<?php
$ch = curl_init();                    // initiate curl
$url = "http://api.clickatell.com/http/sendmsg.php"; // where you want to post data
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);  // tell curl you want to post something
curl_setopt($ch, CURLOPT_POSTFIELDS, "user=xxxxxx&password=xxxxxx&api_id=xxxxxx&from=xxxxxx&to=xxxxxx&text=xxxxxx"); // define what you want to post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
$output = curl_exec ($ch); // execute

curl_close ($ch); // close curl handle
 
var_dump($output); // show output
 
?>

อธิบายการทำงานของโค๊ด

curl_init   เป็นฟังก์ชั่นเริ่มต้นการใช้งานไลบรารี่ curl
url           เป็นตำแหน่งของเวบแอพพลิเคชั่นที่ต้องการเรียกให้ทำงาน
setopt     เป็นกำหนดพารามิเตอร์ต่างๆ ก่อนเรียกให้ฟังก์ชั่น curl ทำงาน
curl_exec เป็นการประมวลผลคำสั่งพูดง่ายๆ ว่าเป็นการกดปุ่ม submit นั่นเอง
curl_close จบการทำงานของไลบรารี่ curl

สำหรับการติดตั้งโปรแกรม curl และ php5 สำหรับระบบปฏิบัติการ Ubuntu ให้ดำเนินการดังนี้

apt-get install curl libcurl3 libcurl3-dev php5-curl
/etc/init.d/apache2 restart
ผู้เขียนทดลองแปะโค๊ดตัวอย่างการส่งข้อความสั้นผ่าน API ที่ผู้เขียนใช้บริการอยู่ ซึ่งมีค่าใช้จ่ายถูกกว่า Clickatell มาก เพื่อให้ใช้เป็นข้อมูลสำหรับการนำไปประยุกต์ใช้งาน สำหรับแอพพลิเคชั่น SMS PROXY ที่ผู้เขียนกำลังพัฒนาอยู่จะได้ประโยชน์ในทุกๆ แอพพลิเคชั่นที่ต้องการเรียกใช้งานระบบ SMS

<?php
$ch = curl_init();                    // initiate curl
$posturl = "http://api.sms-delivery.com/api/sendsms/plain";
$fields = "user=xxxx&password=xxxx&sender=TPIT&GSM=6686xxxxxxx&SMSText=TEST SENDING MESSAGE FROM API CURL";
curl_setopt($ch, CURLOPT_URL,$posturl);
curl_setopt($ch, CURLOPT_POST, 1);  // tell curl you want to post something
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); // define what you want to post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return the output in string format
$output = curl_exec ($ch); // execute

curl_close ($ch); // close curl handle

var_dump($output); // show output

?>
 


ต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการ thaigpstrack ด้วยสินค้าคุณภาพ นำเข้าจากผู้ผลิตโดยตรง มั่นใจได้ในคุณภาพของสินค้า

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

ติดตั้ง noip บนอินเทอร์เฟสที่ 2 เพื่อตรวจสอบ WAN ลิงค์สำรอง

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

สำหรับวันนี้ก็เช่นเดียวกันผู้เขียนทำเซิร์ฟเวอร์อินเทอร์เน็ตหอพักมี 2 อัพลิงค์ ลิงค์ที่ 1 เป็นทรู ส่วนลิงค์ที่ 2 เป็นทีโอที ประกฎว่าผู้เขียนไม่สามารถตรวจสอบไอพีแวนของลิงค์ที่ 2 ได้เลยว่าหมายเลขอะไร นั่นคือที่มาของการติดตั้ง noip บนอินเทอร์เฟสที่ 2 เพื่อตรวจสอบ wan ลิงค์ที่ 2 หรือลิงค์สำรองนั่นเอง

ขั้นตอนที่ 1 เริ่มต้นด้วยการดาวน์โหลดและติดตั้งแพ็คเกจกันก่อน


 wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz  

ขั้นตอนที่ 2 แตกไฟล์ คอมไพล์และติดตั้งแพคเกจ
 tar xzvf noip-duc-linux.tar.gz
 cd noip-2.1.9-1/
 make
 make install

ขั้นตอนที่ 3 เป็นการกำหนดค่าให้กับโปรแกรม noip2 ก่อนอื่นเราต้องมีชื่อผู้ใช้งานและรหัสผ่านของ noip.com ก่อนตามรูป


/usr/local/bin/noip2 -C
หลังจากเรียกคำสั่งข้างต้นโปรแกรมจะบังคับให้เราตั้งค่า ผู้เขียนเลือกเป็นอินเทอร์เฟซ ppp1


ขั้นตอนที่ 4 เป็นการรันโปรแกรม
/usr/local/bin/noip2

ลองกลับเข้าไปดูผลลัพธ์ที่เวบnoip.com ตามรูปจะต้องแสดงค่าไอพีแอดเดรสปัจจุบันของอินเทอร์เฟซ WAN 2 หรือลิงค์สำรอง จากตัวอย่างจะเห็นว่า WAN 1 คือหมายเลขไอพี 115.87.31.7 ส่วน WAN 2 คือหมายเลขไอพี 180.180.137.24

ผู้เขียนต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ผู้นำด้านการให้บริการ gps ติดตามรถ เอื้อเฟื้อพื้นที่บล็อกดีๆ เพื่อเป็นเวทีให้นำเสนอเรื่องราวดีๆ อยู่เสมอมา

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

ตั้งเวลารีสตาร์ทเครื่องทุกวัน เพื่อเพิ่มประสิทธิภาพการทำงานของอุปกรณ์ LINKSYS WRT54GL

ยินดีต้อนรับสู่เวบบล็อกดีๆ รวบรวมประสบการณ์ Opensource ของเรา Thai Prosperous IT Co.,Ltd. มานำเสนอกันอยู่เป็นประจำ ผู้เขียนต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ได้ให้พื้นที่เวบไซต์ดีๆ สำหรับบอกเล่าเรื่องราวที่ผ่านๆ มา นอกจากนี้ บจก.ไทย พรอสเพอรัส ไอที ยังเป็นผู้นำด้านอุปกรณ์ GPS TRACKING สินค้าทุกชนิดสั่งตรงจากโรงงานผู้ผลิตโดยตรงเพื่อความมั่นใจได้ในประสิทธิภาพและความคงทนถาวร

วันนี้ผู้เขียนจะได้แนะนำวิธีการตั้งเวลารีสตาร์ทเครื่องทุกวัน เพื่อเพิ่มประสิทธิภาพการทำงานของอุปกรณ์ LINKSYS WRT54GL โดยซอฟต์แวร์ที่ใช้ก็คือ dd-wrt v24sp2 จัดได้ว่ามีความเสถียรภาพดีมากทีเดียว


การตั้งค่าให้เลือกไปที่เมนู Administration -> Keep Alive -> Sechedule Reboot ตามตัวอย่างให้รีสตาร์ททุกๆ วันตอนเที่ยงคืน

ผู้เขียนยังมีเรื่องราวดีๆ ที่น่าสนใจเกี่ยวกับอุปกรณ์ DD-WRT อีกเช่น การทำ NAT แบบ 1 ต่อ 1 ในการทำไฟร์วอลแบบ DMZ เป็นต้น แน่นอนที่สุดนอกจากจะเป็นอุปกรณ์ที่มีราคาประหยัดแล้วยังมีความสามารถเกินตัวอีกด้วย

วันอาทิตย์ที่ 27 กรกฎาคม พ.ศ. 2557

ปิดสัญญาณไวไฟ การทำงานของอุปกรณ์ LINKSYS WRT54GL ด้วยซอฟต์แวร์ DD-WRT

ยินดีต้อนรับเข้าสู่เวบบล็อกดีๆ รวบรวมเรื่องราวประสบการณ์ดีๆ จากการใช้งานจริง เรื่องราวในวันนี้ยังคงมีการอัพเดทกันอย่างต่อเนื่องในเรื่องของการกำหนดค่าให้กับอุปกรณ์ LINKSYS WRT54GL โดยการติดตั้งซอฟต์แวร์โอเพนซอร์ส dd-wrt v24sp2

วันนี้ผู้เขียนจะขอแนะนำเทคนิคในการปิดสัญญาณไวไฟบนตัวอุปกรณ์ LINKSYS WRT54GL หลายคนคงจะเกิดคำถามขึ้นในใจว่า จะปิดสัญญาณไวไฟบนไวร์เลสเร้าเตอร์ได้หรือ เพราะเราซื้อมาเพื่อทำไวร์เลสโดยเฉพาะ คำตอบก็คือปิดได้ครับ เหตุผลที่ผู้เขียนต้องปิดก็คือ อุปกรณ์ LINKSYS WRT54GL ตัวนี้ผู้เขียนจะได้นำไปทำไฟร์วอลแบบ DMZ บนพื้นที่ให้บริการ Co-location ดังนั้นการเปิดสัญญาณไวไฟ ย่อมเป็นการสร้างการรบกวน ที่สำคัญมันจะกลายเป็นช่องโหว่ที่จะถูกเข้าถึงจากเน็ตเวิร์คภายในได้โดยง่าย

เพื่อไม่ให้เป็นการเสียเวลาเราไปดูขั้นตอนกันเลย


ขั้นตอนการปิดสัญญาณไวไฟ ให้เลือกไปที่เมนู Services จากนั้นทำการ Enable Use this button for turning off radio และ Enable Turn radio off at boot โดยการอนุญาตให้กดปุ่ม EZ-SETUP เพื่อทำการเปิดปิดสัญญาณไวไฟได้ ส่วนข้อที่สอง Turn radio off at boot เป็นการสั่งให้ปิดสัญญาณไวไฟทุกครั้งที่เครื่องเริ่มทำงาน จากนั้นกด Save และ Apply


หลังจากผู้เขียนทดลองเปิดปิดเครื่องใหม่ จะพบว่าในส่วนของสถานะ Wireless มีการแสดงคำว่า Radio is Off นั่นก็คืออุปกรณ์เร้าเตอร์เราทำการปิดสัญญาณไวไฟครบถ้วนสมบูรณ์ดีแล้ว เป็นอันปิดงานครับ

 ผู้เขียนต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที ที่ได้เอื้อเฟื้อพื้นที่บล็อกเกอร์ดีๆ อันเป็นประโยชน์ต่อการแลกเปลี่ยนประสบการณ์จริง นอกจากนี้ ไทย พรอสเพอรัส ไอที ยังเป็นผู้นำในด้านการให้บริการ gps ติดตามรถ ด้วยทีมวิศวกรมืออาชีพ เข้าใจถึงทฤษฎีและปัญหาต่างๆ ได้ครบถ้วนสมบูรณ์ ทำให้คุณภาพการให้บริการมีความรวดเร็ว สะดวกและไม่ติดขัด



เปิดใช้งาน authorized key บนซอฟต์แวร์ dd-wrt

ยินดีต้อนรับสู่ เวบบล็อกรวบรวมประสบการณ์ Opensource ของ ไทย พรอสเพอรัส ไอที กันอีกครั้งหนึ่ง หลังจากที่ได้ห่างเหินการอัพเดทข้อมูลกันไปนานพอสมควร ในวันนี้ผู้เขียนมีโปรเจคนำอุปกรณ์ไวร์เลสเราเตอร์ไปทำหน้าที่เป็น DMZ ไฟร์วอล เพื่อป้องกันเครื่องเซิร์ฟเวอร์ที่ติดตั้งซอฟต์แวร์ Kernel Virtual Machine(KVM) แบบบริดจ์

สำหรับฮาร์ดแวร์ที่ใช้งานในครั้งนี้คงหนีไปพ้น Linksys WRT54GL ลงซอฟต์แวร์ DD-WRT v24sp2 การป้องกันการเข้าถึงอุปกรณ์ในครั้งนี้ก็คือการยกเลิกการป้อนชื่อผู้ใช้และรหัสผ่าน เปลี่ยนมาใช้แบบ public key แทน ซึ่งแน่นอนย่อมป้องกันการโจมตีแบบการเดาพาสเวิร์ดที่ได้ผล 100% เซอร์วิสที่เราจะทำการป้องกันก็คือ ssh นั่นเอง


การตั้งค่าต้องทำ 2 ขั้นตอนดังนี้ ขั้นตอนแรกให้ทำการ Disable Password Login เป็นการป้องกันการล็อกอินโดย root พูดง่ายๆ คือป้องกันการป้อนชื่อผู้ใช้และรหัสผ่าน ขั้นตอนที่ 2 เป็นการป้อนข้อมูล public key สำหรับใช้การตรวจสอบแบบกุญแจส่วนตัวแทน ให้นำคีย์ป้อนลงในช่อง Authorized Keys จากนั้นกด SAVE และ Apply ตามลำดับ

ผู้เขียนทดสอบโดยการสั่ง putty ไปยังอุปกรณ์โดยป้อนชื่อผู้ใช้เป็น root ผลปรากฎดังรูป อุปกรณ์ WRT54GL ทำการปฏิเสธการล็อกอินโดยใช้ชื่อผู้ใช้และรหัสผ่านธรรมดา


ในตัวอย่างนี้ผู้เขียนเปลี่ยนพอร์ตจากเดิม 22 ไปเป็นพอร์ต 222 ด้วยเพื่อป้องกันการค้นหาพอร์ตหรือสแกนพอร์ตสำหรับแฮกเกอร์ นับว่าได้ผลเป็นที่น่าพอใจมากทีเดียว

ผู้เขียนจะได้ทะยอยอัพเดทเนื้อหาที่น่าสนใจสำหรับการกำหนดค่าให้อุปกรณ์ WRT54GL ไปเรื่อยๆ ยังมีหัวข้อที่น่าสนใจอีกเช่น สั่งปิดสัญญาณไวไฟ หรือตั้งเวลารีสตาร์ทเครื่องทุกๆ วัน รวมไปถึงการสร้าง 1 ต่อ 1 NAT เพื่อเปิดเซอร์วิสต่างๆ สำหรับ Guest Virtual Machine ในระบบด้วย

ต้องขอขอบคุณ บจก.ไทย พรอสเพอรัส ไอที เอื้อเฟื้อพื้นที่บล็อกเกอร์ดีๆ นำเสนอเรื่องราวประสบการณ์ด้านซอฟต์แวร์โอเพนซอร์ส ทำให้ประเทศชาติประหยัดค่าใช้จ่ายในการสั่งซื้อซอฟต์แวร์ลิขสิทธิ์จากต่างประเทศไปได้บางส่วน นอกจากนี้หากต้องการเรียกใช้บริการ เช่ารถตู้ h1 ต้องเลือกใช้บริการที่แวน-วีไอพี ผู้นำด้านการให้บริการรถตู้เช่าขับเอง