กลับมาอีกครั้งหลังจากหายไปหลายอาทิตย์ ^^
รอบนี้กลับมาลองใช้ Wireshark ทำงานในส่วนของ Network forensics กันดูบ้างว่ามันจะเป็นเช่นไร……….
เข้าเรื่องกันเลยดีกว่าวันนี้เราจะขอเสนอฟังก์ชั่น “Export Objects” ซึ่งฟังก์ชั่นนี้จะทำหน้าที่ในการ “สกัด” สิ่งที่อยู่ในรูปแบบของแพ็คเก็ตที่ดูแล้ว “ไม่เข้าใจ” ให้ออกมาเป็นในรูปแบบของไฟล์ หรือ URL เนื่องจากวันนี้เราจะเน้นให้ทำการ “สกัด” เนื้อหาที่อยู่ในรูปแบบของ HTTP โปรโตคอลออกมานั่นเอง
โดยปกติแล้วเมื่อเปิด Wireshark ขึ้นมาและทำการจับข้อมูลที่วิ่งผ่านเข้ามาในเครื่องของเรา สิ่งที่เห็นจะมีรูปแบบในรูปด้านล่างนี้ คือ Source-Destination IP Address, Port, Packet information ซึ่งโดยปกติแล้วเราจะไม่มีทางรู้ได้เลยว่าข้อมูลที่อยู่ภายในนั้นคืออะไร ยกตัวอย่างเช่น URL อะไร หรือรูปที่เปิดขึ้นมาอยู่ที่ URL ไหน?
ยกตัวอย่างการใช้งานในรูปแบบของ Network forensic ในหัวข้อนี้จะลองทำการ “ประกอบร่าง” แพ็คเก็ตที่ได้มาจาก Wireshark ให้กลายเป็นข้อมูลที่สมบูรณ์และย้อนกลับไปได้ว่าไฟล์ที่เปิดขึ้นมาอยู่ที่ URL ใดและลองโหลดไฟล์ที่ได้จากการ “ประกอบร่าง” ลงมาในเครื่องของเราเพื่อทำการตรวจสอบต่อไปได้นั่นเอง
ก่อนที่จะใช้ฟังก์ชั่นนี้ได้อย่างสมบูรณ์เราจะต้องมาการเตรียมการให้เรียบร้อยก่อนตามขั้นตอนดังนี้
โดยการตั้งค่าทั้งหมดนี้ให้เข้าไปทำที่เมนู Edit Preference… ตามรูปด้านล่างนี้
เมื่อทำการตั้งค่าทั้งหมดเสร็จเรียบร้อยแล้วให้เข้าไปที่เมนู File -> Export Objects -> HTTP ก็จะมีหน้าต่างเปิดขึ้นมาใหม่คือ “Wireshark: HTTP object list” โดยในหน้านี้จะแสดงรายละเอียดของสิ่งที่ได้จากการ “ประกอบร่าง” เช่น Hostname ซึ่งก็คือ เวบไซท์ที่เราได้เข้าไป Content Type คือชนิดของไฟล์ที่ได้จากการเข้าไปที่เวบไซท์นั้น Size คือขนาดของไฟล์ที่โหลดขึ้นมา และสุดท้าย Filename คือชื่อของไฟล์ที่โหลดมานั่นเอง
ในตัวอย่างนี้ผมจะทำการเซฟไฟล์ชื่อ “UNL%20diagram.png” ลงมาที่เครื่องโดยการเลือกที่ไฟล์ที่ต้องการและกด “Save As” จากนั้นให้ทำการเลือกตำแหน่งที่ต้องการเซฟลงในเครื่องและทำการตั้งชื่อตามที่ต้องการ หลังจากนั้นให้ทำการเปิดไฟล์ที่ได้จากการเซฟเมื่อสักครู่นี้ขึ้นมา สำหรับผมจะได้ผลจากการเปิดไฟล์ขึ้นมาตามรูปด้านล่างนี้ครับ
สำหรับตัวอย่างการประยุกต์ใช้งานในส่วนของ Network forensics คือการนำไปใช้หาข้อมูลการดาวน์โหลดไฟล์ที่ไม่ได้รับอนุญาตจากทั้งในส่วนของภายในและภายนอกบริษัท หรือในส่วนของตัวอย่างจะเป็นการดาวน์โหลดไฟล์จาก Internet มาซึ่งสามารถระบุได้ถึง Hostname และชื่อไฟล์ซึ่งเป็นหลักฐานที่ดีในระดับนึงเลยทีเดียว
หมายเหตุ: การ “สกัด” เนื้อของไฟล์ที่ต้องการจำเป็นที่จะต้องมีปริมาณของแพ็คเก็ตในปริมาณที่มากพอและครบถ้วนเพื่อที่จะได้ไฟล์หรือเนื้อหาตามที่ต้องการได้อย่างถูกต้องสมบูรณ์ด้วยเช่นกัน
หวังว่าคงจะได้แนวคิดในการนำไปประยุกต์ใช้งานกันต่อแล้วนะครับ ขอบคุณทุกท่านที่ติดตามนะคร้าบบบบบ _/|\_
ถ้าอ่านแล้วถูกใจอยากมาลองเรียนเพิ่มเติมกับเราตั้งแต่พื้นฐานจนทำให้ได้ผลลัพธ์ออกมาเป็นรูปร่างได้เหมือนในบทความและยังสามารถนำความรู้ไปต่อยอดได้ ลองมาเรียนกับเราได้โดยดูรายละเอียดได้ ที่นี่ นะครับ ^^
สวัสดีสาวก UnetLab วันนี้ผมมีหัวข้อการนำเสนอเป็น “การทำ Packet capture บน UnetLab” ครับ
เนื่องจาก UnetLab เป็นเครื่องมือที่ใช้ทำการทดสอบ Lab ที่สมบูรณ์มากที่สุดในช่วงที่เขียน Blog วันนี้แต่สิ่งหนึ่งที่ขาดหายไปเมื่อเทียบกับ GNS3 และ IOU-Web คือ การใช้งาน Packet capture เพื่อทำการวิเคราะห์สิ่งที่เกิดขึ้นใน Lab ซึ่งจะทำให้เราสามารถเข้าใจการทำงานของอุปกรณ์ต่างๆได้ดีมากขึ้น หลังจากที่ได้ลองเข้าไปเล่นใน Backend ของ UnetLab มาแล้วสามถึงสามบทความ วันนี้เราจะมาเล่น Backend ของ UnetLab กันอีกรอบแต่เป็นการใช้งานขั้นสูงขึ้นอีกนิดโดยเป็นการประยุกต์ใช้งาน TCPDump เพื่อให้สามารถใช้งาน Packet capture ได้
ขั้นตอนในการทำ Packet capture บน UnetLab แบบคร่าวๆจะมีขั้นตอนดังนี้
ดังนั้นก่อนที่จะเริ่มทำให้โหลดโปรมต่างๆมาเตรียมไว้ให้พร้อมโดยสามารถ Download ได้จาก Link ด้านล่างนี้
หลังจากทราบข้อมูลเบื้องต้นกันแล้วให้เราทำการเริ่มต้นที่ UnetLab ดังนี้
เท่านี้ก็จบบทความในวันนี้แล้ว พบกันใหม่ตอนต่อไปครับ ^^
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:
เป้าหมาย:
IOS
Topology:
Video Solution:
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.
วันนี้กลับมาต่อกับ Service Provider ในตอนที่ 3
ใช้ Diagram เดิมในตอนที่แล้วแบบนี้ครับกันลืม
ในตอนนี้เราจะมาเริ่มทำการ Configure MPLS กันครับ โดยมีข้อกำหนดเพิ่มเติมดังนี้
กำหนดให้แต่ละอุปกรณ์มี Label ในช่วงต่างๆดังนี้
P-XR-1 = 100000 – 199999
P-XR-2 = 200000 – 299999
PE-IOU-1 = 300 – 399
PE-IOU-2 = 400 – 499
PE-IOU-3 = 500 – 599
PE-IOU-4 = 600 – 699
การกำหนดช่วงของ Label มีประโยชน์เพื่อให้การตรวจสอบการทำงานของ MPLS ใน Lab นี้สามารถเห็นการทดลองได้ชัดเจนขึ้นเท่านั้น ห้ามทำในการใช้งานจริงเด็ดขาด
เริ่มต้นการ Configure อุปกรณ์โดยเริ่มจาก P-XR-1 ก่อนและทำให้ครบทุกอุปกรณ์ตามด้านล่างนี้
=== P-XR-1 ===
mpls ldp
router-id 1.1.1.1
interface GigabitEthernet0/0/0/0
interface GigabitEthernet0/0/0/1
interface GigabitEthernet0/0/0/2
interface GigabitEthernet0/0/0/3
mpls label range table 0 100000 199999
=== P-XR-2 ===
mpls ldp
router-id 2.2.2.2
interface GigabitEthernet0/0/0/0
interface GigabitEthernet0/0/0/1
interface GigabitEthernet0/0/0/2
interface GigabitEthernet0/0/0/3
mpls label range table 0 200000 299999
=== PE-IOU-1 ===
mpls label range 300 399
mpls label protocol ldp
interface Ethernet0/0
mpls ip
interface Ethernet0/1
mpls ip
mpls ldp router-id Loopback0 force
=== PE-IOU-2 ===
mpls label range 400 499
mpls label protocol ldp
interface Ethernet0/0
mpls ip
interface Ethernet0/1
mpls ip
mpls ldp router-id Loopback0 force
=== PE-IOU-3 ===
mpls label range 500 599
mpls label protocol ldp
interface Ethernet0/0
mpls ip
interface Ethernet0/1
mpls ip
mpls ldp router-id Loopback0 force
=== PE-IOU-4 ===
mpls label range 600 699
mpls label protocol ldp
interface Ethernet0/0
mpls ip
interface Ethernet0/1
mpls ip
mpls ldp router-id Loopback0 force
เมื่อทำการ Configure MPLS เบื้องต้นเสร็จแล้วให้ทำการตรวจสอบ MPLS neighbor ของอุปรณ์ดังในตัวอย่างด้านล่างนี้
== show mpls ldp neighbor ===
=== P-XR-1 ===
เนื่องจาก Output มีรายละเอียดเยอะมากเราสามารถใช้ | ร่วมด้วยเพื่อ filter เฉพาะข้อมูลที่ต้องการได้ดังนี้
=== PE-IOU-4 ===
กรณีที่ MPLS neighbor ไม่เป็นไปตามที่ต้องการใให้ทำการตรวจสอบการ Enable MPLS ที่แต่ละ Interface ในทุกๆอุปกรณ์ด้วย Command
=== show mpls interfaces ===
=== P-XR-1 ===
=== PE-IOU-2 ===
ต่อมาลองดูตัวอย่างของการ Map Label เข้ากับ IP/Prefix ที่ Router โดยใช้ Command
=== show mpls ldp bindings ===
=== P-XR-1 === (ตัด Output บางส่วน)
=== PE-IOU-1 ===
จาก Output ของ PE-IOU-1 แสดง Label บางส่วนเป็น imp-null แสดงให้เห็นว่า PE-IOU-1 เป็นเข้าของ Prefix นั้นเองทำให้ไม่มีการกำหนด Label ให้กับ Prefix นั้นๆ
สำหรับตอนที่ 3 ขอจบเพียงเท่านี้ครับ _/|\_
สำหรับข้อมูลเพิ่มเติมใน Internet ได้จาก Keyword ดังต่อไปนี้ : MPLS, Implicit Null Labels (imp-null), MPLS Reserved Labels, Penultimate Hop Popping (PHP)
วันนี้กลับมาต่อกับ Service Provider ในตอนที่ 2
ใช้ Diagram เดิมในตอนที่แล้วแบบนี้ครับกันลืม
ในตอนนี้เราจะมาทำการ Configure OSPF เพิ่มเติมอีกเล็กน้อยคือการให้ P และ PE Router ทำการ Advertised Loopback 0 ของตัวเองออกมาใน Routing table และเพิ่ม Router ID ให้เป็น Loopback 0 IP address เช่นกัน โดยใช้ Command ดังนี้
=== P-XR-1 ===
interface loopback 0
ip address 1.1.1.1 255.255.255.0
router ospf LAB
router-id 1.1.1.1
area 0.0.0.0
interface Loopback0
=== P-XR-2===
interface loopback 0
ip address 2.2.2.2 255.255.255.0
router ospf LAB
router-id 2.2.2.2
area 0.0.0.0
interface Loopback0
=== PE-IOU-1 ===
interface loopback 0
ip address 3.3.3.3 255.255.255.0
router ospf 1
router-id 3.3.3.3
network 3.3.3.3 0.0.0.0 area 0
=== PE-IOU-2 ===
interface loopback 0
ip address 4.4.4.4 255.255.255.0
router ospf 1
router-id 4.4.4.4
network 4.4.4.4 0.0.0.0 area 0
=== PE-IOU-3 ===
interface loopback 0
ip address 5.5.5.5 255.255.255.0
router ospf 1
router-id 5.5.5.5
network 5.5.5.5 0.0.0.0 area 0
=== PE-IOU-4 ===
interface loopback 0
ip address 6.6.6.6 255.255.255.0
router ospf 1
router-id 6.6.6.6
network 6.6.6.6 0.0.0.0 area 0
ทำการ Advertised Loopback IP Address เข้าไปที่ IP Address ของ P และ PE Router เข้าไปใน OSPF จากนั้นทำการเช็ค Routing table บน P-XR-1 จะได้ผลดังนี้
กรณีที่ตรวจสอบแล้วผลลัพธ์ไม่ได้แบบในภาพให้ทำการ Clear OSPF process โดยใช้ Command ดังนี้
#clear ip ospf process
ให้ลองทำการเช็ค OSPF neighbor บน P-XR-1 หลังจากทำการแก้ OSPF Router ID บน PE-IOU-1 จะได้ผลดังนี้
เมื่อทำการ Configure OSPF เสร็จแล้วให้ทำการ Configure BGP ต่อโดยใช้เงื่อนไขดังนี้
=== P-XR-1 ===
router bgp 100
bgp router-id 1.1.1.1
address-family ipv4 unicast
neighbor 2.2.2.2
remote-as 100
update-source Loopback0
address-family ipv4 unicast
neighbor 3.3.3.3
remote-as 100
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
neighbor 4.4.4.4
remote-as 100
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
neighbor 5.5.5.5
remote-as 100
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
neighbor 6.6.6.6
remote-as 100
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
=== P-XR-2 ===
router bgp 100
bgp router-id 2.2.2.2
address-family ipv4 unicast
neighbor 1.1.1.1
remote-as 100
update-source Loopback0
address-family ipv4 unicast
neighbor 3.3.3.3
remote-as 100
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
neighbor 4.4.4.4
remote-as 100
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
neighbor 5.5.5.5
remote-as 100
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
neighbor 6.6.6.6
remote-as 100
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
=== PE-IOU-1 ===
router bgp 100
bgp router-id 3.3.3.3
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 1.1.1.1 remote-as 100
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
address-family ipv4
neighbor 1.1.1.1 activate
neighbor 2.2.2.2 activate
exit-address-family
=== PE-IOU-2 ===
router bgp 100
bgp router-id 4.4.4.4
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 1.1.1.1 remote-as 100
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
address-family ipv4
neighbor 1.1.1.1 activate
neighbor 2.2.2.2 activate
exit-address-family
=== PE-IOU-3 ===
router bgp 100
bgp router-id 5.5.5.5
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 1.1.1.1 remote-as 100
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
address-family ipv4
neighbor 1.1.1.1 activate
neighbor 2.2.2.2 activate
exit-address-family
=== PE-IOU-4 ===
router bgp 100
bgp router-id 6.6.6.6
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 1.1.1.1 remote-as 100
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
address-family ipv4
neighbor 1.1.1.1 activate
neighbor 2.2.2.2 activate
exit-address-family
เมื่อทำการ Configure BGP ตามข้อกำหนดเสร็จแล้วให้ทำการตรวจสอบ BGP peer ที่ P-XR-1 และ PE-IOU-4 ดังนี้
=== P-XR-1 ===
sh bgp summary
=== PE-IOU-1 ===
sh ip bgp summary
เมื่อทำการ Peer BGP ครบเรียบร้อยแล้วให้ลองทดสอบการทำงานของ Route reflector ที่ได้ทำการ Configure ไว้โดยลองให้ PE-IOU-1 ทำการเพิ่ม Interface Loopback 100 และทำการ Advertised network เข้าไปใน BGP
=== PE-IOU-1 ===
interface Loopback100
ip address 100.100.100.100 255.255.255.0
router bgp 100
address-family ipv4
network 100.100.100.0 mask 255.255.255.0
หลังจากนั้นให้ทำการตรวจสอบโดยการ Verify ฺBGP route ที่ PE-IOU-4 ดังนี้
=== PE-IOU-4 ===
show ip bgp sum
show ip bgp
จากผลการ Verify โดยใช้ Command “show ip bgp sum” จะเห็นได้ว่า PE-IOU-4 จะเห็น Prefix เข้ามาจาก Neighbor 1.1.1.1 (P-XR-1) และ 2.2.2.2 (P-XR-2) ตัวละ 1 Route ซึ่งเป็น Route reflector server ทั้งคู่
และเมื่อใช้ Command “show ip bgp” จะเห็น Route 100.100.100.0/24 เข้ามา 2 Route และมี 1 Route เป็น Best path
กรณีที่ต้องการหาว่า Best route 100.100.100.0/24 ที่ BGP เลือกไปใส่ลงใน Routing table มาจาก Router ตัวใดให้ใช้ Command “sh ip bgp 100.100.100.0” ที่ PE-IOU-4 จะได้ผลดังนี้
จากรูปจะเห็นได้ว่า Route 100.100.100.0/24 ที่เป็น Best route ได้มากจาก Neighbor 1.1.1.1 (P-XR-1) จาก Keyword “best” ในรูปด้านบน
วันนี้จบตอนนี้ 2 ในส่วน BGP เท่านี้ครับ ^^
ความเห็นล่าสุด