Tel Scripting for Cisco IOS Ray Blair, CCIE No. 7050 Arvind Durai, CCIE No. 7016 John Lautmann Cisco Press 800 East 96th Street Indianapolis, IN 46240
Tel Scripting for Cisco IOS Contents Introduction xiv Chapter 1 The Origin of Tel 1 Tel and Cisco IOS Software 3 Embedded Event Manager and Tel 4 Restriction of Tel in IOS 4 Tel with EEM Support in IOS 5 Using Tel Scripts in the Network 8 Troubleshooting Problems 8 Monitoring the Network 8 Adding Intelligence to Cisco IOS Protocols 9 Summary 9 References 9 Chapter 2 Tel Interpreter and Language Basics 11 Simple Variables in Tel 12 Storing Variables 12 Viewing Variables 13 The append Command 13 The incr Command 13 Representation of Variables in Tel 14 Command Substitution 14 Variable Substitution 15 Lists 17 läppend 18 lindex 18 linsert 18 llength 19 Isearcb 19 Ireplace 20 Irange 20 Isort 20 Procedures 21 for Command 22 foreach Command 23 while Command 23
ix Arrays 24 if Command 26 switch Command 27 Files 28 Summary 31 References 31 Chapter 3 Tel Functioning in Cisco los 33 Understanding the Tel Interpreter in Cisco IOS 33 Using Cisco IOS Exec-Mode Parser in the Tel Shell 34 Entering an IOS Command into the Tel Command Interpreter 35 Using Tel to Enter Commands 36 Copying a Tel Script to a Cisco IOS Device 38 Fetching a Cisco IOS Tel Script from a Remote Device 41 Using Tel to Examine the Cisco IOS Device Configuration 41 Using Tel to Modify the Router Configuration 43 Using Tel with SNMP to Check MIB Variables 44 Other Uses of SNMP 44 Enabling SNMP on a Cisco IOS Device 47 Querying the Configuration of a Cisco IOS Device Using SNMP 48 Modifying the Configuration of a Cisco IOS Device Using SNMP 51 Summary 53 References 53 Chapter 4 Embedded Event Manager (EEM) 55 EEM Architecture 55 Policies 56 EEM Server 56 Event Detectors 57 Software Release Support for EEM 60 Platform and IOS Considerations for EEM 65 Writing an EEM Applet 66 Practical Example of an Event Trigger 68 Using Object Tracking as an Event Trigger 69 Creating Applet Actions 70 Examples of EEM Applets 70 Configuring the IP SLA Sender and Responder 72 Applet and IP SLA Route Failover Example 74
x Tel Scripting for Cisco IOS Applet That Monitors the Default Route 83 Applet and Application Failover with a Network Address Translation Example 88 Using EEM and Tel Scripts 96 Programming Policies with Tel 97 Tel Example Used to Check for Interface Errors 98 Tel Example Used to Check the CPU Utilization 104 Summary 110 References 110 Chapter 5 Advanced Tel Operation in Cisco IOS 111 Introduction to the Syslog Protocol 112 Configuring Syslog Server Parameters in Cisco IOS 113 Syslog Tel Script Example 116 Syslog Tel Script Sample Output 118 Sending Syslog Messages to a File 121 Syslog Server Script Procedures 124 Syslog Server Script Body 127 Putting the Syslog Script into Operation 129 Introduction to Embedded Syslog Manager 130 Filtering Syslog Messages 130 ESM Global Variables 134 Rebuilding a Syslog Message from Its Components 136 Displaying/Adding ESM Tel Script Filters 137 Introduction to Embedded Menu Manager 139 Using Tel as a Web Server 144 Obtaining a Free Web Server Application 147 Reverse Engineering the Web Server 149 Creating Your Own Simple Web Page 152 Creating a Web Page Using IOS show Commands 154 Adding User Input to the Web Page 157 Introduction to IP SLA 160 Adding the IP SLA Measurement to the Web Page 162 Modifying the Button and Label for User Input 162 Creating a Tel Script to Display IP SLA Measurement Results 163 Putting the New Tel Scripts into Operation 165 Reformatting the IP SLA Output for Readability 167
xi Automatic Removal and Creation of IP SLA Entries 170 Displaying the Results of the IP SLA Measurement with Auto-Refresh 174 Tel Script Refresh Policy 177 SNMP Proxy Event Detector 178 Remote-Procedure Call Requests 179 Multiple-Event Support for Event Correlation 180 Using the clear Command 181 Summary 182 References 182 Chapter 6 Tel Script Examples 183 Creating an Application from Start to Finish 183 Determine What You Want to Accomplish 183 Creating a Flowchart 184 Deciding What the User Interface Should Look Like 185 Write the Code in Pseudo-Code 187 Before You Begin 188 Starting to Program the Application 190 Configuring the Web Server 190 Writing Code for the MPLS VPN Script 191 Configuring HTML 209 Writing Code for the MPLS CFG Script 216 Troubleshooting as You Go 228 Using Tel to Troubleshoot Network Problems 230 Monitoring the Console for Events 233 Creating a Web Application for Remote SNMP Graphing 236 Summary 241 References 241 Chapter 7 Security in Tel Scripts 243 Introduction to PKI Infrastructure 243 PKI Prerequisite 244 Confidentiality with PKI 244 Digital Signatures with PKI 245 Using Digital Signatures to Sign a Tel Script 247 Step 1: Decide on the Final Tel Script Contents (Myscript) 248 Step 2: Generate a Public/Private Key Pair 248
xii Tel Scripting for Cisco IOS Step 3: Generate a Certificate with the Key Pair 250 Step 4: Generate a Detached S/MIME pkcs7 Signature for Myscript Using the Private Key 250 Step 5: Modify the Format of the Signature to Match the Cisco Style for Signed Tel Scripts and Append It to the End of Myscript 251 Tel Script-Failure Scenario 256 Scaling Tel Script Distribution 257 Summary 258 References 258 Appendix A Cisco IOS Tel Commands Quick Reference 259 Index 287