หลังจากตอนที่แล้วเป็นการแนะนำการติดตั้ง Windows บน UnetLab กันไปแล้วแต่ยังไม่ใช่วิธีการที่ถูกต้องเนื่องจากเป็นการสร้างที่มีวิธีการใช้งานที่จำกัดคือสามารถใช้ได้บน Lab ที่ต้องการเท่านั้น ไม่สามารถนำไปใช้งานใน Lab อื่นๆได้อีก วันนี้จะมาเฉลยกันว่าทำไมถึงเป็นแบบนั้นกัน
ก่อนอื่นต้องทำความเข้าใจการทำงานของ UnetLab กันก่อนนิดหน่อยดังนี้ จากรูปด้านล่างนี้จะเห็นว่า Unetlab ใช้งาน QEMU เป็น Hypervisor สำหรับ Virtual Appliance หลายๆตัวรวมทั้ง Windows ด้วย
แต่สิ่งที่มีการเปลี่ยนแปลงและทำให้การติดตั้ง Windows ในบทความที่แล้วใช้งานไม่ได้ใน UnetLab version ปัจจุบัน (0.9.0-54) คือ “Backend” ได้ได้ถูกรื้อใหม่ตั้งแต่ Version 0.9.0-18 (เท่าที่ลองติดตามดูอาจจะผิดพลาดได้นะครับขออภัย)
โดยสิ่งที่เปลี่ยนไปคือการใช้งาน Feature Linked clone ของ QEMU แทนการ Copy image โดยตรงไปที่ Lab ที่เรากำลังใช้งานนั่นเอง!!!
ในกรณีนี้ขอยกตัวอย่างให้เห็นชัดเจนขึ้นโดยการใช้ภาพดังนี้
จากรูปด้านบนจะเป็นการทำงานของ UnetLab version เก่าๆ (คงไม่มีใครใช้งานแล้ว) เมื่อเราทำการสร้าง Lab ใหม่ UnetLab จะทำการ “Copy image” ของ Virtual Appliance “ทั้งก้อน” ไปไว้ที่ Lab ที่สร้างขึ้นมา ในกรณีนี้จะขอเรียก Image ก้อนนี้ว่า “Base Image” ตามรูป สมมติให้ Base Image มีขนาด 2GB สำหรับ PaloAlto และเราต้องการใช้ PaloAlto ใน Lab ที่เราสร้างขึ้น UnetLab จะทำการ Copy Base image ไปที่ Lab จำนวน 2 ครั้งครั้งละ 2GB เพื่อสร้างอุปกรณ์ใน Lab ที่เราสร้างขึ้น ดังนั้นจะเห็นได้ว่าในกรณีที่เรามีการใช้งาน PaloAlto จะต้องรอนานมากกว่าจะเข้าไปใช้งานจาก VNC Console นั่นเอง และในส่วนของการตั้งค่าต่างๆจะถูกเพิ่มเข้าไปในส่วนของ “Configuration Data” ของอุปกรณ์แต่ละตัว ดังนั้นสมมติว่าอุปกรณ์ทั้ง 2 ตัวใช้ Configuration data ตัวละ 200MB ดังนั้นใน Lab นี้จะต้องใช้พื้นที่ในการเก็บ Lab ที่สร้างขึ้นทั้งหมด 4.4GB และต้องใช้เวลาในการ Start Lab ครั้งแรกเป็นเวลานานพอสมควร และวิธีการนี้ไม่สามารถใช้งานได้แล้วที่ UnetLab version ปัจจุบัน
ต่อมาเข้าเรื่องหลักของเราดีกว่าก่อนอื่นลองมาดูรูปประกอบคำอธิบายกันก่อน
การทำงานของ Backend ใน UnetLab version ล่าสุดจะเป็นการใช้งานที่เรียกว่า Linked clone จากรูปด้านบนเราจะต้องมี Base Image ที่สมบูรณ์ก่อน และเมื่อเราทำการสร้าง Lab ในขั้นตอนนี้ UnetLab จะทำการสร้าง Linked clone image ไปที่ Lab ของเรา แต่จากบทความตอนที่แล้วเราทำการสร้าง Base Image ขึ้นมาด้วยคำสั่ง “/opt/qemu-2.0.2/bin/qemu-img create -f qcow2 hda.qcow2 15G” จะเป็นการสร้าง Disk เปล่าขนาด 15G ขึ้นมา และเมื่อทำการสร้าง Lab ที่ Frontend จะเป็นการสร้าง Linked clone ของ Disk เปล่าขึ้นใน Labและการลง Windows จะเป็นการเพิ่มข้อมูลในส่วนของ “Configuration Data” เพิ่มขึ้นมานั่นเอง และนี่คือเหตุผลที่ว่า Windows Image นี้จะไม่สามารถนำไปใช้ต่อที่ Lab อื่นได้นั่นเอง
หลังจากทำความเข้าใจถึงวิธีการทำงานของ backend แล้วก็ถึงเวลาที่จะมาเริ่มสร้าง Windows Base Image เพื่อนำไปใช้งานกันได้แล้วครับ
เริ่มต้นที่ Backend กันเหมือนเดิม
ขั้นตอนการสร้างจะคล้ายๆกับของเดิมดังนี้
ต่อกันที่ Frontend
การใช้งานที่ Frontend ไม่สามารถใช้งานได้ตามขั้นตอนปกติคือ
สุดท้ายคือการพิสูจน์สมมติฐานของเราว่า Linked clone ที่ Unetlab สร้างขึ้นจะมีขนาดเล็กลงกว่าเดิมได้ให้ไม่ให้เข้าไปเช็คไฟล์ Lab ใน “/opt/unetlab/tmp/0/UUID/lab” โดย UUID จะเป็นไฟล์ที่ UnetLab สร้างขึ้นอัตโนมัติ จากการใช้งานตามตัวอย่างนี้จะพบว่ามีการสร้าง Linked clone ของ Windows 7 ขึ้นโดยมีขนาด 101MB ตามรูปด้านล่างนี้ครับ
ตอนนี้จะเป็นการประยุกต์การใช้งาน Backend แบบนึง ในตอนต่อไปเราจะมาลองพลิกแพลงการใช้งาน Backend ขึ้นอีกหนึ่งระดับโดยจะทำการติดตั้งอุปกรณ์ที่ยังไม่มีอยู่ใน UnetLab support list กัน โดยจะใช้ตัวอย่างเป็นการติดตั้ง Ubuntu server กัน คอยติดตามดูนะครับ
จบแล้วคร้าบบบบบบบ ^/\^
You want to make sure your router automatically saves its configuration every day. You are familiar with Cron for Linux and you just heard from a colleague that there is a similar feature for Cisco routers. Kron time!
คุณต้องการที่จะมั่นใจว่าเราท์เตอร์จะทำการเซฟการตั้งค่าอัตโนมัติในทุกๆวัน คุณมีความคุ้นเคยกับ Cron บน Linux และคุณได้ยินจากเพื่อนร่วมงานว่ามีฟีเจอร์ที่เหมือนกันนี้บน Cisco เราท์เตอร์ ตอนนี้ได้เวลาของ Kron แล้ว!
c3640-jk9s-mz.124-16.bin
การใช้งาน Kron ในชีวิตจริงอุปกรณ์ควรจะมีการตั้งค่า NTP ไว้บนอุปกรณ์ด้วย เนื่องจาก Kron จะมีการใช้เวลาเป็นตัวอ้างอิงในการทำงานตามคำสั่งที่กำหนดไว้ ดังนั้นอย่าลืมตั้งค่าเวลาให้อุปกรณ์ทุกครั้งอย่างน้อยให้เป็น Local time ที่ใกล้เคียงกับเวลาจริง หรือทำการเปิดใช้งาน NTP บนอุปกรณ์ สำหรับการตั้งค่า NTP บนอุปกรณ์ Cisco หาอ่านเพิ่มได้จาก Link ในส่วนของ Reference ด้านล่างสุดครับ
show commad
# show kron schedule
# show clock
configure command
(config)#clock set hh:mm:ss [Day of the month] month year
(config)# kron occurrence [WORD] at [hh:mm] [DAY] [oneshot, recurring]
(config-kron-occurrence)# policy-list [WORD]
(config)# kron policy-list [WORD]
(config-kron-policy)# cli [LINE]
debug command
# debug kron all
Kron:
NTP:
Ever since you switched your career from Linux engineer to networking you missed your good old scripting tools. You just heard about network engineer about EEM scripting for Cisco routers and you can’t wait to try it out!
สถานการณ์จำลอง:
ตั้งแต่คุณเปลี่ยนหน้าที่จากวิศวกรด้าน Linux เป็นด้านระบบเครือข่าย คุณยังคงคิดถึง Script เครื่องมือที่ดีในสมัยก่อน เมื่อคุณได้ทราบว่าวิศวกรเครือข่ายเองก็มี EEM Script สำหรับเราท์เตอร์ Cisco เหมือนกัน ดังนั้นคุณก็ไม่รอช้าที่จะลองมันทันที!
เป้าหมาย:
c3640-jk9s-mz.124-16.bin
ใน Lab นี้ตามโจทย์จะให้ทำการ Shutdown interface F1/0 โดยการใช้ EEM Script ในกรณีที่ Interface F0/0 โดน Shutdown ลงไป ลำดับแรกก่อนที่จะสามารถทำ Lab นี้ได้เราจะต้องมีความเข้าใจเกี่ยวกับลำดับการทำงานของ EEM Script ใน Lab นี้ก่อนครับ การทำงานของ EEM Script จะแบ่งเป็น 3 ส่วนใน Lab นี้ได้แก่
https://supportforums.cisco.com/document/117596/cisco-eem-basic-overview-and-sample-configurations
Original post from GNS3Vault: http://gns3vault.com/network-management/backup-interface/
Scenario:
You are responsible for a number of routers of a network that connects multiple cities. Whenever router Barcelona sends traffic towards Boston it has to use the link to Tilburg. Unfortunately it is load balancing since the paths are equal. You don’t want to make any changes to the routing protocol because you don’t want to impact the whole network. You decide to configure a backup interface on router Bar
สถานการณ์จำลอง:
คุณมีหน้าที่รับผิดชอบเราท์เตอร์จำนวนหนึ่งที่ใช้ในการติดต่อระหว่างเมืองต่างๆ เมื่อไรก็ตามที่เราท์เตอร์บาเซโลนาส่งข้อมูลไปที่บอสตันจะต้องผ่านเส้นทางจากทิลเบิร์ก แต่น่าเสีดายที่มันเป็นการส่งข้อมูลแบบโหลดบาลานซ์เนื่องจากเส้นทางมีค่าเท่ากัน คุณไม่ต้องการที่จะเปลี่ยนเราท์ติ้งโปรโตคอลเนื่องจากไม่ต้องการให้มีผลกระทบกับระบบเน็ทเวิร์คทั้งหมด ดังนั้นคุณจึงตัดสินใจในการใช้แบ็คอัพอินเตอร์เฟสบนเราท์เตอร์บาเซโลนาแทน
Goal:
เป้าหมาย:
IOS:
c3640-jk9s-mz.124-16.bin
Topology:
Video Solution:
ส่วนเสริม: Command Reference
show command
show ip eigrp neighbor
show ip int brief
show backup
configure command
(config)#int serial 0/0
(config-if)#backup interface fastEthernet 1/0
debug command
debug backup
ส่วนนี้เป็นเป็นการเกริ่นก่อนที่จะเริ่มทำการแปลและเขียนคำอธิบายเพิ่มเติมเกี่ยวกับ Video ของ GNS3 ขอให้คนที่สนใจไปสมัครสมาชิกของเวบ http://gns3vault.com กันก่อน เหตุผลที่ให้ไปสมัครสมาชิกไม่ได้มีจุดประสงค์แอบแฝงครับ เนื่องจาก Rene จะให้สมาชิกของเวบเขาสามารถทำการ Dowsload GNS3 topology file ได้เท่านั้น ดังนั้นจึงแนะนำให้ไปสมัครสมาชิกเวบเขาด้วยครับ ^^
สำหรับผมจะเขียนคำอธิบายเพิ่มเติมให้ในบางส่วนเพื่อทำให้สามารถทำ Lab ตามได้สะดวกมากขึ้น โดยอาจจะเป็นในรูปแบบของการอธิบาย Command หรือตัวอย่างต่างๆแล้วแต่กรณีไปครับ สำหรับส่วนแรกที่จะเริ่มทำการแปลกันคือในส่วนของ Network Management ซึ่งจะมีหัวข้อต่างๆประมาณนี้
ห่างหายจากการ Update blog ไปพักใหญ่ กลับมา Update กันต่อดีกว่าครับ ^^
วันนี้มาแนวอินดี้เช่นเคยเพราะเราไม่ค่อยชอบเขียนเรื่องซ้ำกับใคร หัวข้อคือการติดตั้ง Windows ทุกตระกูลบน UnetLab ก่อนอื่นมาลองดูโครงสร้างของ UnetLab พี่ผมลองสรุปมาในแบบของผมเองก่อนตามรูปด้านล่างนี้ครับ (รูปนี้ผมสรุปขึ้นมาเองไม่เกี่ยวกับทางเวบ UnetLab อาจจะมีผิดพลาดไปบ้าง)
Hi Folks, Welcome to my site: VirtualNetSystems (VNS). First of all I would like to say sorry for my English language, because this is my second language.
Lat’s back to our topic. This is how to install Windows on UnetLab. Below picture is overall UnetLab architecture that I summarized by myself not from official UnetLab site. So, maybe it have some mistake.
จากรูปในส่วนของ Backend จะมีส่วนประกอบอยู่หลายส่วน ในตอนนี้จะสนใจแค่ในส่วนของ QEMU กันเป็นหลักเนื่องจากเราจะติดตั้ง Windows ลงในส่วนของ QEMU กันครับ
From above picture, We’ll focus in backend section that include QEMU. Because QEMU always used for emulate devices in UnetLab. So, we’ll used QEMU for install Windows as well.
ทำไมผมถึงต้องทำรูปนี้ออกมา?? เนื่องจาก UnetLab เปิดกว้างให้ได้เข้าไปดู Code ต่างๆที่เขาเขียนขึ้นมาทำให้เราสามารถเข้าไปดู Code และทำความเข้าใจได้มากขึ้น และเมื่อเราพอจะเข้าใจสิ่งที่เราใช้งานกันมากขึ้นเราก็สามารถที่จะปรับปรุงหรือประยุกต์ใช้งานมันได้ดีมากขึ้นนั่นเองครับ
Why I’m created above picture? Because, Andrea (UnetLab’s project owner) allow us to access to his code for studies and finding bugs. The first benefit is we can help him to finding new bugs reports to his team, the second benefits is we can try to tweak some feature that we need such as try to install or create own device images by ourselves.
ทำไมต้องเริ่มที่ Backend จากตัวอย่างการเพิ่ม Image ของอุปกรณ์ต่างๆของ UnetLab จาก Link นี้จะเห็นว่าก่อนที่จะใช้งานอุปกรณ์ต่างๆใน Web-UI ได้จะต้องมาสร้าง Folder ใน Path /opt/unetlab/addons/qemu/[device name] กันก่อน โดย [device name] เป็นชื่อของอุปกรณ์ที่ต้องการให้ไปแสดงผลใน Web-UI ผมจะขอเรียก [device name] ตรงนี้ว่า Prefix แล้วกันนะครับถึงจะไม่ถูกต้องเต็ม 100% นักก็ตาม สำหรับการลง Windows version ต่างๆ Prefix จะขึ้นต้นด้วย “win-” ไม่ต้องมีเครื่องหมาย ” นะครับ และหลังเครื่องหมาย “-” จะเป็นตัวหนังสืออะไรก็ได้ ดังนั้นเราจะใช้ Windows version ในการระบุ Device image ที่ต้องการให้ไปแสดงผลที่ Web-UI กรณีของผมจะแสดงตัวอย่างโดยใช้ Windows 7 ดังนั้นผมจะตั้งชื่อ Folder เป็น “win-7″ ขั้นตอนการสร้างก็จะเป็ตามนี้ครับ (ขั้นตอนต่อไปนี้เป็นการติดตั้ง Device image แบบหนึ่งเท่านั้น ผมขอเรียกว่า”แบบดิบๆ” แล้วกันนะครับ)
As you can seen in UnetLab official site. They will prepare image device from backend at path “/opt/unetlab/addons/qemu/” in this case we need to create folder “win-X” for Windows image where X is Windows version that you preferred. In this case I’ll create folder name “win-7” for install Windows 7. Detail instructions are below:
หลังจากเตรียมความพร้อมที่ Backend เสร็จแล้วให้เข้าไปที่ Web-UI และทำขั้นตอนดังนี้
จากนั้นก็สามารถใช้งานตามขั้นตอนได้ปกติครับ
After we prepared windows image from QEMU. Next step we need to start windows installation from Web-UI. Detail instructions are below:
– การติดตั้งแบบนี้จะได้ Base image คือ Image ที่สามารถนำไปใช้ต่อได้เลยใน Version เก่าๆเท่านั้น
– สำหรับ Version ใหม่การทำแบบนี้จะใช้ได้เฉพาะใน Lab ที่สร้างขึ้นมาเท่านั้น ไม่สามารถนำไปใช้ใน Lab อื่นๆที่สร้างมาทีหลังได้
– This instructions will create for each lab only. We cannot used this Windows image as base image for every lab!!!
– I’ll provide how to create Windows base image in next topic.
สำหรับการสร้าง Base image สำหรับ UnetLab version 0.9.0-54 ขึ้นไปเดี๋ยวผมจะมาบอกอีกทีว่าสร้างยังไง รอติดตามกันอีกนิดนะครับ บอกวิธีการนิดนึงว่าเราจะต้องไปเล่นที่ Backend กันมากขึ้นกว่าเดิมนิดนึง ยังไงก็รอติดตามกันต่อนะครับ
สวัสดี ^^
Bye.
รับงาน Customize Cacti template เพื่อให้สามารถแสดงผลค่าที่ต้องการจากอุปกรณ์ได้ เช่น
– Juniper: RPM
– Huawei: NQA
– HP: NQA
– Palolto: Temperature
หรืออุปกรณ์อื่นๆที่สามารถอ่านค่าได้จาก SNMP สามารถดูตัวอย่างได้จาก Cisco IP SLA template ตามรูปด้านล่างนี้ครับ
IP SLA – TCP Connect
IP SLA – ICMP
IP SLA – DNS
IP SLA – FTP
IP SLA – HTTP
ความเห็นล่าสุด