Monthly archives "สิงหาคม 2015"

การทำ Packet capture บน UnetLab: How to capture packet on UnetLab

สวัสดีสาวก UnetLab วันนี้ผมมีหัวข้อการนำเสนอเป็น “การทำ Packet capture บน UnetLab” ครับ

เนื่องจาก UnetLab เป็นเครื่องมือที่ใช้ทำการทดสอบ Lab ที่สมบูรณ์มากที่สุดในช่วงที่เขียน Blog วันนี้แต่สิ่งหนึ่งที่ขาดหายไปเมื่อเทียบกับ GNS3 และ IOU-Web คือ การใช้งาน Packet capture เพื่อทำการวิเคราะห์สิ่งที่เกิดขึ้นใน Lab ซึ่งจะทำให้เราสามารถเข้าใจการทำงานของอุปกรณ์ต่างๆได้ดีมากขึ้น หลังจากที่ได้ลองเข้าไปเล่นใน Backend ของ UnetLab มาแล้วสามถึงสามบทความ วันนี้เราจะมาเล่น Backend ของ UnetLab กันอีกรอบแต่เป็นการใช้งานขั้นสูงขึ้นอีกนิดโดยเป็นการประยุกต์ใช้งาน TCPDump เพื่อให้สามารถใช้งาน Packet capture ได้

ขั้นตอนในการทำ Packet capture บน UnetLab แบบคร่าวๆจะมีขั้นตอนดังนี้

  • ติดตั้ง TCPDump บน UnetLab
  • ติดตั้ง Plink และ WireShark บน Windows
  • ทำ Remote packet capture จาก UnetLab มาที่ WireShark โดยผ่าน Ulink

ดังนั้นก่อนที่จะเริ่มทำให้โหลดโปรมต่างๆมาเตรียมไว้ให้พร้อมโดยสามารถ Download ได้จาก Link ด้านล่างนี้

หลังจากทราบข้อมูลเบื้องต้นกันแล้วให้เราทำการเริ่มต้นที่ UnetLab ดังนี้

  • ทำการตรวจสอบว่า UnetLab มีการติดตั้ง TCPDump หรือยังด้วย Command นี้ “dpkg -l tcpdump” ถ้ามี TCPDump ติดตั้งอยู่ที่เครื่องแล้วจะได้ Output ดังนี้

  • ถ้ายังไม่ได้ติดตั้งให้ทำการติดตั้ง TCPDump ด้วย Command “apt-get install tcpdump”
  • กลับมาที่เครื่อง Windows ที่ต้องการใช้งานทำการ Download โปรแกรม plink.exe และนำไปติดตั้งที่ C:\Telnet\plink.exe
  • ทำการติดตั้งโปรแกรม WireShark ในกรณีนี้ผมติดตั้ง WireShark 64Bit.
  • ทำการสร้าง Lab ตามต้องการการณีผมจะสร้าง LAB ตามรูปด้านล่างนี้

  • จากนั้นให้ทำการตรวจสอบ Device ID ของอุปกรณ์ตามรูปนี้

  • ให้ทำการจด Device ID ของอุปกรณ์แต่ละตัวไว้ให้ดี เพราะจะมีการนำไปใช้ในการทำ Packet capture
  • ดูการเชื่อมต่อของ Virtual device ต่อละตัวที่เชื่อมต่อกับ Bridge (net1, net2) โดยใช้คำสั้ง “brctl show” จะได้ผลตามรูปนี้ โดยจะเห็นว่ามีชื่อ Interface แปลกๆคือ vnul0_X_Y  โดย Interface ต่างๆเหล่านี้คือ Interface ของ Virtual device โดยมีข้อกำหนดดังนี้
    • vunl0 คือ ชื่อเฉพาะของ UnetLab โดยหมายเลข 0 เป็นการสงานไว้เผื่อใช้งาน
    • _X      คือ Device ID ที่ได้ทำการจดไว้ก่อนหน้านี้
    • _Y      คือ Interface index ของอุปกรณ์ที่ UnetLab สร้างขึ้น

  • เราสามารถสรุปได้ดังนี้ vunl0_1_0 คือ Interface e0/0 (index 0) ของ R1 (vunl0_1)
  • จากข้อมูลที่ได้ทั้งหมดสมมติต้องการที่จะ Capture packet ที่ Interface ของ R2 Interface e0/0 เราจะต้องใช้ Command line ในการสั่งงานที่ Windows ประมาณนี้ “C:\Telnet\plink.exe -ssh -pw cisco root@[UNL IP Address] “tcpdump -ni vunl0_2_0 -s 0 -w – ” | “C:\Program Files\Wireshark\wireshark.exe” -k -i -“
  • เมื่อใส่ Command ถูกต้อง Windows จะทำการเรียก Wireshark ขึ้นมาและจำทำการส่ง Output ของ TCPDump ออกมาแสดงผลที่ WireShark ดังรูป

เท่านี้ก็จบบทความในวันนี้แล้ว พบกันใหม่ตอนต่อไปครับ ^^

แหกคอก!! การติดตั้ง Ubuntu บน UnetLab

ต่อเนื่องจากบทความที่แล้วที่มีการติดตั้ง Windows บน UnetLab กันไปแล้ววันนี้เราจะมาเริ่มแหกคอกกันด้วยการติดตั้งอุปกรณ์ที่ UnetLab ไม่มีอยู่ใน Support list กันนั่นคือ Ubuntu server! สำหรับการติดตั้ง Ubuntu รอบนี้จะเป็นการ Import VirtualBox VM เข้ามาใช้งานแทนการติดตั้ง Clean install แบบ Windows ในบทความตอนที่แล้วเพื่อให้ได้แนวคิดในการประยุกต์ใช้งานนั่นเอง ดังนั้นก่อนที่เราจะเริ่มขั้นตอนต่างๆในบทความนี้ได้เราจะต้องมี Ubuntu VM อยู่ก่อนหน้านี้แล้วโดยอาจจะสร้างจาก VMware หรือ VirtualBox ก็ได้ แต่ในตัวอย่างจะใช้ VirtualBox ตามรูปนี้

 

 

สำหรับการติดตั้ง Ubuntu server จะใช้ประโยชน์จากส่วนของ Device prefix ของ Windows ในการหลอก UnetLab ว่าสิ่งที่เรากำลังใช้งานอยู่นั้นคือ Windows ไม่ใช่ Ubuntu ดังนั้นการทำแบบนี้จะสามารถหลอกให้ UnetLab ทำการเปิดอุปกรณ์ของเราขึ้นมาใช้งานได้ถึงแม้ว่าอุปกรณ์นั้นจะยังไม่อยู่ใน Support list นั่นเอง สำหรับตัวอย่าง Prefix ของอุปกรณ์ต่างๆมีดังนี้

  • A10 vThuner = a10-xxx
  • Windows        = win-xxx
  • Arista              = veos-xxx

โดยที่ xxx เป็นการระบุรายละเอียดเพิ่มเติมของ Prefix นั้นๆ เช่น Version software หรือ Windows version ก็ได้ ดังนั้นการที่เราจะใช้งาน Ubuntu เราก็จะต้องเอามาสวมรอยใน Windows โดยการสร้าง Folder prefix เป็น win-ubuntu15.04

มาเริ่มลงมือกันโดยมีขั้นตอนดังนี้

  • เข้าไปที่ Path /opt/unetlab/addons/qemu
  • สร้าง Folder win-ubuntu15.04 ด้วย Command นี้ mkdir win-ubuntu15.04
  • นำ Ubuntu VM ที่มีอยู่แล้วใน VirtualBox มาเลือกเฉพาะไฟล์ .vdi ส่งผ่าน SCP ไปที่ Path win-ubuntu15.04 ที่เราสร้างขึ้น

  • ใช้ Commad “/opt/qemu-2.0.2/bin/qemu-img convert -f vdi -O qcow2 Ubuntu15.04.vdi hda.qcow2” เพื่อทำการ Convert Ubuntu VM ที่ Upload ขึ้นไปให้อยู่ใน Format ที่ UnetLab support
  • ลบ Image ต้นแบบด้วยคำสั่ง “rm Ubuntu15.04.vdi”
  • ตบท้ายด้วย Command “/opt/unetlab/wrappers/unl_wrapper -a fixpermissions”

เมื่อทำตามขั้นตอทั้งหมดที่เขียนไว้แล้วเราก็พร้อมที่จะใช้งาน Ubuntu กันแล้ว ให้ลองสร้าง Lab ขึ้นมาใหม่หนึ่ง Lab จากนั้นทำการเลือก Node เป็น Windows เราจะเห็นชื่อที่เราตั้งไว้ตามรูปด้านล่างนี้

ให้นำ Node ไปวางและลอง Start อุปกรณ์ขึ้นมาดูว่าสามารถใช้งานได้หรือไม่ ถ้าไม่มีอะไรผิดพลาดจะได้ผลตรมนี้ครับ

สำเร็จแล้วกับการแหกคอกในครั้งนี้ครับพ้ม ^^

[GNS3Vault] Remote Shell

Original post from GNS3Vault: http://gns3vault.com/network-management/remote-shell/

Remote Shell

Scenario:

You are working as a network engineer at a Turtle Aquarium based in Florida. Your colleague wants to check the running-configuration of one of the routers in the network but because of the security policy he’s not allowed to use HTTP, TFTP, TELNET or SSH. You can’t break company regulations but maybe you can bend it a little?

สถานการณ์จำลอง:

คุณทำงานเป็นวิศวกรเครือข่ายที่ Turtle Aquarium ในฟลอริดา เพื่อร่วมงานของคุณต้องการตรวจสอบ running-configuration บนเราท์เตอร์แต่ข้อบังกำหด้านความปลอดภัยระบุว่าเขาไม่สามารถใช้งาน HTTP, FTP, TELNET หรือ SSH ได้ คุณไม่ต้องการละเมิดข้อบังคับของบริษัทบางที่คุณก็มีวิธีทำแบบอ้อมๆใช่มั้ย?

Goal:

All IP addresses have been preconfigured for you.
Configure router Shell so router Turtle can view its running configuration.

เป้าหมาย:

  • ไอพีแอดเดรสทั้งหมดได้ตั้งค่าไว้ให้คุณเรียบร้อยแล้ว
  • ตั้งค่าเราท์เตอร์ Shell ให้เราท์เตอร์ Turtle สามารถดู running configuration ของมันได้

IOS:

c3640-jk9s-mz.124-16.bin

 

Topology:

Video Solution:

[GNS3Vault] Login Menu

Original post from GNS3Vault: http://gns3vault.com/network-management/login-menu/

Login Menu

Scenario:
You are a network teacher specialized in routing and switching. To help your students who are not so familiar with the command-line you want to use one of your routers so it displays a menu everytime they login.

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

  • All IP addresses have been preconfigured for you (except router Flynn).
  • Configure router Classroom so whenever users telnet to it with username “STUDENT” and password “VAULT” they get a menu with the following options:
    • Show ip interface brief.
    • Show ip protocols.
    • Logout.

เป้าหมาย:

  • ไอพีแอดเดรสทั้งหมดได้ตั้งค่าไว้ให้คุณเรียบร้อยแล้ว (นอกจากเราท์เตอร์ Flynn)
  • ตั้งค่าเราท์เตอร์ Classroom เมื่อผู้ใช้งาน Telnet เข้ามาด้วยชื่อผู้ใช้งาน “STUDENT” และใช้รหัสผ่าน “VAULT” เขาจะได้เมนูตามตัวเลือกต่อไปนี้
    • Show ip interface brief.
    • Show ip protocol.
    • Logout.

IOS

  • c3640-jk9s-mz.124-16.bin

Topology:

Video Solution: