ยินดีต้อนรับสู่ show running-config ครับ

บล็อก show running-config นี้สร้างไว้เพื่อเป็นแหล่งรวบรวมเทคนิคการตั้งค่าอุปกรณ์เครือข่าย Cisco ไม่ว่าจะเป็น Cisco IOS Router, Cisco Catalyst Swtich, Cisco ASA Firewall, Cisco Mars เป็นต้น รวมทั้งอาจจะมีเทคนิคการตั้งค่าอุปกรณ์ในยี่ห้ออื่น ๆ บ้างเล็กน้อยครับ

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

Wednesday, November 3, 2010

การสร้าง Menu บน CLI เพื่อเพิ่มความสะดวกต่อการใช้งาน

Using CLI Menu on Cisco IOS

           ในบางครั้งเวลาทำงาน เพื่อน ๆ เคยเจอปัญหาเช่นนี้บ้างมั้ยครับ คือ บริษัทเรามีการใช้งานเครือข่ายระหว่างสำนักงานใหญ่และสำนักงานสาขา ซึ่งที่สำนักงานสาขานี้ก็อาจที่จะมีหรือไม่มี IT ที่คอยประจำอยู่ หรืออาจจะมีแต่ก็ไม่ถนัดกับการใช้ CLI ของ Cisco นัก เวลาที่มีปัญหาแล้วเราอยากจะให้เขาช่วยดูสถานะนู่นนี่ให้นิดหน่อย(ในกรณีที่เรา remote เข้าไปไม่ได้) ก็แสนจะลำบากเนื่องจากเขาก็ไม่ค่อยคุ้นกับคำสั่งบน CLI ของ Cisco นัก ไอ้เราพอบอกคำสั่งไป เขาก็ใส่ผิดบ้างอะไรบ้าง กว่าจะคุยกันรู้เรื่องว่าจะให้ใส่คำสั่งอะไรก็เล่นเอาซะเหนื่อย

          แต่วันนี้ ผมมีวิธีที่จะช่วยในการแก้ปัญหาตรงจุดนี้ให้ครับ นั่นก็คือการสร้างเมนูบน CLI สำำหรับให้ผู้ใช้สามารถเลือกได้เลยว่าจะทำอะไร เช่น ถ้าอยากดูสถานะของอินเทอร์เฟสให้กด 1 เป็นต้น หรือถ้าอยาก ping มายังสำนักงานใหญ่ให้กด 2 เป็นต้น ถ้าใครสนใจอยากรู้รายละเอียดก็เชิญติดตามได้ในบทความนี้เลยครับ

          บน Cisco IOS ตั้งแต่ Version 10.0 เป็นต้นมา สามารถที่จะใช้คำสั่ง menu เพื่อที่จะทำการสร้าง เมนูแบบข้อความในหน้า CLI ได้ ซึ่งจะช่วยอำนวยความสะดวกให้แก่ผู้ใช้มากขึ้น เอาล่ะครับ ยังไงมาลองดูตัวอย่างการตั้งค่ากันเลยดีกว่านะครับ

         อันดับแรกเราจะต้องเปิดการทำงานของ AAA ก่อนนะครับ (ใครไม่เคยทำ เชิญที่นี่เลยครับ : การทำงานของ AAA) ซึ่งจะใช้ในการพิสูจน์ตัวตนและกำหนดสิทธิในการใช้งานให้กับผู้ใช้ และเมื่อเปิดใช้งาน AAA แล้วก็อย่าลืมเข้าไปตั้งค่าใน line vty และ line con ด้วยนะครับ

ตัวอย่าง
Router(config)#aaa new-model
Router(config)#aaa authentication login running-config local
Router(config)#aaa authorization exec running-config local
Router(config)#aaa authorization console

Router(config)#line vty 0 15
Router(config-line)#login authentication running-config
Router(config-line)#authorization exec running-config
Router(config-line)#exit

Router(config)#line con 0
Router(config-line)#login authentication running-config
Router(config-line)#authorization exec running-config
Router(config-line)#exit

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

ตัวอย่าง
Router(config)#menu remote title $
Enter TEXT message.  End with the character '$'.
#### Running-config.blogspot.com ####
$

          จากนั้นก็ทำการสร้าง prompt ซึ่งเป็นข้อความที่ใช้สำหรับ บอกให้ผู้ใช้ทำการเลือกข้อที่ต้องการครับ ซึ่ง prompt ที่สร้างขึ้นมานี้จะไปปรากฎอยู่ในบรรทัดล่างสุด เมื่อใช้งานเมนูครับ

ตัวอย่าง
Router(config)#menu remote prompt $
Enter TEXT message.  End with the character '$'.
please select an option and press enter : $

          เมื่อทำการสร้าง Title และ prompt เรียบร้อยแล้ว ทีนี้ก็ถึงเวลาที่จะต้องทำการสร้างตัวเลือกที่จะให้ผู้ใช้ได้เลือกกันนะครับ โดยจะใช้คำสั่ง menu <name> text <num> เพื่อสร้างข้อความสำหรับแต่ละข้อ และใช้คำสั่ง menu <name> command <command> เพื่อใช้กำหนดถึงคำสั่งสำหรับข้อนั้น ๆ ครับ และยังมีการใช้งาน option เช่น pause เพื่อให้หยุดรอผู้ใช้ ก่อนที่จะแสดงหน้าเมนูขึ้นมาอีกครั้งครับ

ตัวอย่าง
Router(config)#menu remote text 1 Display Status Of Interface
Router(config)#menu remote command 1 show ip int br
Router(config)#menu remote options 1 pause
Router(config)#menu remote text 2 Test Connection To Up link
Router(config)#menu remote command 2 ping 192.168.1.1
Router(config)#menu remote options 2 pause
Router(config)#menu remote text 3 Test Connection To Headquarter
Router(config)#menu remote command 3 traceroute 4.2.2.2
Router(config)#menu remote options 3 pause
Router(config)#menu remote text 4 Display Routing Table
Router(config)#menu remote command 4 show ip route
Router(config)#menu remote options 4 pause
Router(config)#menu remote text 5 Display Log Of Router
Router(config)#menu remote command 5 show logging
Router(config)#menu remote options 5 pause
Router(config)#menu remote text 6 To Command Line Interface
Router(config)#menu remote command 6 menu-exit
Router(config)#menu remote clear-screen
Router(config)#menu remote line-mode

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

ตัวอย่าง
Router(config)#username user01 privilege 7 secret ****
Router(config)#username user01 autocommand menu remote
Router(config)#exit

          และเมื่อมีการ login เข้ามาจากผู้ใช้ จะแสดงหน้าเมนู ดังนี้ครับ

ตัวอย่าง
User Access Verification

Username: user01
Password:

#### Running-config.blogspot.com ####

    1          Display Status Of Interface

    2          Test Connection To Up link

    3          Test Connection To Headquarter

    4          Display Routing Table

    5          Display Log Of Router

    6          To Command Line Interface

please select an option and press enter :

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

No comments:

Post a Comment