ExtremWare Software UserGuide
ExtremWare Software UserGuide
Extreme Networks, Inc. 3585 Monroe Street Santa Clara, California 95051 (888) 257-3000 http://www.extremenetworks.com
Published: October 17, 2003 Part number: 100049-00 Rev 09
2003 Extreme Networks, Inc. All rights reserved. Extreme Networks, ExtremeWare and BlackDiamond are registered trademarks of Extreme Networks, Inc. in the United States and certain other jurisdictions. ExtremeWare Vista, ExtremeWorks, ExtremeAssist, ExtremeAssist1, ExtremeAssist2, PartnerAssist, Extreme Standby Router Protocol, ESRP, SmartTraps, Alpine, Summit, Summit1, Summit4, Summit4/FX, Summit7i, Summit24, Summit48, Summit Virtual Chassis, SummitLink, SummitGbX, SummitRPS and the Extreme Networks logo are trademarks of Extreme Networks, Inc., which may be registered or pending registration in certain jurisdictions. The Extreme Turbodrive logo is a service mark of Extreme Networks, which may be registered or pending registration in certain jurisdictions. Specifications are subject to change without notice. NetWare and Novell are registered trademarks of Novell, Inc. Merit is a registered trademark of Merit Network, Inc. Solaris is a trademark of Sun Microsystems, Inc. F5, BIG/ip, and 3DNS are registered trademarks of F5 Networks, Inc. see/IT is a trademark of F5 Networks, Inc. Data Fellows, the triangle symbol, and Data Fellows product names and symbols/logos are trademarks of Data Fellows. F-Secure SSH is a registered trademark of Data Fellows.
All other registered trademarks, trademarks and service marks are property of their respective owners.
Authors: Hugh Bussell, Julie Laccabue, Megan Mahar, Richard Small Production: Hugh Bussell
Contents
Preface
Introduction Terminology Conventions Related Publications 25 26 26 26
Part 1
Chapter 1
Using ExtremeWare
ExtremeWare Overview
Summary of Features Virtual LANs (VLANs) Spanning Tree Protocol Quality of Service Unicast Routing IP Multicast Routing Load Sharing Software Licensing Router Licensing Security Licensing Software Factory Defaults 31 32 33 33 33 34 34 34 34 36 36
Chapter 2
Contents
Limits Line-Editing Keys Command History Common Commands Configuring Management Access User Account Administrator Account Default Accounts Creating a Management Account Domain Name Service Client Services Checking Basic Connectivity Ping Traceroute
42 42 43 43 45 45 46 46 47 48 48 49 49
Chapter 3
Contents
SNMPv3 Overview Message Processing SNMPv3 Security MIB Access Control Notification Authenticating Users RADIUS Client TACACS+ Configuring RADIUS Client and TACACS+ Using Network Login Using the Simple Network Time Protocol Configuring and Using SNTP SNTP Example
66 66 67 69 70 72 72 73 73 73 73 73 77
Chapter 4
Contents
95
Chapter 5
Chapter 6
Contents
Chapter 7
Chapter 8
Contents
Creating NAT Rules Creating Static and Dynamic NAT Rules Creating Portmap NAT Rules Creating Auto-Constrain NAT Rules Advanced Rule Matching Configuring Time-outs Displaying NAT Settings Disabling NAT
Chapter 9
Contents
Chapter 10
Chapter 11
Security
Security Overview 225
Contents
Network Access Security MAC-Based VLANs IP Access Lists (ACLs) Using IP Access Lists How IP Access Lists Work Precedence Numbers IP Access Rules The permit-established Keyword Adding and Deleting Access List Entries Verifying Access List Configurations IP Access List Examples MAC Address Security Limiting Dynamic MAC Addresses MAC Address Lock Down Network Login Web-Based and 802.1x Authentication Campus and ISP Modes Interoperability Requirements Multiple supplicant support Exclusions and Limitations Configuring Network Login Web-Based Authentication User Login Using Campus Mode DHCP Server on the Switch Displaying DHCP Information Displaying Network Login Settings Disabling Network Login Additional Configuration Details Switch Protection Routing Access Profiles Using Routing Access Profiles Creating an Access Profile Configuring an Access Profile Mode Adding an Access Profile Entry Deleting an Access Profile Entry Applying Access Profiles Routing Profiles for RIP Routing Access Profiles for IPX Routing Access Profiles for OSPF Routing Access Profiles for DVMRP Routing Access Profiles for PIM Routing Access Profiles for BGP Making Changes to a Routing Access Policy Removing a Routing Access Policy
225 226 226 226 226 227 227 228 229 229 229 233 233 235 236 236 238 239 239 240 240 242 243 244 244 244 244 245 245 245 246 246 246 249 249 249 250 251 252 253 254 254 255
10
Contents
Route Maps Using Route Maps Creating a Route Map Add Entries to the Route Map Add Statements to the Route Map Entries Route Map Operation Changes to Route Maps Route Maps in BGP Denial of Service Protection Configuring Denial of Service Protection Enabling Denial of Service Protection Disabling Denial of Service Protection Displaying Denial of Service Settings How to Deploy DoS Protection Blocking SQL Slammer DoS Attacks Management Access Security Authenticating Users Using RADIUS or TACACS+ RADIUS Client Configuring TACACS+ Secure Shell 2 (SSH2) Enabling SSH2 for Inbound Switch Access Using SCP2 from an External SSH2 Client SSH2 Client Functions on the Switch
255 255 255 255 256 258 259 259 260 260 261 261 261 261 262 263 263 263 269 270 270 271 272
Part 2
Chapter 12
11
Contents
Configuring the EAPS Control VLAN Configuring the EAPS Protected VLANs Enabling and Disabling an EAPS Domain Enabling and Disabling EAPS Unconfiguring an EAPS Ring Port Displaying EAPS Status Information Configuring EAPS Shared Ports Steady State Common Link Failures Creating and Deleting a Shared Port Defining the Mode of the Shared Port Configuring the Link ID of the Shared Port Unconfiguring an EAPS Shared Port Displaying EAPS Shared-Port Status Information EAPS Shared Port Configuration Rules EAPS Shared Port Configuration Examples Basic Configuration Basic Core Configuration Right Angle Configuration Combined Basic Core and Right Angle Configuration Large Core and Access Rings Configuration Advanced Configuration
284 285 285 285 286 286 289 290 290 291 291 292 292 292 293 293 293 294 294 295 295 296
Chapter 13
12
Contents
Configuring STP on the Switch STP Configuration Examples Displaying STP Settings
Chapter 14
Chapter 15
13
Contents
Determining the VRRP Master VRRP Tracking Electing the Master Router Additional VRRP Highlights VRRP Port Restart VRRP Operation Simple VRRP Network Configuration Fully-Redundant VRRP Network VRRP Configuration Parameters VRRP Examples Configuring the Simple VRRP Network Configuring the Fully-Redundant VRRP Network
348 348 351 351 352 352 352 353 354 356 356 357
Chapter 16
IP Unicast Routing
Overview of IP Unicast Routing Router Interfaces Populating the Routing Table Subnet-Directed Broadcast Forwarding Proxy ARP ARP-Incapable Devices Proxy ARP Between Subnets Relative Route Priorities Configuring IP Unicast Routing Verifying the IP Unicast Routing Configuration Routing Configuration Example IP Multinetting IP Multinetting Operation IP Multinetting Examples Configuring DHCP/BOOTP Relay Verifying the DHCP/BOOTP Relay Configuration UDP-Forwarding Configuring UDP-Forwarding UDP-Forwarding Example ICMP Packet Processing UDP Echo Server VLAN Aggregation VLAN Aggregation Properties VLAN Aggregation Limitations VLAN Aggregation SubVLAN Address Range Checking Isolation Option for Communication Between Sub-VLANs VLAN Aggregation Example 359 360 361 362 363 363 364 364 365 365 365 367 368 369 370 370 370 371 371 371 372 372 374 374 374 375 375
14
Contents
375
Chapter 17
Chapter 18
15
Contents
BGP Attributes BGP Communities BGP Features Route Reflectors Route Confederations Route Aggregation IGP Synchronization Using the Loopback Interface BGP Peer Groups BGP Route Flap Dampening BGP Route Selection Stripping Out Private AS Numbers from Route Updates Route Re-Distribution Configuring Route Re-Distribution
402 402 402 403 403 406 407 407 407 408 411 411 411 412
Chapter 19
IP Multicast Routing
Overview DVMRP Overview PIM Overview IGMP Overview Multicast Tools Performance Enhancements for the BlackDiamond Switch Configuring IP Multicasting Routing Configuration Examples PIM-DM Configuration Example Configuration for IR1 Configuration for ABR1 413 414 414 415 416 417 418 419 419 420 421
Chapter 20
IPX Routing
Overview of IPX Router Interfaces IPX Routing Performance IPX Load Sharing IPX Encapsulation Types Tagged IPX VLANs Populating the Routing Table IPX/RIP Routing Routing SAP Advertisements Configuring IPX Verifying IPX Router Configuration Protocol-Based VLANs for IPX IPX Configuration Example 423 423 424 425 425 425 426 426 427 427 428 428 429
16
Contents
Part 3
Chapter 21
Configuring Modules
Accounting and Routing Module (ARM)
Summary of Features ARM Module Limitations About IP Unicast Forwarding About Selective Longest Prefix Match About Destination-Sensitive Accounting Configuring the ARM Basic Accounting Configuration Information Basic SLPM Configuration Information Configuring Access Profiles Using Route Maps ARM Configuration Examples Configuring Destination-Sensitive Accounting Based on Destination IP Subnets Configuring Destination-Sensitive Accounting Based on BGP Community Strings Configuring Routing Using SLPM Retrieving Accounting Statistics Using the CLI to Retrieve Accounting Statistics Using SNMP to Retrieve Accounting Statistics Diagnostics Commands Layer 2 and Layer 3 Switching Attributes Debug Trace Commands 433 434 434 434 436 437 437 439 441 441 443 443 447 449 452 452 453 453 454 454 455
Chapter 22
17
Contents
Configuring the Signal Fail Threshold Configuring the Signal Degrade Threshold Configuring the Section Trace Identifier Configuring the Path Trace Identifier Configuring the Signal Label Resetting SONET Configuration Parameter Values Displaying SONET Status Information on ATM ports SONET Events on ATM Ports Configuring VLAN-Related Attributes Configuring Tagged VLAN 802.1p and 802.1Q Functions Generic VLAN Registration Protocol Functions Configuring Forwarding Database Attributes Configuring Spanning Tree Attributes Configuring QoS Functions Configuring a QoS Profile Classification and Replacement Policies Configuring DiffServ Enhanced RED Support QoS Monitor Intra-Subnet QoS Limitations and Unsupported Features Configuring Port Attributes Jumbo Frame Support Configuring IGMP Attributes Configuring Layer 2 and 3 Switching Attributes Configuring Access List Attributes Changing Image and Configuration Attributes
469 470 470 471 471 472 472 473 474 475 477 477 477 477 478 479 480 482 488 488 489 489 489 490 490 490 490
Chapter 23
18
Contents
Configuring SONET Clocking Configuring the Signal Fail Threshold Configuring the Signal Degrade Threshold Configuring the Section Trace Identifier Configuring the Path Trace Identifier Configuring the Signal Label Resetting SONET Configuration Parameter Values Displaying SONET Port Status Information SONET Events Configuring and Monitoring PPP Functions PPP Overview Creating a PPP User Account Configuring the PoS Checksum Configuring PoS Scrambling Configuring Link Maintenance Configuring PPP Link Quality Monitoring Configuring PPP Authentication Configuring the Name and Password for the Port Creating an Authentication Database Entry Configuring the Network Control Protocol Configuring the MPLS Control Protocol Configuring the OSI Network Layer Control Protocol Configuring the Delayed-Down-Time Interval Displaying PPP Information Resetting PPP Configuration Parameter Values Configuring VLAN-Related Attributes Configuring Tagged VLAN 802.1p and 802.1Q Functions Generic VLAN Registration Protocol Functions Configuring Forwarding Database Attributes Configuring Spanning Tree Attributes Configuring QoS Functions Configuring a QoS Profile Classification and Replacement Policies Configuring DiffServ Enhanced RED Support QoS Monitor Intra-Subnet QoS Configuring and Monitoring Flow Statistics Flow Statistics Background Information Collection Port and Filtering Options Collection Architecture Scalability and Reliability Export Criteria MIB Support for Flow Statistics Configuring and Monitoring APS Functions
505 505 505 506 506 507 507 507 508 510 510 514 514 514 515 515 516 516 517 518 519 519 520 520 521 522 522 525 525 525 525 525 526 527 530 536 536 536 537 539 539 540 546 546
19
Contents
APS Network Configuration Options Sample Line-Switching Scenario APS Benefits Enabling and Disabling APS Creating and Deleting an APS Group Adding a Port to an APS Group Deleting a Port from an APS Group Configuring APS Authentication Configuring Nonrevertive or Revertive Mode Configuring APS Timers Configuring APS Lockout Configuring Forced Switch Mode Configuring Manual Switch Mode Resetting APS Group Configuration Parameters Displaying APS Group Status Information MIB Support for APS Configuring Port Tunneling Configuring the PoS Port Tunnel Configuring the Ethernet Module Configuring the MPLS tls-Tunnel Limitations and Unsupported Commands Configuring General Switch Attributes PoS Module Limitations Configuring Port Attributes Jumbo Frame Support Configuring Access List Attributes Changing Image and Configuration Attributes
548 550 553 556 556 556 557 557 558 559 559 560 561 561 562 563 563 564 565 565 565 566 566 566 566 568 568
Chapter 24
20
Contents
Configuring PPP and MLPPP Multilink PPP and Multilink Groups Configuring a PPP/MLPPP Link WAN Multilink Configuration Examples Configuring a Bridged PPP/MLPPP Link Example Configuring a Routed PPP/MLPPP Link Example VLAN Tunneling (VMANs) VMAN Transport by WAN Links VMAN Termination at WAN ports
Chapter 25
Chapter 26
Configuring RSVP-TE
RSVP Elements Message Types Reservation Styles Bandwidth Reservation Traffic Engineering 616 616 618 618 620
21
Contents
RSVP Tunneling RSVP Objects RSVP Features Route Recording Explicit Route Path LSPs Redundant LSPs Improving LSP Scaling Configuring RSVP-TE Configuring RSVP-TE on a VLAN Configuring RSVP-TE Protocol Parameters Configuring an RSVP-TE Path Configuring an Explicit Route Configuring an RSVP-TE Profile Configuring an Existing RSVP-TE Profile Configuring an RSVP-TE LSP Adding a Path to an RSVP-TE LSP Displaying RSVP-TE LSP Configuration Information Displaying the RSVP-TE Routed Path Displaying the RSVP-TE Path Profile Displaying the RSVP-TE LSP Configuration Example
620 620 621 621 622 622 623 624 624 624 625 626 627 628 628 629 629 630 630 630 630
Chapter 27
22
Contents
Chapter 28
Part 4
Appendix A
Appendixes
Software Upgrade and Boot Options
Downloading a New Image Selecting a Primary or a Secondary Image Downloading Images to Slots and Modules Understanding the Image Version String Software Signatures Rebooting the Switch Rebooting a Module Saving Configuration Changes Returning to Factory Defaults Using TFTP to Upload the Configuration Using TFTP to Download the Configuration Downloading a Complete Configuration Downloading an Incremental Configuration Scheduled Incremental Configuration Download Remember to Save Synchronizing MSMs Upgrading and Accessing BootROM Upgrading BootROM Accessing the BootROM Menu 667 668 668 669 670 670 671 671 672 672 673 673 673 674 674 674 675 675 675
Appendix B
Troubleshooting
23
Contents
LEDs Using the Command-Line Interface Port Configuration VLANs STP Debug Tracing/Debug Mode TOP Command System Health Check System Memory Dump System Odometer Memory Scanning and Memory Mapping Modes of Operation Memory Scanning and Memory Mapping Functions Using Memory Scanning to Screen I/O Modules Reboot Loop Protection Minimal Mode Contacting Extreme Technical Support
677 678 680 680 681 682 682 683 683 684 685 685 686 692 693 693 694
Appendix C
24
Preface
This preface provides an overview of this guide, describes guide conventions, and lists other publications that might be useful.
Introduction
This guide provides the required information to configure ExtremeWare software running on either modular or stand-alone switches from Extreme Networks. This guide is intended for use by network administrators who are responsible for installing and setting up network equipment. It assumes a basic working knowledge of: Local area networks (LANs) Ethernet concepts Ethernet switching and bridging concepts Routing concepts Internet Protocol (IP) concepts Routing Information Protocol (RIP) and Open Shortest Path First (OSPF). Border Gateway Protocol (BGP-4) concepts IP Multicast concepts Distance Vector Multicast Routing Protocol (DVMRP) concepts Protocol Independent Multicast (PIM) concepts Internet Packet Exchange (IPX) concepts Server Load Balancing (SLB) concepts Simple Network Management Protocol (SNMP) NOTE If the information in the release notes shipped with your switch differs from the information in this guide, follow the release notes.
25
Preface
Terminology
When features, functionality, or operation is specific to a modular or stand-alone switch family, the family name is used. Explanations about features and operations that are the same across all product families simply refer to the product as the switch.
Conventions
Table 1 and Table 2 list conventions that are used throughout this guide. Table 1: Notice Icons
Icon Notice Type Note Alerts you to... Important features or instructions.
Caution
Warning
Related Publications
The publications related to this one are: ExtremeWare release notes ExtremeWare 7.1.0 Software Command Reference Guide ExtremeWare 7.1.0 Software Quick Reference Guide Extreme Networks Consolidated Hardware Guide
26
Related Publications
Documentation for Extreme Networks products is available on the World Wide Web at the following location: http://www.extremenetworks.com/
27
Preface
28
Part 1
Using ExtremeWare
ExtremeWare Overview
This chapter covers the following topics: Summary of Features on page 31 Software Licensing on page 34 Software Factory Defaults on page 36 ExtremeWare is the full-featured software operating system that is designed to run on the Extreme Networks families of modular and stand-alone Gigabit Ethernet switches.
NOTE ExtremeWare 7.1.0 only supports Extreme Networks products that contain the i or t series chipset. This includes the BlackDiamond, Alpine, and Summit i series platforms, but does not include the Summit 24e3 and Summit 200 series platforms.
Summary of Features
The features of ExtremeWare include: Virtual local area networks (VLANs) including support for IEEE 802.1Q and IEEE 802.1p VLAN aggregation Spanning Tree Protocol (STP) (IEEE 802.1D) with multiple STP domains Policy-Based Quality of Service (PB-QoS) Wire-speed Internet Protocol (IP) routing IP Multinetting DHCP/BOOTP Relay Extreme Standby Router Protocol (ESRP) Virtual Router Redundancy Protocol (VRRP) Routing Information Protocol (RIP) version 1 and RIP version 2 Open Shortest Path First (OSPF) routing protocol Border Gateway Protocol (BGP) version 4
31
ExtremeWare Overview
Wire-speed IP multicast routing support Diffserv support Access-policy support for routing protocols Access list support for packet filtering IGMP snooping to control IP multicast traffic Distance Vector Multicast Routing Protocol (DVMRP) Protocol Independent Multicast-Dense Mode (PIM-DM) Protocol Independent Multicast-Sparse Mode (PIM-SM) Wire-speed IPX, IPX/RIP, and IPX/SAP support Server Load Balancing (SLB) support Load sharing on multiple ports, across all blades (modular switches only) RADIUS client and per-command authentication support TACACS+ support Console command line interface (CLI) connection Telnet CLI connection SSH2 connection ExtremeWare Vista Web-based management interface Simple Network Management Protocol (SNMP) support Remote Monitoring (RMON) System Monitoring (SMON) Traffic mirroring Network Login support Accounting and Routing Module (ARM) support Asynchronous Transfer Mode Module (ATM) support Packet over SONET (PoS) Module support WAN Module support MultiProtocol Label Switching (MPLS) support Destination-Sensitive Accounting (DSA) support NOTE For more information on Extreme Networks switch components (the BlackDiamond 6800 family, the Alpine 3800 family, or the Summit switch family), see the Extreme Networks Consolidated Hardware Guide.
32
Summary of Features
VLANs help to control broadcast traffic. If a device in VLAN Marketing transmits a broadcast frame, only VLAN Marketing devices receive the frame. VLANs provide extra security. Devices in VLAN Marketing can only communicate with devices on VLAN Sales using routing services. VLANs ease the change and movement of devices on networks. NOTE For more information on VLANs, see Chapter 5.
Quality of Service
ExtremeWare has Policy-Based Quality of Service (QoS) features that enable you to specify service levels for different traffic groups. By default, all traffic is assigned the normal QoS policy profile. If needed, you can create other QoS policies and apply them to different traffic types so that they have different guaranteed minimum bandwidth, maximum bandwidth, and priority. NOTE For more information on Quality of Service, see Chapter 7.
Unicast Routing
The switch can route IP or IPX traffic between the VLANs that are configured as virtual router interfaces. Both dynamic and static IP routes are maintained in the routing table. The following routing protocols are supported: RIP version 1 RIP version 2 OSPF version 2 IS-IS IPX/RIP BGP version 4
33
ExtremeWare Overview
NOTE For more information on IP unicast routing, see Chapter 16. For more information on IPX/RIP, see Chapter 20.
IP Multicast Routing
The switch can use IP multicasting to allow a single IP host to transmit a packet to a group of IP hosts. ExtremeWare supports multicast routes that are learned by way of the Distance Vector Multicast Routing Protocol (DVMRP) or the Protocol Independent Multicast (dense mode or sparse mode). NOTE For more information on IP multicast routing, see Chapter 19.
Load Sharing
Load sharing allows you to increase bandwidth and resiliency by using a group of ports to carry traffic in parallel between systems. The load sharing algorithm allows the switch to use multiple ports as a single logical port. For example, VLANs see the load-sharing group as a single virtual port. The algorithm also guarantees packet sequencing between clients. NOTE For information on load sharing, see Chapter 4.
Software Licensing
Some Extreme Networks products have capabilities that are enabled by using a license key. Keys are typically unique to the switch, and are not transferable. Keys are stored in NVRAM and, once entered, persist through reboots, software upgrades, and reconfigurations. The following sections describe the features that are associated with license keys.
Router Licensing
Some switches support software licensing for different levels of router functionality. In ExtremeWare version 6.0 and above, routing protocol support is separated into two sets: Basic and Full L3. Basic is a subset of Full L3.
Basic Functionality
Basic functionality requires no license key. All Extreme switches have Basic layer 3 functionality, without the requirement of a license key. Basic functionality includes all switching functions, and also includes all available layer 3 QoS, access list, and ESRP functions. Layer 3 routing functions include support for: IP routing using RIP version 1 and/or RIP version 2 IP routing between directly attached VLANs IP routing using static routes
34
Software Licensing
Full L3 Functionality
On switches that support router licensing, the Full L3 license enables support of additional routing protocols and functions, including: IP routing using OSPF IP multicast routing using DVMRP IP multicast routing using PIM (Dense Mode or Sparse Mode) IP routing using BGP IPX routing (direct, static, and dynamic using IPX/RIP and IPX/SAP) Server load balancing Web cache redirection EAPS NAT IS-IS MPLS ARM PoS ATM
Product Support
The Summit1i switch and all BlackDiamond 6800 series switches ship with Full L3 functionality. All other Summit models and the Alpine 3800 series switches are available with either Basic or Full L3 functionality.
35
ExtremeWare Overview
or by phoning Extreme Networks Technical Support at: (800) 998-2408 (408) 579-2826
Security Licensing
Certain additional ExtremeWare security features, such as the use of Secure Shell (SSH2) encryption, may be under United States export restriction control. Extreme Networks ships these security features in a disabled state. You can obtain information on enabling these features at no charge from Extreme Networks.
36
802.1Q tagging Spanning Tree Protocol Forwarding database aging period IP Routing RIP OSPF IP multicast routing IGMP IGMP snooping DVMRP GVRP PIM-DM IPX routing NTP DNS Port mirroring MPLS
NOTE For default settings of individual ExtremeWare features, see individual chapters in this guide.
37
ExtremeWare Overview
38
This chapter covers the following topics: Understanding the Command Syntax on page 39 Line-Editing Keys on page 42 Command History on page 43 Common Commands on page 43 Configuring Management Access on page 45 Domain Name Service Client Services on page 48 Checking Basic Connectivity on page 48
39
3 The value part of the command specifies how you want the parameter to be set. Values include numerics, strings, or addresses, depending on the parameter. 4 After entering the complete command, press [Return]. NOTE If an asterisk (*) appears in front of the command-line prompt, it indicates that you have outstanding configuration changes that have not been saved. For more information on saving configuration changes, see Appendix A.
Syntax Helper
The CLI has a built-in syntax helper. If you are unsure of the complete syntax for a particular command, enter as much of the command as possible and press [Tab]. The syntax helper provides a list of options for the remainder of the command, and places the cursor at the end of the command you have entered so far, ready for the next option. If the command is one where the next option is a named component, such as a VLAN, access profile, or route map, the syntax helper will also list any currently configured names that might be used as the next option. In situations where this list might be very long, the syntax helper will list only one line of names, followed by an ellipses to indicate that there are more names than can be displayed. The syntax helper also provides assistance if you have entered an incorrect command.
Abbreviated Syntax
Abbreviated syntax is the shortest unambiguous allowable abbreviation of a command or parameter. Typically, this is the first three letters of the command. If you do not enter enough letters to allow the switch to determine which command you mean, the syntax helper will provide a list of the options based on the portion of the command you have entered. NOTE When using abbreviated syntax, you must enter enough characters to make the command unambiguous and distinguishable to the switch.
Command Shortcuts
All named components of the switch configuration must have a unique name. Components are typically named using the create command. When you enter a command to configure a named component, you do not need to use the keyword of the component. For example, to create a VLAN, you must enter a unique VLAN name:
create vlan engineering
Once you have created the VLAN with a unique name, you can then eliminate the keyword vlan from all other commands that require the name to be entered. For example, instead of entering the modular switch command
configure vlan engineering delete port 1:3,4:6
40
You can add additional slot and port numbers to the list, separated by a comma:
port 3:1,4:8,6:10
indicates all ports on slot 3. You can specify a range of slots and ports. For example,
port 2:3-4:5
You can add additional port numbers to the list, separated by a comma:
port 1-3,6,8
Names
All named components of the switch configuration must have a unique name. Names must begin with an alphabetical character and are delimited by whitespace, unless enclosed in quotation marks. Names are not case-sensitive. Names cannot be tokens used on the switch.
41
Symbols
You may see a variety of symbols shown as part of the command syntax. These symbols explain how to enter the command, and you do not type them as part of the command itself. Table 4 summarizes command syntax symbols. Table 4: Command Syntax Symbols
Symbol angle brackets < > Description Enclose a variable or value. You must specify the variable or value. For example, in the syntax configure vlan <vlan name> ipaddress <ip_address> you must supply a VLAN name for <vlan name> and an address for <ip_address> when entering the command. Do not type the angle brackets. square brackets [ ] Enclose a required value or list of required arguments. One or more values or arguments can be specified. For example, in the syntax use image [primary | secondary] you must specify either the primary or secondary image when entering the command. Do not type the square brackets. vertical bar | Separates mutually exclusive items in a list, one of which must be entered. For example, in the syntax configure snmp community [read-only | read-write] <string> you must specify either the read or write community string in the command. Do not type the vertical bar. braces { } Enclose an optional value or a list of optional arguments. One or more values or arguments can be specified. For example, in the syntax reboot {<date> <time> | cancel} you can specify either a particular date and time combination, or the keyword cancel to cancel a previously scheduled reboot. If you do not specify an argument, the command will prompt, asking if you want to reboot the switch now. Do not type the braces.
Limits
The command line can process up to 200 characters, including spaces. If you enter more than 200 characters, the switch generates a stack overflow error and processes the first 200 characters.
Line-Editing Keys
Table 5 describes the line-editing keys available using the CLI. Table 5: Line-Editing Keys
Key(s) Backspace Delete or [Ctrl] + D [Ctrl] + K Insert Left Arrow Description Deletes character to left of cursor and shifts remainder of line to left. Deletes character under cursor and shifts remainder of line to left. Deletes characters from under cursor to end of line. Toggles on and off. When toggled on, inserts text and shifts previous text to right. Moves cursor to left.
42
Command History
Command History
ExtremeWare remembers the last 49 commands you entered. You can display a list of these commands by using the following command:
history
Common Commands
Table 6 describes some of the common commands used to manage the switch. Commands specific to a particular feature may also be described in other chapters of this guide. For a detailed description of the commands and their options, see the ExtremeWare Software Command Reference Guide. Table 6: Common Commands
Command clear session <number> configure account <username> Description Terminates a Telnet session from the switch. Configures a user account password. The switch will interactively prompt for a new password, and for reentry of the password to verify it. Passwords must have a minimum of 1 character and can have a maximum of 30 characters. Passwords are case-sensitive; user names are not case sensitive. configure banner Configures the banner string. You can enter up to 24 rows of 79-column text that is displayed before the login prompt of each session. Press [Return] at the beginning of a line to terminate the command and apply the banner. To clear the banner, press [Return] at the beginning of the first line. Configures the network login banner string. You can enter up to 1024 characters to be displayed before the login prompt of each session.
configure ports <portlist> auto off {speed [10 | 100 | Manually configures the port speed and duplex setting of 1000]} duplex [half | full] one or more ports on a switch. configure slot <slot number> module <module name> Configures a slot for a particular I/O module card.
43
create vlan <vlan name> delete account <username> delete vlan <vlan name> disable bootp vlan [<vlan name> | all] disable cli-config-logging disable clipaging disable idletimeouts
disable ports [<portlist> | all] disable ssh2 disable telnet disable web enable bootp vlan [<vlan name> | all] enable cli-config-logging enable clipaging
enable idletimeouts
44
User Account
A user-level account has viewing access to all manageable parameters, with the exception of: User account database. SNMP community strings. A user-level account can use the ping command to test device reachability, and change the password assigned to the account name. If you have logged on with user capabilities, the command-line prompt ends with a (>) sign. For example:
Summit1:2>
45
Administrator Account
An administrator-level account can view and change all switch parameters. It can also add and delete users, and change the password associated with any account name. The administrator can disconnect a management session that has been established by way of a Telnet connection. If this happens, the user logged on by way of the Telnet connection is notified that the session has been terminated. If you have logged on with administrator capabilities, the command-line prompt ends with a (#) sign. For example:
Summit1:18#
Prompt Text
The prompt text is taken from the SNMP sysname setting. The number that follows the colon indicates the sequential line/command number. If an asterisk (*) appears in front of the command-line prompt, it indicates that you have outstanding configuration changes that have not been saved. For example:
*Summit1:19#
Default Accounts
By default, the switch is configured with two accounts, as shown in Table 7. Table 7: Default Accounts
Account Name admin user Access Level This user can access and change all manageable parameters. The admin account cannot be deleted. This user can view (but not change) all manageable parameters, with the following exceptions: This user cannot view the user account database. This user cannot view the SNMP community strings.
46
5 Re-enter the new password at the prompt. To add a password to the default user account, follow these steps: 1 Log in to the switch using the name admin. 2 At the password prompt, press [Return], or enter the password that you have configured for the admin account. 3 Add a default user password by entering the following command:
configure account user
4 Enter the new password at the prompt. 5 Re-enter the new password at the prompt. NOTE If you forget your password while logged out of the command line interface, contact your local technical support representative, who will advise on your next course of action.
4 Enter the password at the prompt. 5 Re-enter the password at the prompt.
Viewing Accounts
To view the accounts that have been created, you must have administrator privileges. Use the following command to see the accounts:
show accounts
47
Deleting an Account
To delete a account, you must have administrator privileges. To delete an account, use the following command:
delete account <username>
NOTE Do not delete the default administrator account. If you do, it is automatically restored, with no password, the next time you download a configuration. To ensure security, change the password on the default account, but do not delete it. The changed password will remain intact through configuration uploads and downloads. If you must delete the default account, first create another administrator-level account. Remember to manually delete the default account again every time you download a configuration.
You can specify a default domain for use when a host name is used without a domain. Use the following command:
configure dns-client default-domain <domain name>
For example, if you specify the domain xyz-inc.com as the default domain, then a command such as ping accounting1 will be taken as if it had been entered ping accounting1.xyz-inc.com.
48
Ping
The ping command enables you to send Internet Control Message Protocol (ICMP) echo messages to a remote IP device. The ping command is available for both the user and administrator privilege level. The ping command syntax is:
ping {udp} {continuous} {size <start_size> {- <end_size>}} [<ip_address> | <hostname>] {from <src_address> | with record-route | from <src_ipaddress> with record-route}
Options for the ping command are described in Table 8. Table 8: Ping Command Parameters
Parameter udp continuous size Description Specifies that UDP messages should be sent instead of ICMP echo messages. When specified, from and with record-route options are not supported. Specifies ICMP echo messages to be sent continuously. This option can be interrupted by pressing any key. Specifies the size of the ICMP request. If both the start_size and end_size are specified, transmits ICMP requests using 1 byte increments, per packet. If no end_size is specified, packets of start_size are sent. Specifies the IP address of the host. Specifies the name of the host. To use the hostname, you must first configure DNS. Uses the specified source address in the ICMP packet. If not specified, the address of the transmitting interface is used. Decodes the list of recorded routes and displays them when the ICMP echo reply is received.
If a ping request fails, the switch continues to send ping messages until interrupted. Press any key to interrupt a ping request. The statistics are tabulated after the ping is interrupted.
Traceroute
The traceroute command enables you to trace the routed path between the switch and a destination endstation. The traceroute command syntax is:
traceroute [<ip_address> | <hostname>] {from <src_ipaddress>} {ttl <TTL>} {port <port>}
where: ip_address is the IP address of the destination endstation. hostname is the hostname of the destination endstation. To use the hostname, you must first configure DNS. from uses the specified source address in the ICMP packet. If not specified, the address of the transmitting interface is used. ttl configures the switch to trace the hops until the time-to-live has been exceeded for the switch. port uses the specified UDP port number.
49
50
This chapter covers the following topics: Overview on page 51 Using the Console Interface on page 52 Using the 10/100 Ethernet Management Port on page 52 Using Telnet on page 53 Using Secure Shell 2 (SSH2) on page 56 Using ExtremeWare Vista on page 56 Using SNMP on page 61 Authenticating Users on page 72 Using Network Login on page 73 Using the Simple Network Time Protocol on page 73
Overview
Using ExtremeWare, you can manage the switch using the following methods: Access the CLI by connecting a terminal (or workstation with terminal-emulation software) to the console port. Access the switch remotely using TCP/IP through one of the switch ports or through the dedicated 10/100 unshielded twisted pair (UTP) Ethernet management port (on switches that are so equipped). Remote access includes: Telnet using the CLI interface. SSH2 using the CLI interface. ExtremeWare Vista web access using a standard web browser. SNMP access using EPICenter or another SNMP manager. Download software updates and upgrades. For more information, see Appendix B, Software Upgrade and Boot Options.
51
The switch supports up to the following number of concurrent user sessions: One console session Two console sessions are available on a modular switch that has two management modules installed. Eight Telnet sessions Eight SSH2 sessions One web session
52
Using Telnet
Using Telnet
Any workstation with a Telnet facility should be able to communicate with the switch over a TCP/IP network using VT-100 terminal emulation. Up to eight active Telnet sessions can access the switch concurrently. If idletimeouts are enabled, the Telnet connection will time out after 20 minutes of inactivity. If a connection to a Telnet session is lost inadvertently, the switch terminates the session within two hours. Before you can start a Telnet session, you must set up the IP parameters described in Configuring Switch IP Parameters later in this chapter. Telnet is enabled by default.
NOTE Maximize the Telnet screen so that automatically updating screens display correctly. To open the Telnet session, you must specify the IP address of the device that you want to manage. Check the user manual supplied with the Telnet facility if you are unsure of how to do this. After the connection is established, you will see the switch prompt and you may log in.
If the TCP port number is not specified, the Telnet session defaults to port 23. Only VT100 emulation is supported.
53
If you configure the switch to use BOOTP, the switch IP address is not retained through a power cycle, even if the configuration has been saved. To retain the IP address through a power cycle, you must configure the IP address of the VLAN using the command-line interface, Telnet, or web interface. All VLANs within a switch that are configured to use BOOTP to get their IP address use the same MAC address. Therefore, if you are using BOOTP relay through a router, the BOOTP server relays packets based on the gateway portion of the BOOTP packet.
Administrator capabilities enable you to access all switch functions. The default user names have no passwords assigned. If you have been assigned a user name and password with administrator privileges, enter them at the login prompt. 4 At the password prompt, enter the password and press [Return]. When you have successfully logged in to the switch, the command-line prompt displays the name of the switch in its prompt. 5 Assign an IP address and subnetwork mask for the default VLAN by using the following command:
configure vlan <vlan name> ipaddress <ipaddress> {<subnet_mask>}
54
Using Telnet
For example:
configure vlan default ipaddress 123.45.67.8 255.255.255.0
Your changes take effect immediately. NOTE As a general rule, when configuring any IP addresses for the switch, you can express a subnet mask by using dotted decimal notation, or by using classless inter-domain routing notation (CIDR). CIDR uses a forward slash plus the number of bits in the subnet mask. Using CIDR notation, the command identical to the one above would be:
configure vlan default ipaddress 123.45.67.8 / 24
6 Configure the default route for the switch using the following command:
configure iproute add default <gateway> {<metric>}
For example:
configure iproute add default 123.45.67.1
7 Save your configuration changes so that they will be in effect after the next switch reboot, by typing:
save
8 When you are finished using the facility, log out of the switch by typing:
logout or quit
Use the none option to remove a previously configured access profile. To display the status of Telnet, use the following command:
show management
55
To re-enable Telnet on the switch, at the console port use the following:
enable telnet
NOTE For more information on assigning an IP address, see Configuring Switch IP Parameters on page 53. The default home page of the switch can be accessed using the following command: http://<ipaddress> When you access the home page of the switch, you are presented with the Logon screen.
56
Use the none option to remove a previously configured access profile. Apply an access profile only when ExtremeWare Vista is enabled. To display the status of web access, use the following command:
show management
To re-enable web access, use the enable web command. By default, web access uses TCP port 80. To specify a different port, use the port option in the enable
web command.
To configure the timeout for user to enter username/password in the pop-up window use the following command:
configure web login-timeout <seconds>
By default this timeout is set to 30 seconds. You will need to reboot the system in order for these changes to take effect.
57
Turn off one or more of the browser toolbars to maximize the viewing space of the ExtremeWare Vista content screen. If you will be using ExtremeWare Vista to send an email to the Extreme Networks Technical Support department, configure the email settings in your browser. Configure the browser to use the following recommended fonts: Proportional fontTimes New Roman Fixed-width fontCourier New
To correct this situation, log out of the switch and log in again.
Task Frame
The task frame has two sections: menu buttons and submenu links. The four task menu buttons are: Configuration Statistics Support Logout
58
Below the task buttons are options. Options are specific to the task button that you select. When you select an option, the information displayed in the content frame changes. However, when you select a new task button, the content frame does not change until you select a new option.
NOTE Submitting a configuration page with no change will result in an asterisk (*) appearing at the CLI prompt, even though actual configuration values have not changed.
Content Frame
The content frame contains the main body of information in ExtremeWare Vista. For example, if you select an option from the Configuration task button, enter configuration parameters in the content frame. If you select the Statistics task button, statistics are displayed in the content frame. Browser Controls. Browser controls include drop-down list boxes, check boxes, and multiselect list boxes. A multiselect list box has a scrollbar on the right side of the box. Using a multiselect list box, you can select a single item, all items, a set of contiguous items, or multiple noncontiguous items. Table 9 describes how to make selections from a multiselect list box. Table 9: Multiselect List Box Key Definitions
Selection Type Single item All items Contiguous items Selected noncontiguous items Key Sequence Click the item using the mouse. Click the first item, and drag to the last item. Click the first desired item, and drag to the last desired item. Hold down [Ctrl], click the first desired item, click the next desired item, and so on.
Status Messages
Status messages are displayed at the top of the content frame. The four types of status messages are: InformationDisplays information that is useful to know prior to, or as a result of, changing configuration options. WarningDisplays warnings about the switch configuration. ErrorDisplays errors caused by incorrectly configured settings. SuccessDisplays informational messages after you click Submit. The message displayed reads, Request was submitted successfully.
Standalone Buttons
At the bottom of some of the content frames is a section that contains standalone buttons. Standalone buttons are used to perform tasks that are not associated with a particular configuration option. An example of this is the Reboot Switch button.
59
Saving Changes
You can save your changes to nonvolatile storage in either of two ways using ExtremeWare Vista: Select Save Configuration from the Configuration task button, Switch option. This field contains a drop-down list box that allows you to select either the primary or secondary configuration area. After you select the configuration area, click Submit to save the changes. Click the Logout button. If you attempt to log out without saving your changes, ExtremeWare Vista prompts you to save your changes. If you select Yes, the changes are saved to the selected configuration area. To change the selected configuration area, you must go to the Configuration task button, Switch option.
Filtering Information
Some pages have a Filter button. The Filter button is used to display a subset of information on a given page. For example, on the OSPF configuration page, you can configure authentication based on the VLAN, area identifier, or virtual link. Once you select a filtering option and click the Filter button, the form that provides the configuration options displays the available interfaces in the drop-down menu, based on your filtering selection. Similarly, in certain Configuration and Statistics pages, information is shown based on a particular slot. Because modular switches allow you to preconfigure modules without having them physically available in the chassis, the configuration pages offer a drop-down menu to select any module card that has been configured on the system, whether or not the module is physically available. By default, information for the first configured module that is found in the chassis is displayed on the page. You can configure available slots and ports by filtering on a selected module from the Sort by Slot drop-down menu. On the Statistics pages, you can only view information for cards that are configured and physically inserted into the chassis. On these pages, the Sort by Slot drop-down menu displays only these modules.
60
Using SNMP
Using SNMP
Any Network Manager running the Simple Network Management Protocol (SNMP) can manage the switch, provided the Management Information Base (MIB) is installed correctly on the management station. Each Network Manager provides its own user interface to the management facilities. The following sections describe how to get started if you want to use an SNMP manager. It assumes you are already familiar with SNMP management. If not, refer to the following publication: The Simple Book by Marshall T. Rose ISBN 0-13-8121611-9 Published by Prentice Hall.
To prevent access using SNMPv1/v2c methods and allow access using SNMPv3 methods only, use the following commands:
enable snmp access disable snmp access snmp-v1v2c
There is no way to configure the switch to allow SNMPv1/v2c access and prevent SNMPv3 access. Most of the commands that support SNMPv1/v2c use the keyword snmp, most of the commands that support SNMPv3 use the keyword snmpv3.
61
Supported MIBs
In addition to private MIBs, the switch supports the standard MIBs listed in Appendix C.
See the Command Reference for a listing of the available traps. You can delete a trap receiver using the configure snmp delete trapreceiver command. Entries in the trap receiver list can also be created, modified, and deleted using the RMON2 trapDestTable MIB variable, as described in RFC 2021. SNMP read accessThe ability to read SNMP information can be restricted through the use of an access profile. An access profile permits or denies a named list of IP addresses and subnet masks. To configure SNMPv1/v2c read access to use an access profile, use the following command:
configure snmp access-profile readonly [<access_profile> | none]
Use the none option to remove a previously configured access profile. SNMP read/write accessThe ability to read and write SNMP information can be restricted through the use of an access profile. An access profile permits or denies a named list of IP addresses and subnet masks. To configure SNMPv1/v2c read/write access to use an access profile, use the following command:
configure snmp access-profile readwrite [<access_profile> | none]
Use the none option to remove a previously configured access-profile. Community stringsThe community strings allow a simple method of authentication between the switch and the remote Network Manager. There are two types of community strings on the switch. Read community strings provide read-only access to the switch. The default read-only community string is public. Read-write community strings provide read and write access to the switch. The default read-write community string is private. System contact (optional)The system contact is a text field that enables you to enter the name of the person(s) responsible for managing the switch.
62
Using SNMP
System nameThe system name is the name that you have assigned to this switch. The default name is the model name of the switch (for example, Summit1 switch). System location (optional)Using the system location field, you can enter an optional location for this switch. Enabling/disabling link up and link down traps (optional)By default, link up and link down traps (also called port-up-down traps) are enabled on the switch for all ports. You can disable or re-enable the sending of these traps on a per port basis, by using the following commands:
disable snmp traps port-up-down ports [all | mgmt | <portlist>] enable snmp traps port-up-down ports [all | mgmt | <portlist>]
The mgmt option will only appear on platforms having a management port. Enabling/disabling MAC-security traps (optional)MAC-security traps are sent on ports when limit-learning is configured and a new MAC address appears on the port after the port has already learned MAC addresses up to the configured limit. At such instants, a log message is generated in the syslog, a trap is sent out and the port is blackholed. By default, MAC-security traps are disabled on the switch. To enable or re-disable them, the following commands must be used:
enable snmp traps mac-security disable snmp traps mac-security
NOTE To configure learning limits on a set of ports, the command configure ports <portlist> limit-learning can be used.
This command displays the following information: Enable/disable state for Telnet, SSH2, SNMP, and web access, along with access profile information SNMP community strings Authorized SNMP station list SNMP MAC-security traps Link up/ link down traps enabled on ports SNMP trap receiver list SNMP trap groups RMON polling configuration Login statistics Enable/disable status of link up and link down traps Enable/disable status of MAC-security traps.
63
predefined filters are associated with a trap receiver, so that only those traps are sent. If you have already been using SNMPv1/v2c trap receivers, trap groups are very easy to incorporate into your network. You cannot define your own trap groups. If you need to define more selectively which notifications to receive, you will need to use the notification filter capabilities available in SNMPv3. To configure trap groups, use the following command:
configure snmp add trapreceiver <ip address> {port <number>} community {hex} <community string> {from <source ip address>} {mode [enhanced | standard]} trap-group {auth-traps{,}} {bgp-traps{,}} {extreme-traps{,}} {link-up-down-traps{,}} {ospf-traps{,} {ping-traceroute-traps{,}} {rmon-traps{,}} {security-traps {,}} {smart-traps{,}} {stp-traps{,}} {system-traps{,}} {vrrp-traps{,}}
For example, to send system and link up/link down traps to the receiver at 10.20.30.44 port 9347 with the community string private, use the following command:
configure snmp add trapreceiver 10.20.30.44 port 9347 community private trap-group link-up-down-traps , system-traps
Table 10 lists the currently defined SNMP trap groups. From time to time, new trap groups may be added to this command.
ospf-traps
64
Using SNMP
extreme-traps
SNMPv3
Beginning in ExtremeWare version 7.1.0, support was added for SNMPv3. SNMPv3 is an enhanced standard for SNMP that improves the security and privacy of SNMP access to managed devices, and provides sophisticated control of access to the device MIB. The prior standard versions of SNMP, SNMPv1 and SNMPv2c provided no privacy and little (or no) security. The following six RFCs provide the foundation for Extreme Networks implementation of SNMPv3: RFC 3410, Introduction to version 3 of the Internet-standard Network Management Framework, provides an overview of SNMPv3. RFC 3411, An Architecture for Describing SNMP Management Frameworks, talks about SNMP architecture, especially the architecture for security and administration. RFC 3412, Message Processing and Dispatching for the Simple Network Management Protocol (SNMP), talks about the message processing models and dispatching that can be a part of an SNMP engine. RFC 3413, SNMPv3 Applications, talks about the different types of applications that can be associated with an SNMPv3 engine. RFC 3414, The User-Based Security Model for Version 3 of the Simple Network Management Protocol (SNMPv3), describes the User-Based Security Model (USM).
65
RFC 3415, View-based Access Control Model (V ACM) for the Simple Network Management Protocol (SNMP), talks about VACM as a way to access the MIB.
SNMPv3 Overview
The SNMPv3 standards for network management were primarily driven the need for greater security and access control. The new standards use a modular design and model management information by cleanly defining a message processing subsystem, a security subsystem, and an access control subsystem. The message processing (MP) subsystem helps identify the MP model to be used when processing a received Protocol Data Unit (PDU), the packets used by SNMP for communication. This layer helps in implementing a multi-lingual agent, so that various versions of SNMP can coexist simultaneously in the same network. The security subsystem features the use of various authentication and privacy protocols with various timeliness checking and engine clock synchronization schemes. SNMPv3 is designed to be secure against: Modification of information, where an in-transit message is altered. Masquerades, where an unauthorized entity assumes the identity of an authorized entity. Message stream modification, where packets are delayed and/or replayed. Disclosure, where packet exchanges are sniffed (examined) and information is learned about the contents. The access control subsystem provides the ability to configure whether access to a managed object in a local MIB is allowed for a remote principal. The access control scheme allows you to define access policies based on MIB views, groups, and multiple security levels. In addition, the SNMPv3 target and notification MIBs provide a more procedural approach for the generation and filtering of notifications. SNMPv3 objects are stored in non-volatile memory unless specifically assigned to volatile storage. Objects defined as permanent cannot be deleted or modified.
NOTE In SNMPv3, many objects can be identified by a human-readable string or by a string of hex octets. In many commands, you can use either a character string, or a colon separated string of hex octets to specify objects. This is indicated by the keyword hex used in the command.
Message Processing
A particular network manager may require messages that conform to a particular version of SNMP. The choice of the SNMPv1, SNMPv2, or SNMPv3 message processing model can be configured for each network manager as its target address is configured. The selection of the message processing model is configured with the mp-model keyword in the following command: configure snmpv3 add target-params {hex} <param name> user {hex} <user name> mp-model [snmpv1 | snmpv2c | snmpv3] sec-model [snmpv1 | snmpv2c | usm] {sec-level [noauth | authnopriv | priv]} {volatile}
66
Using SNMP
SNMPv3 Security
In SNMPv3 the User-Based Security Model (USM) for SNMP was introduced. USM deals with security related aspects like authentication, encryption of SNMP messages and defining users and their various access security levels. This standard also encompass protection against message delay and message replay.
67
NOTE In the SNMPv3 specifications there is the concept of a security name. In the ExtremeWare implementation, the user name and security name are identical. In this manual we use both terms to refer to the same thing. Groups. Groups are used to manage access for the MIB. You use groups to define the security model, the security level, and the portion of the MIB that members of the group can read or write. To underscore the access function of groups, groups are defined using the following command: configure snmpv3 add access {hex} <group name> {sec-model [snmpv1 | snmpv2 | usm]} {sec-level [noauth | authnopriv | priv]} {read-view {hex} <view name>} { write-view {hex} <view name>} {notify-view {hex} <view name>} {volatile} The security model and security level are discussed in the section labeled Security Models and Levels. The view names associated with a group define a subset of the MIB (subtree) that can be accessed by members of the group. The read view defines the subtree that can be read, write view defines the subtree that can be written to, and notify view defines the subtree that notifications can originate from. MIB views are discussed in the section MIB Access Control. There are a number of default (permanent) groups already defined. These groups are: admin, initial, initialmd5, initialsha, initialmd5Priv, initialshaPriv, v1v2c_ro, v1v2c_rw. Use the following command to display information about the access configuration of a group or all groups: show snmpv3 access {{hex} <group name>} Users are associated with groups using the following command: configure snmpv3 add group {hex} <group name> user {hex} <user name> {sec-model [snmpv1| snmpv2 | usm]} {volatile} To show which users are associated with a group, use the following command: show snmpv3 group {{hex} <group name> {user {hex} <user name>}} To delete a group, use the following command: configure snmpv3 delete access [all-non-defaults | {{hex} <group name> {sec-model [snmpv1 | snmpv2c | usm] sec-level [noauth | authnopriv | priv]}}] When you delete a group, you do not remove the association between the group. To delete the association between a user and a group, use the following command: configure snmpv3 delete group {{hex} <group name>} user [all-non-defaults | {{hex} <user name> {sec-model [snmpv1|snmpv2c|usm]}}] Security Models and Levels. For compatibility, SNMPv3 supports three security models: SNMPv1no security SNMPv2ccommunity strings based security SNMPv3USM security
68
Using SNMP
The default is User-Based Security Model (USM). You can select the security model based on the network manager in your network. The three security levels supported by USM are: noAuthnoPrivNo authentication, no privacy. This is the case with existing SNMPv1/v2c agents. AuthnoPrivAuthentication, no privacy. Messages are tested only for authentication. AuthPrivAuthentication, privacy. This represents the highest level of security and requires every message exchange to pass the authentication and encryption tests. When a user is created, an authentication method is selected, and the authentication and privacy passwords or keys are entered. When MD5 authentication is specified, HMAC-MD5-96 is used to achieve authentication with a 16-octet key, which generates an 128-bit authorization code. This code is inserted in msgAuthenticationParameters field of SNMPv3 PDUs when the security level is specified as either AuthnoPriv or AuthPriv. Specifying SHA authentication uses the HMAC-SHA protocol with a 20-octet key for authentication. For privacy, a 16-octet key is provided as input to DES-CBS encryption protocol, which generates an encrypted PDU to be transmitted. DES uses bytes 1-7 to make a 56 bit key. This key (encrypted itself) is placed in msgPrivacyParameters of SNMPv3 PDUs when the security level is specified as AuthPriv.
The mask can also be expressed in hex notation (this is used for the ExtremeWare CLI):
1.3.6.1.2.1.1 / fe
To define a view that includes the entire MIB-2, use the following subtree/mask:
1.3.6.1.2.1.1 / 1.1.1.1.1.0.0.0
When you create the MIB view, you can choose to include the MIB subtree/mask, or to exclude the MIB subtree/mask. To create a MIB view, use the following command:
69
configure snmpv3 add mib-view {hex} <view name> subtree <object identifier> {/<subtree mask>} {type [included | excluded]} {[volatile | non-volatile]}
Once the view is created, you can repeatedly use the configure snmpv3 add mib-view command to include and/or exclude MIB subtree/mask combinations to precisely define the items you wish to control access to. In addition to the user created MIB views, there are three default views. They are of storage type permanent and cannot be deleted, but they can be modified. The default views are: defaultUserView, defaultAdminView, and defaultNotifyView. To show MIB views, use the following command:
show snmpv3 mib-view {{hex} <view name> {subtree <object identifier>}}
To delete a MIB view, use the following command: configure snmpv3 delete mib-view [all-non-defaults | {{hex} <view name> {subtree <object identifier>}}] MIB views which are being used by security groups cannot be deleted.
Notification
SNMPv3 notification is an enhancement to the concept of SNMP traps. Notifications are messages sent from an agent to the network manager, typically in response to some state change on the agent system. With SNMPv3, you can define precisely which traps you want sent, to which receiver by defining filter profiles to use for the notification receivers. To configure notifications, you will configure a target address for the process that receives the notification, a target parameters name, and a list of notification tags. The target parameters specify the security and message processing models to use for the notifications to the target. The target parameters name also points to the filter profile used to filter the notifications. Finally, the notification tags are added to a notification table so that any target addresses using that tag will receive notifications.
Target Addresses
A target address is similar to the earlier concept of a trap receiver. To configure a target address, use the following command: configure snmpv3 add target-addr {hex} <addr name> param {hex} <param name> ipaddress <ip address> {transport-port <port>} {from <source IP address>} {tag-list {hex} <tag>, {hex} <tag>, ...} {volatile} In configuring the target address you will supply an address name that will be used to identify the target address, a parameters name that will indicate the message processing model and security for the messages sent to the target address, and the IP address and port for the receiver. The parameters name also is used to indicate the filter profile used for notifications. The target parameters will be discussed in the section Target Parameters. The from option sets the source IP address in the notification packets. The tag-list option allows you to associate a list of tags with the target address. The tag defaultNotify is set by default. Tags are discussed in the section Notification Tags. To display target addresses, use the following command: show snmpv3 target-addr {{hex} <addr name>
70
Using SNMP
To delete a single target address or all target addresses, use the following command:
configure snmpv3 delete target-addr [{{hex} <addr name>} | all]
Target Parameters
Target parameters specify the message processing model, security model, security level, and user name (security name) used for messages sent to the target address. See the sections Message Processing and Users, Groups, and Security for more details on these topics. In addition, the target parameter name used for a target address points to a filter profile used to filter notifications. When you specify a filter profile, you will associate it with a parameter name, so you will need to create different target parameter names if you will use different filters for different target addresses. Use the following command to create a target parameter name, and set the message processing and security settings associated with it:
configure snmpv3 add target-params {hex} <param name> user {hex} <user name> mp-model [snmpv1 | snmpv2c | snmpv3] sec-model [snmpv1 | snmpv2c | usm] {sec-level [noauth | authnopriv | priv]} {volatile}
To display the options associated with a target parameters name, or all target parameters names, use the following command:
show snmpv3 target-params {{hex} <param name>}
To delete one or all the target parameters, use the following command: configure snmpv3 delete target-params [{{hex} <param name>} | all]
Once the profile name is created, you can associate filters with it using the following command: configure snmpv3 add filter {hex} <profile name> {hex} subtree <object identifier> {/<subtree mask>} type [included | excluded] {volatile} The MIB subtree and mask are discussed in the section MIB Access Control, as filters are closely related to MIB views. You can add filters together, including and excluding different subtrees of the MIB until your filter meets your needs. To display the association between parameter names and filter profiles, use the following command: show snmpv3 filter-profile {{hex} <profile name>} {{hex} <param name>} To display the filters that belong a filter profile, use the following command: show snmpv3 filter {{hex} <profile name> {{subtree} <object identifier>} To delete a filter or all filters from a filter profile, use the following command:
71
configure snmpv3 delete filter [all | [{hex} <profile name> {subtree <object identifier>}]] To remove the association of a filter profile or all filter profiles with a parameter name, use the following command: configure snmpv3 delete filter-profile [all |{hex}<profile name> {param {hex}<param name>}]
Notification Tags
When you create a target address, you associate a list of notification tags with the target, or by default, the defaultNotify tag is associated with the target. When notifications are generated, only targets associated with tags currently in an internal structure, called snmpNotifyTable, will be notified. To add an entry to the table, use the following command:
configure snmpv3 add notify {hex} <notify name> tag {hex} <tag> {volatile}
Any targets associated with tags in the snmpNotifyTable will be notified, based on the filter profile associated with the target. To display the notifications that are set, use the following command: show snmpv3 notify {{hex} <notify name>} To delete an entry from the snmpNotifyTable, use the following command: configure snmpv3 delete notify [{{hex} <notify name>} | all-non-defaults] You cannot delete the default entry from the table, so any targets configured with the defaultNotify tag will always receive notifications consistent with any filter profile specified.
Configuring Notifications
Since the target parameters name is used to point to a number of objects used for notifications, configure the target parameter name entry first. You can then configure the target address, filter profiles and filters, and any necessary notification tags.
Authenticating Users
ExtremeWare provides two methods to authenticate users who login to the switch: RADIUS client TACACS+ NOTE You cannot configure RADIUS and TACACS+ at the same time.
RADIUS Client
Remote Authentication Dial In User Service (RADIUS, RFC 2138) is a mechanism for authenticating and centrally administrating access to network nodes. The ExtremeWare RADIUS client implementation allows authentication for Telnet, Vista, or console access to the switch.
72
TACACS+
Terminal Access Controller Access Control System Plus (TACACS+) is a mechanism for providing authentication, authorization, and accounting on a centralized server, similar in function to the RADIUS client. The ExtremeWare version of TACACS+ is used to authenticate prospective users who are attempting to administer the switch. TACACS+ is used to communicate between the switch and an authentication database.
73
By default, Daylight Saving Time is assumed to begin on the first Sunday in April at 2:00 AM, and end the last Sunday in October at 2:00 AM, and be offset from standard time by one hour. If this is the case in your timezone, you can set up automatic daylight savings adjustment with the command:
configure timezone <GMT_offset> autodst
If your timezone uses starting and ending dates and times that differ from the default, you can specify the starting and ending date and time in terms of a floating day, as follows:
configure timezone name MET 60 autodst name MDT begins every last sunday march at 1 ends every last sunday october at 1
You can also specify a specific date and time, as shown in the following command.
configure timezone name NZST 720 autodst name NZDT 60 begins every first sunday october at 2 ends on 3/16/2002 at 2
The optional timezone IDs are used to identify the timezone in display commands such as show switch. Table 11 describes the command options in detail: Table 11: Time Zone Configuration Command Options
GMT_offset std-timezone-ID autodst dst-timezone-ID dst_offset floating_day Specifies a Greenwich Mean Time (GMT) offset, in + or - minutes. Specifies an optional name for this timezone specification. May be up to six characters in length. The default is an empty string. Enables automatic Daylight Savings Time. Specifies an optional name for this DST specification. May be up to six characters in length. The default is an empty string. Specifies an offset from standard time, in minutes. Value is in the range of 1 to 60. Default is 60 minutes. Specifies the day, week, and month of the year to begin or end DST each year. Format is: <week><day><month> where: <week> is specified as [first | second | third | fourth | last] or 1-5 <day> is specified as [sunday | monday | tuesday | wednesday | thursday | friday | saturday] or 1-7 (where 1 is Sunday) <month> is specified as [january | february | march | april | may | june | july | august | september | october | november | december] or 1-12
Default for beginning is first sunday april; default for ending is last sunday october. absolute_day Specifies a specific day of a specific year on which to begin or end DST. Format is: <month>/<day>/<year> where: time_of_day noautodst <month> is specified as 1-12 <day> is specified as 1-31 <year> is specified as 1970 - 2035
The year must be the same for the begin and end dates. Specifies the time of day to begin or end Daylight Savings Time. May be specified as an hour (0-23) or as hour:minutes. Default is 2:00. Disables automatic Daylight Savings Time.
Automatic Daylight Savings Time (DST) changes can be enabled or disabled. The default setting is enabled. To disable automatic DST, use the command:
configure timezone {name <std_timezone_ID>} <GMT_offset> noautodst
74
Once enabled, the switch sends out a periodic query to the NTP servers defined later (if configured) or listens to broadcast NTP updates from the network. The network time information is automatically saved into the on-board real-time clock. 4 If you would like this switch to use a directed query to the NTP server, configure the switch to use the NTP server(s). If the switch listens to NTP broadcasts, skip this step. To configure the switch to use a directed query, use the following command:
configure sntp-client [primary | secondary] server <host name/ip>
NTP queries are first sent to the primary server. If the primary server does not respond within 1 second, or if it is not synchronized, the switch queries the secondary server (if one is configured). If the switch cannot obtain the time, it restarts the query process. Otherwise, the switch waits for the sntp-client update interval before querying again. 5 Optionally, the interval for which the SNTP client updates the real-time clock of the switch can be changed using the following command:
configure sntp-client update-interval <seconds>
The default sntp-client update-interval value is 64 seconds. 6 You can verify the configuration using the following commands: show sntp-client This command provides configuration and statistics associated with SNTP and its connectivity to the NTP server. show switch This command indicates the GMT offset, the Daylight Savings Time configuration and status, and the current local time. NTP updates are distributed using GMT time. To properly display the local time in logs and other timestamp information, the switch should be configured with the appropriate offset to GMT based on geographical location. Table 12 describes GMT offsets.
Cities London, England; Dublin, Ireland; Edinburgh, Scotland; Lisbon, Portugal; Reykjavik, Iceland; Casablanca, Morocco
75
BT - Baghdad, Russia Zone 2 ZP4 - Russia Zone 3 ZP5 - Russia Zone 4 IST India Standard Time ZP6 - Russia Zone 5 WAST - West Australian Standard CCT - China Coast, Russia Zone 7 JST - Japan Standard, Russia Zone 8 EAST - East Australian Standard GST - Guam Standard Russia Zone 9
+11:00 +12:00
+660 +720 IDLE - International Date Line East NZST - New Zealand Standard NZT - New Zealand Wellington, New Zealand; Fiji, Marshall Islands
76
SNTP Example
In this example, the switch queries a specific NTP server and a backup NTP server. The switch is located in Cupertino, CA, and an update occurs every 20 minutes. The commands to configure the switch are as follows:
configure timezone -480 autodst configure sntp-client update interval 1200 enable sntp-client configure sntp-client primary server 10.0.1.1 configure sntp-client secondary server 10.0.1.2
77
78
This chapter covers the following topics: Configuring a Slot on a Modular Switch on page 79 Configuring Ports on a Switch on page 81 Jumbo Frames on page 84 Load Sharing on the Switch on page 86 Switch Port-Mirroring on page 90 Extreme Discovery Protocol on page 91 Software-Controlled Redundant Port and Smart Redundancy on page 92 Performance Enhancements for Load Sharing on page 90
NOTE For information on saving the configuration, see Appendix A. You can configure the modular switch with the type of I/O module that is installed in each slot. To do this, use the following command:
configure slot <slot number> module
You can also preconfigure the slot before inserting the module. This allows you to begin configuring the module and ports before installing the module in the chassis. If a slot is configured for one type of module, and a different type of module is inserted, the inserted module is put into a mismatch state, and is not brought online. To use the new module type in a slot,
79
the slot configuration must be cleared or configured for the new module type. To clear the slot of a previously assigned module type, use the following command:
clear slot <slot number>
All configuration information related to the slot and the ports on the module is erased. If a module is present when you issue this command, the module is reset to default settings. To display information about a particular slot, use the following command:
show slot {<slot number>}
Information displayed includes: Card type, serial number, part number. Current state (power down, operational, diagnostic, mismatch). Port information. If no slot is specified, information for all slots is displayed.
The three modes of switch operation are: ExtendedIn extended mode, all slots (slots 1, 2, and 3) are enabled. Slot 1 supports all existing Alpine I/O modules: Alpine Ethernet I/O modules (modules with a green stripe on the front of the module) and Alpine Access I/O modules (modules with a silver stripe on the front of the module). Slots 2 and 3 support only Alpine Access I/O modules (silver stripe). StandardIn standard mode, only slots 1 and 2 are enabled. Slot 3 is disabled. Slots 1 and 2 support all existing Alpine I/O modules: Alpine Ethernet I/O modules (green stripe) and Alpine Access I/O modules (silver stripe). AutoIn auto mode, the switch determines if it is in standard or extended mode depending upon the type of modules installed in the chassis or the slot preconfigurations. If an Alpine I/O module with a green stripe (for example, an FM-32Ti module) is installed or preconfigured in slot 2, the switch operates in standard mode. If an Alpine I/O module with a silver stripe (for example, a WM-4Ti module) is installed or preconfigured in slots 2 or 3, the switch operates in extended mode. By default, the Alpine 3802 operates in auto mode. If you insert a module into the Alpine 3802 that is not allowed in a particular slot, the switch logs an error to the syslog. For example, if you insert a GM-WDMi module in slot 3, a module type not supported in slot 3, the switch logs an error.
80
For example, if a G4X I/O module (having a total of four ports) is installed in slot 2 of the BlackDiamond 6808 chassis, the following ports are valid: 2:1 2:2 2:3 2:4 You can also use wildcard combinations (*) to specify multiple modular slot and port combinations. The following wildcard combinations are allowed: slot:*Specifies all ports on a particular I/O module. slot:x-slot:ySpecifies a contiguous series of ports on a particular I/O module. slota:x-slotb:ySpecifies a contiguous series of ports that begin on one I/O module and end on another I/O module.
To enable or disable one or more ports on a stand-alone switch, use the following command:
[enable | disable] ports [ all | <portlist>]
For example, to disable slot 7, ports 3, 5, and 12 through 15 on a modular switch, use the following command:
disable ports 7:3,7:5,7:12-7:15
For example, to disable ports 3, 5, and 12 through 15 on a stand-alone switch, use the following command:
disable ports 3,5,12-15
Even though a port is disabled, the link remains enabled for diagnostic purposes.
81
Gigabit Ethernet ports are statically set to 1 Gbps, and their speed cannot be modified. VDSL ports default to 10 Mbps, and their speed can be configured as 5 Mbps, 10 Mbps, or to support the European Telecommunications Standards Institute (ETSI) VDSL standard, ETSI Plan 997. To configure VDSL ports, use the following command:
configure ports <portlist> vdsl [5meg | 10meg | etsi]
All ports on a stand-alone switch can be configured for half-duplex or full-duplex operation. By default, the ports autonegotiate the duplex setting. To configure port speed and duplex setting, use the following command:
configure ports <portlist> auto off {speed [10 | 100 | 1000 | 10000]} duplex [half | full]
Flow control is fully supported only on Gigabit Ethernet ports. Gigabit ports both advertise support and respond to pause frames. 10/100 Mbps Ethernet ports also respond to pause frames, but do not advertise support. Neither 10/100 Mbps or Gigabit Ethernet ports initiate pause frames. Flow Control is enabled or disabled as part of autonegotiation. If autonegotiation is set to off, flow control is disabled. When autonegotiation is turned on, flow control is enabled.
NOTE 1000BASE-TX ports support only autonegotiation. The following example turns autonegotiation off for port 1 on a G4X or G6X module located in slot 1 of a modular switch:
configure ports 1:1 auto off duplex full
The following example turns autonegotiation off for port 4 (a Gigabit Ethernet port) on a stand-alone switch:
configure ports 4 auto off duplex full
82
where the following is true: portlistSpecifies one or more ports on the switch allSpecifies all of the ports on the switch offDisables the autopolarity detection feature on the specified ports onEnables the autopolarity detection feature on the specified ports Under certain conditions, you might opt to turn autopolarity off on one or more 10BASE-T and 100BASE-TX ports. The following example turns autopolarity off for ports 3-5 on a Summit48si switch:
configure ports 3-5 auto-polarity off
NOTE If you attempt to invoke this command on a Gigabit Ethernet switch port, the system displays a message indicating that the specified port is not supported by this feature. When autopolarity is disabled on one or more Ethernet ports, you can verify that status by using the command:
show configuration
This command will list the ports for which the feature has been disabled. You can also verify the current autopolarity status by using the command:
show ports {<portlist> | all} info detail
83
Extreme Networks switches over 10 Gigabit Ethernet links. Use the following command to modify the Interpacket Gap:
configure port <slot:port> interpacket-gap <byte_time>
Jumbo Frames
Jumbo frames are Ethernet frames that are larger than 1522 bytes, including four bytes used for the cyclic redundancy check (CRC). Extreme products support switching and routing of jumbo frames at wire-speed on all ports. Jumbo frames are used between endstations that support larger frame sizes for more efficient transfers of bulk data. Both endstations involved in the transfer must be capable of supporting jumbo frames. The switch only performs IP fragmentation, or participates in maximum transmission unit (MTU) negotiation on behalf of devices that support jumbo frames.
The jumbo frame size range is 1523 to 9216. This value describes the maximum size of the frame in transit (on the wire), and includes 4 bytes of CRC plus another 4 bytes if 802.1Q tagging is being used. Set the MTU size for the VLAN, using the following command:
configure ip-mtu <size> vlan <vlan name>
NOTE PoS or ATM must be rebooted if the IP-MTU configuration is changed. Next, enable support on the physical ports that will carry jumbo frames using the following command:
enable jumbo-frame ports [<portlist> | all]
NOTE Some network interface cards (NICs) have a configured maximum MTU size that does not include the additional 4 bytes of CRC. Ensure that the NIC maximum MTU size is at or below the maximum MTU size configured on the switch. Frames that are larger than the MTU size configured on the switch are dropped at the ingress port.
84
Jumbo Frames
the path, the Extreme switch discards the datagrams and returns an ICMP Destination Unreachable message to the sending host, with a code meaning fragmentation needed and DF set. When the source host receives the message (sometimes called a Datagram Too Big message), the source host reduces its assumed path MTU and retransmits the datagrams. The path MTU discovery process ends when one of the following is true: The source host sets the path MTU low enough that its datagrams can be delivered without fragmentation. The source host does not set the DF bit in the datagram headers. If it is willing to have datagrams fragmented, a source host can choose not to set the DF bit in datagram headers. Normally, the host continues to set DF in all datagrams, so that if the route changes and the new path MTU is lower, the host can perform path MTU discovery again.
NOTE Jumbo frame-to-jumbo frame fragmentation is not supported. Only jumbo frame-to-normal frame fragmentation is supported. To configure VLANs for IP fragmentation, follow these steps: 1 Enable jumbo frames on the incoming port. 2 Add the port to a VLAN. 3 Assign an IP address to the VLAN. 4 Enable ipforwarding on the VLAN. 5 Set the MTU size for the VLAN, using the following command:
configure ip-mtu <size> vlan <vlan name>
The ip-mtu value can be 1500 or 9194, with 1500 the default. NOTE To set the MTU size greater than 1500, all ports in the VLAN must have jumbo frames enabled.
85
3 Assign an IP address to the VLAN. 4 Enable ipforwarding on the VLAN. If you leave the MTU size configured to the default value, when you enable jumbo frame support on a port on the VLAN you will receive a warning that the ip-mtu size for the VLAN is not set at maximum jumbo frame size. You can ignore this warning if you want IP fragmentation within the VLAN, only. However, if you do not use jumbo frames, IP fragmentation can only be used for traffic that stays within the same VLAN. For traffic that is set to other VLANs, to use IP fragmentation, all ports in the VLAN must be configured for jumbo frame support.
NOTE Load sharing must be enabled on both ends of the link or a network loop may result. The load-sharing types (dynamic, static) must match, but the load-sharing algorithms do not need to be the same on both ends.
Load-Sharing Algorithms
Load-sharing algorithms allow you to select the distribution technique used by the load-sharing group to determine the output port selection. Algorithm selection is not intended for use in predictive traffic engineering. You can only choose the algorithm used in static load sharing, as dynamic load sharing exclusively uses an address-based algorithm. You can configure one of three load-sharing algorithms on the switch, as follows:
86
Port-basedUses the ingress port to determine which physical port in the load-sharing group is used to forward traffic out of the switch. Address-basedUses addressing information to determine which physical port in the load-sharing group to use for forwarding traffic out of the switch. Addressing information is based on the packet protocol, as follows: IP packetsUses the source and destination MAC and IP addresses, and the TCP port number. IPX packetsUses the source and destination MAC address, and IPX network identifiers. All other packetsUses the source and destination MAC address. Round-robinWhen the switch receives a stream of packets, it forwards one packet out of each physical port in the load-sharing group using a round-robin scheme. NOTE Using the round-robin algorithm, packet sequencing between clients is not guaranteed. If you do not explicitly select an algorithm, the port-based scheme is used. However, the address-based algorithm has a more even distribution and is the recommended choice, except when running MPLS, in which case port-based is recommended.
where: l2Indicates that the switch should examine the MAC source and destination address. l3Indicates that the switch should examine the IP source and destination address. l4Indicates that the switch should examine the UDP or TCP well-known port number. This feature is available for the address-based load-sharing algorithm, only. To verify your configuration, use the following command:
show sharing address-based
87
All the ports in a load-sharing group must have the same exact configuration, including auto negotiation, duplex setting, ESRP host attach or dont-count, and so on. All the ports in a load-sharing group must also be of the same bandwidth class. The following rules apply: One group can contain up to 8 ports. The ports in the group do not need to be contiguous. If dynamic load sharing is used (LACP), the ports in the group must be on the same I/O module. A load share group that spans multiple modules must use ports that are all of the same maximum bandwidth capability. On BlackDiamond 6804 and 6808 chassis, the following limitation applies: The chassis must use the MSM-3 if you are going to configure a load share group that spans multiple modules (cross-module trunking). On BlackDiamond 6816 chassis, the following limitation applies: The ports in the group must be on the same I/O module. To define a load-sharing group, you assign a group of ports to a single, logical port number. To enable or disable a load-sharing group, use the following commands:
enable sharing <port> grouping <portlist> {dynamic | algorithm {port-based | address-based | round-robin}} disable sharing <port>
NOTE Do not disable a port that is part of a load-sharing group. Disabling the port prevents it from forwarding traffic, but still allows the link to initialize. As a result, a partner switch does not receive a valid indication that the port is not in a forwarding state, and the partner switch will continue to forward packets.
NOTE BlackDiamond modules implement local switching; packets that ingress and egress on the same module are not passed to the chassis backplane but switched on the module from the ingress to the egress port. For this reason, packets arriving on a module that contains any of the configured cross-module load sharing ports will only be shared with the ports on that module, and not with the ports on any other modules.
Loopback Detection
Each port may enable loop detection. This optional feature detects that a port has been looped back to the local system. If a loopback is detected, the port is disabled. Note that loopbacks may exist between different ports. The feature will disable any port that both has the feature enabled, and receives an LACP message that was sent from the local system. To enable or disable loopback detection, use the following commands:
enable lbdetect port <portlist> [retry-timeout<seconds>]
88
Load-Sharing Examples
This section provides examples of how to define load-sharing on modular and stand-alone switches.
In this example, logical port 3:9 represents physical ports 3:9 through 3:12 and 5:7 through 5:10. When using load sharing, you should always reference the master logical port of the load-sharing group (port 3:9 in the previous example) when configuring or viewing VLANs. VLANs configured to use other ports in the load-sharing group will have those ports deleted from the VLAN when load sharing becomes enabled. For BlackDiamond chassis, packets are locally switched when possible, even with load sharing enabled. For example, in the configuration above, packets received on port 3:2 that are destined for the load-sharing group will only be shared with the ports 3:9-3:12 and not with ports 5:7-5:10. In contrast, packets received on port 2:2 that are destined for the load-sharing group will be shared with the all the ports in the load-sharing group (ports 3:9-3:12 and 5:7-5:10).
In this example, logical port 3:9 represents physical ports 3:9 through 3:12. When using load sharing, you should always reference the master logical port of the load-sharing group (port 3:9 in the previous example) when configuring or viewing VLANs. VLANs configured to use other ports in the load-sharing group will have those ports deleted from the VLAN when load sharing becomes enabled.
89
When using load sharing, you should always reference the master logical port of the load-sharing group (port 9 in the previous example) when configuring or viewing VLANs. VLANs configured to use other ports in the load-sharing group will have those ports deleted from the VLAN when load sharing becomes enabled.
NOTE Do not disable a port that is part of a load-sharing group. Disabling the port prevents it from forwarding traffic, but still allows the link to initialize. As a result, a partner switch does not receive a valid indication that the port is not in a forwarding state, and the partner switch will continue to forward packets.
and specify the following: address-basedaddress-based load-sharing algorithm port-basedport-based load-sharing algorithm round-robinround-robin load-sharing algorithm For more information about the load-sharing algorithms, see Load-Sharing Algorithms on page 86.
Switch Port-Mirroring
Port-mirroring configures the switch to copy all traffic associated with one or more ports. The monitor port can be connected to a network analyzer or RMON probe for packet analysis. The system uses a traffic filter that copies a group of traffic to the monitor port. The traffic filter can be defined based on one of the following criteria: Physical portAll data that traverses the port, regardless of VLAN configuration, is copied to the monitor port. VLANAll data to and from a particular VLAN, regardless of the physical port configuration, is copied to the monitor port. Virtual portAll data specific to a VLAN on a specific port is copied to the monitor port.
90
Up to eight mirroring filters and one monitor port can be configured. Once a port is specified as a monitor port, it cannot be used for any other function.
NOTE Frames that contain errors are not mirrored. The mirrored port transmits tagged or untagged frames. This allows you to mirror multiple ports or VLANs to a mirror port, while preserving the ability of a single protocol analyzer to track and differentiate traffic within a broadcast domain (VLAN) and across broadcast domains (for example, across VLANs when routing).
The following example sends all traffic coming into or out of the system on slot 8, port 1 and the VLAN default to the mirror port:
enable mirroring to port 8:4 configure mirroring add port 8:1 vlan default
The following example sends all traffic coming into or out of the switch on port 1 and the VLAN default to the mirror port:
configure mirroring add port 1 vlan default
91
EDP is enabled on all ports by default. To disable EDP on one or more ports, use the following command:
disable edp ports <portlist>
To view EDP port information on the switch, use the following command:
show edp
92
10
11
12
13
14
15
16
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Primary
Backup
17
4 5
20 21
EW_076
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Primary
Backup
17
4 5
20 21
EW_075
Only one side of the link needs to be configured as redundant, since the redundant port link is held in standby state on both sides of the link.
93
The first port specified is the primary port. The second port specified is the redundant port. To unconfigure a software-controlled redundant port, use the following command:
unconfigure port <portlist> redundant
94
To configure the switch for the Smart Redundancy feature, use the following command:
enable smartredundancy <portlist>
The following example is identical to the previous one, but each redundant port is configured individually:
enable enable config config config config sharing 1:1 group 1:1-1:4 sharing 2:1 group 2:1-2:4 ports 1:1 redundant 2:1 ports 1:2 redundant 2:2 ports 1:3 redundant 2:3 ports 1:4 redundant 2:4
95
96
This chapter covers the following topics: Overview of Virtual LANs on page 97 Types of VLANs on page 98 VLAN Names on page 106 Configuring VLANs on the Switch on page 107 Displaying VLAN Settings on page 108 VLAN Tunneling (VMANs) on page 110 MAC-Based VLANs on page 112 VLAN Translation on page 115 Setting up Virtual Local Area Networks (VLANs) on the switch eases many time-consuming tasks of network administration while increasing efficiency in network operations.
Benefits
Implementing VLANs on your networks has the following advantages: VLANs help to control trafficWith traditional networks, congestion can be caused by broadcast traffic that is directed to all network devices, regardless of whether they require it. VLANs increase the efficiency of your network because each VLAN can be set up to contain only those devices that must communicate with each other. VLANs provide extra securityDevices within each VLAN can only communicate with member devices in the same VLAN. If a device in VLAN Marketing must communicate with devices in VLAN Sales, the traffic must cross a routing device.
97
VLANs ease the change and movement of devicesWith traditional networks, network administrators spend much of their time dealing with moves and changes. If users move to a different subnetwork, the addresses of each endstation must be updated manually.
Types of VLANs
VLANs can be created according to the following criteria: Physical port 802.1Q tag Ethernet, LLC SAP, or LLC/SNAP Ethernet protocol type MAC address A combination of these criteria
Port-Based VLANs
In a port-based VLAN, a VLAN name is given to a group of one or more ports on the switch. All ports are members of the port-based VLAN default. Before you can add any port to another port-based VLAN, you must remove it from the default VLAN, unless the new VLAN uses a protocol other than the default protocol any. A port can be a member of only one port-based VLAN. On the Summit7i switch in Figure 3, ports 9 through 14 are part of VLAN Marketing; ports 25 through 29 are part of VLAN Sales; and ports 21 through 24 and 30 through 32 are in VLAN Finance. Figure 3: Example of a port-based VLAN on the Summit7i switch
Marketing
Finance
Sales
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
EW_027
For the members of the different IP VLANs to communicate, the traffic must be routed by the switch, even if they are physically part of the same I/O module. This means that each VLAN must be configured as a router interface with a unique IP address.
98
Types of VLANs
Sales
System 1
1 2 3 4 A B 5 6 7 8
System 2
10
11
12
13
14
15
16
17
1
18
19
20
21
22
23
24
25
2
26
27
28
29
30
31
32
EW_028
To create multiple VLANs that span two switches in a port-based VLAN, a port on system 1 must be cabled to a port on system 2 for each VLAN you want to have span across the switches. At least one port on each switch must be a member of the corresponding VLANs, as well. Figure 5 illustrates two VLANs spanning two switches. On system 2, ports 25 through 29 are part of VLAN Accounting; ports 21 through 24 and ports 30 through 32 are part of VLAN Engineering. On system 1, all port on slot 1 are part of VLAN Accounting; all ports on slot 8 are part of VLAN Engineering.
99
System 1
1 2 3 4 A B 5 6 7 8
50015
Accounting
System 2
Engineering
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
EW_030
VLAN Accounting spans system 1 and system 2 by way of a connection between system 2, port 29 and system 1, slot 1, port 6. VLAN Engineering spans system 1 and system 2 by way of a connection between system 2, port 32, and system 1, slot 8, port 6. Using this configuration, you can create multiple VLANs that span multiple switches, in a daisy-chained fashion. Each switch must have a dedicated port for each VLAN. Each dedicated port must be connected to a port that is a member of its VLAN on the next switch.
Tagged VLANs
Tagging is a process that inserts a marker (called a tag) into the Ethernet frame. The tag contains the identification number of a specific VLAN, called the VLANid. NOTE The use of 802.1Q tagged packets may lead to the appearance of packets slightly bigger than the current IEEE 802.3/Ethernet maximum of 1,518 bytes. This may affect packet error counters in other devices, and may also lead to connectivity problems if non-802.1Q bridges or routers are placed in the path.
100
Types of VLANs
NOTE Packets arriving tagged with a VLANid that is not configured on a port will be discarded. Figure 6 illustrates the physical view of a network that uses tagged and untagged traffic.
101
M = Marketing S = Sales
System 1
50015
M M
1
M
2
S S
S
3
S
4
System 2
EW_029
Figure 7 is a logical diagram of the same network. Figure 7: Logical diagram of tagged and untagged traffic
Marketing
System 1 Ports 1-4 & 9-12 System 2 Slot 1, Port 2 Slot 2, Ports 1-8 & 17-24 System 1 Port 25 * Port 29 * System 2 Slot 1, Port 1 *
Sales
System 1 Ports 5-8, 13-16 & 32 System 2 Slot 1, Port 3 Slot 1, Port 4 Slot 2, Ports 9-16 & 25-32
*Tagged Ports
EW_025
In Figure 6 and Figure 7: The trunk port on each switch carries traffic for both VLAN Marketing and VLAN Sales. The trunk port on each switch is tagged.
102
Types of VLANs
The server connected to port 25 on system 1 has a NIC that supports 802.1Q tagging. The server connected to port 25 on system 1 is a member of both VLAN Marketing and VLAN Sales. All other stations use untagged traffic. As data passes out of the switch, the switch determines if the destination port requires the frames to be tagged or untagged. All traffic coming from and going to the server is tagged. Traffic coming from and going to the trunk ports is tagged. The traffic that comes from and goes to the other stations on this network is not tagged.
Protocol-Based VLANs
Protocol-based VLANs enable you to define a packet filter that the switch uses as the matching criteria to determine if a particular packet belongs to a particular VLAN. Protocol-based VLANs are most often used in situations where network segments contain hosts running multiple protocols. For example, in Figure 8, the hosts are running both the IP and NetBIOS protocols. The IP traffic has been divided into two IP subnets, 192.207.35.0 and 192.207.36.0. The subnets are internally routed by the switch. The subnets are assigned different VLAN names, Finance and Personnel, respectively. The remainder of the traffic belongs to the VLAN named MyCompany. All ports are members of the VLAN MyCompany.
103
192.207.35.1
192.207.36.1
For example:
create protocol fred
104
Types of VLANs
The protocol name can have a maximum of 32 characters. 2 Configure the protocol using the following command:
configure protocol <protocol_name> add <protocol_type> <hex_value>
Supported protocol types include: etypeEtherType. The values for etype are four-digit hexadecimal numbers taken from a list maintained by the IEEE. This list can be found at the following URL:
http://standards.ieee.org/regauth/ethertype/index.html
llcLLC Service Advertising Protocol (SAP). The values for llc are four-digit hexadecimal numbers that are created by concatenating a two-digit LLC Destination SAP (DSAP) and a two-digit LLC Source SAP (SSAP). snapEthertype inside an IEEE SNAP packet encapsulation. The values for snap are the same as the values for etype, described previously. For example:
configure protocol fred add llc feff configure protocol fred add snap 9999
A maximum of 15 protocol filters, each containing a maximum of six protocols, can be defined. On products that use the Inferno chip set, all 15 protocol filters can be active and configured for use. On all other platforms, no more than seven protocols can be active and configured for use.
NOTE For more information on SNAP for Ethernet protocol types, see TR 11802-5:1997 (ISO/IEC) [ANSI/IEEE std. 802.1H, 1997 Edition].
105
VLAN Names
Each VLAN is given a name that can be up to 32 characters. VLAN names can use standard alphanumeric characters. The following characters are not permitted in a VLAN name: Space Comma Quotation mark VLAN names must begin with an alphabetical letter. Quotation marks can be used to enclose a VLAN name that includes special characters, including single quotation marks or commas. Spaces may not be included, even within quotation marks. For example, the names test, test1, and test_15 are acceptable VLAN names. The names test&5 and joes may be used if enclosed in quotation marks. Names such as 5test or test 5 are not permitted. VLAN names can be specified using the tab key for command completion. VLAN names are locally significant. That is, VLAN names used on one switch are only meaningful to that switch. If another switch is connected to it, the VLAN names have no significance to the other switch.
NOTE You should use VLAN names consistently across your entire network.
Default VLAN
The switch ships with one default VLAN that has the following properties: The VLAN name is default. It contains all the ports on a new or initialized switch. The default VLAN is untagged on all ports. It has an internal VLANid of 1.
Renaming a VLAN
To rename an existing VLAN, use the following command:
configure vlan <old_name> name <new_name>
The following rules apply to renaming VLANs: Once you change the name of the default VLAN, it cannot be changed back to default. You cannot create a new VLAN named default. You cannot change the VLAN name MacVlanDiscover. Although the switch accepts a name change, once it is rebooted, the original name is recreated.
106
NOTE If you plan to use this VLAN as a control VLAN for an EAPS domain, do NOT assign an IP address to the VLAN. 3 Assign a VLANid, if any ports in this VLAN will use a tag. 4 Assign one or more ports to the VLAN. As you add each port to the VLAN, decide if the port will use an 802.1Q tag.
NOTE Because VLAN names are unique, you do not need to enter the keyword vlan after you have created the unique VLAN name. You can use the VLAN name alone. The following stand-alone switch example creates a tag-based VLAN named video. It assigns the VLANid 1000. Ports 4 through 8 are added as tagged ports to the VLAN.
create vlan video configure video tag 1000 configure video add port 4-8 tagged
The following stand-alone switch example creates a VLAN named sales, with the VLANid 120. The VLAN uses both tagged and untagged ports. Ports 1 through 3 are tagged, and ports 4 and 7 are untagged. Note that when not explicitly specified, ports are added as untagged.
create vlan sales configure sales tag 120 configure sales add port 1-3 tagged
107
configure default delete port 4,7 configure sales add port 4,7
The following modular switch example creates a protocol-based VLAN named ipsales. Slot 5, ports 6 through 8, and slot 6, ports 1, 3, and 4-6 are assigned to the VLAN. In this example, you can add untagged ports to a new VLAN without first deleting them from the default VLAN, because the new VLAN uses a protocol other than the default protocol.
create vlan ipsales configure ipsales protocol ip configure ipsales add port 5:6-5:8,6:1,6:3-6:6
The following modular switch example defines a protocol filter, myprotocol and applies it to the VLAN named myvlan. This is an example only, and has no real-world application.
create protocol myprotocol configure protocol myprotocol add etype 0xf0f0 configure protocol myprotocol add etype 0xffff create vlan myvlan configure myvlan protocol myprotocol
The show command displays summary information about each VLAN, which includes: Name. VLANid. How the VLAN was created. IP address. IPX address (if configured). STPD information. Protocol information. QoS profile information. Ports assigned. Tagged/untagged status for each port. How the ports were added to the VLAN. Number of VLANs configured on the switch. Use the detail option to display the detailed format.
108
The information displayed includes: Transmitted and received unicast packets. Transmitted and received multicast packets. Transmitted and received broadcast packets. Transmitted and received bytes. You can display statistics for multiple VLANs by entering the name of each VLAN on the command line.
You can monitor up to four VLANs on the same port by issuing the command four times. For example, if you want to monitor VLAN dog1, dog2, dog3, and dog4 on port 1, use the following command configuration:
configure configure configure configure ports ports ports ports 1:* 1:* 1:* 1:* monitor monitor monitor monitor vlan vlan vlan vlan dog1 dog2 dog3 dog4
After you configure the port, you can use this command to display information for the configured port:
show ports <portlist> vlan statistics
After you have configured per-port monitoring, every time you issue the show ports command, the latest statistics are displayed directly from the hardware in real-time. This information is not logged. To remove the port mask, use the following command:
unconfigure ports <portlist> monitor vlan <vlan name>
You must issue the unconfigure command for each VLAN you have configured for the port. For example:
unconfigure unconfigure unconfigure unconfigure ports ports ports ports 1:* 1:* 1:* 1:* monitor monitor monitor monitor vlan vlan vlan vlan dog1 dog2 dog3 dog4
109
This show command displays protocol information, which includes: Protocol name. List of protocol fields. VLANs that use the protocol.
110
1:1 31 32
vMAN core
31 32
Two tunnels are depicted that have ingress/egress ports on each Summit7i switch. The configuration for the Summit7i switches shown in Figure 9 is:
configure dot1q ethertype 88a8 enable jumbo-frame ports 31,32 configure jumbo-frame size 1530 create vlan Tunnel1 configure vlan Tunnel1 tag 50 configure vlan Tunnel1 add port 1-4 untag configure vlan Tunnel1 add port 31,32 tagged create vlan Tunnel2 configure vlan Tunnel2 tag 60 configure vlan Tunnel2 add port 5-8 untag create vlan Tunnel2 add port 31,32 tagged
Specific to this configuration, a layer 1 or layer 2 redundancy method would also be employed, such as Spanning Tree or other methods ExtremeWare offers.
111
MAC-Based VLANs
MAC-Based VLANs allow physical ports to be mapped to a VLAN based on the source MAC address learned in the FDB. This feature allows you to designate a set of ports that have their VLAN membership dynamically determined by the MAC address of the end station that plugs into the physical port. You can configure the source MAC address-to-VLAN mapping either offline or dynamically on the switch. For example, you could use this application for a roaming user who wants to connect to a network from a conference room. In each room, the user plugs into one of the designated ports on the switch and is mapped to the appropriate VLAN. Connectivity is maintained to the network with all of the benefits of the configured VLAN in terms of QoS, routing, and protocol support.
The group any is equivalent to the group 0. Ports that are configured as any allow any MAC address to be assigned to a VLAN, regardless of group association. Partial configurations of the MAC to VLAN database can be downloaded to the switch using the timed download configuration feature.
112
MAC-Based VLANs
113
Example
In relation to MAC-based VLANs, the downloaded file is an ASCII file that consists of CLI commands used to configure the most recent MAC-to-VLAN database. This feature is different from the normal download configuration command in that it allows incremental configuration without the automatic rebooting of the switch. The following example shows an incremental configuration file for MAC-based VLAN information that updates the database and saves changes:
configure configure configure . . configure configure save mac-vlan add mac-address 00:00:00:00:00:01 mac-group any engineering mac-vlan add mac-address 00:00:00:00:ab:02 mac-group any engineering mac-vlan add mac-address 00:00:00:00:cd:04 mac-group any sales
mac-vlan add mac-address 00:00:00:00:ab:50 mac-group any sales mac-vlan add mac-address 00:00:00:00:cd:60 mac-group any sales
114
VLAN Translation
VLAN Translation
VLAN translation provides the ability to translate the 802.1Q tags for several VLANs into a single VLAN tag. This allows you to aggregate layer 2 VLAN traffic from multiple clients into a single uplink VLAN, improving VLAN scaling. Figure 10: An Application of VLAN Translation
PC1
VLAN 101
PC4
IAD PH1
VLAN 201
PC2
VLAN 102
IAD PH2
VLAN 202
PC3
VLAN 103 VLAN 103 (data) VLAN 203 (voice)
IAD PH3
VLAN 203
EW_105
In the figure, VLANs 101, 102, and 103 carry data traffic while VLANs 201, 202, and 203 carry voice traffic. The voice and data traffic are combined on Integrated Access Devices (IAD) that connect to the VLAN translation switch. Each of the three clusters of phones and PCs use two VLANs to separate the voice and data traffic. As the traffic is combined, the six VLANs are translated into two. This simplifies administration, and scales much better for large installations. Conceptually, this is very similar to the existing layer 3 VLAN Aggregation (super-VLANS and sub-VLANs) that currently exists in ExtremeWare. The primary differences between these two features are: VLAN translation is strictly a layer 2 feature. VLAN translation does not allow communications between the member VLANs. VLAN translation requires the translation VLAN (unlike a super-Vlan) to contain one or more ports.
115
Unicast Traffic
Traffic on the member VLANs may be either tagged or untagged. Traffic is switched locally between client devices on the same member VLAN as normal. Traffic cannot be switched between clients on separate member VLANs. Traffic from any member VLAN destined to the translation VLAN is switched and the VLAN tag is translated appropriately. Traffic from the translation VLAN destined to any member VLAN is switched and the VLAN tag is translated.
Broadcast Behavior
Broadcast traffic generated on a member VLAN will be replicated in every other active port of that VLAN as normal. In addition, the member VLAN traffic will be replicated to every active port in the translation VLAN and the VLAN tag will be translated appropriately. Broadcast traffic generated on the translation VLAN will be replicated to every other active port in this VLAN as usual. The caveat in this scenario is that this traffic will also be replicated to every active port in every member VLAN, with VLAN tag translation. In effect, the broadcast traffic from the translation VLAN will leak onto all member VLANs.
Multicast Behavior
IGMP snooping may be enabled on member and translation VLANs so that multicast traffic can be monitored within the network. IGMP snooping software examines all IGMP control traffic that enters the switch. IGMP control traffic received on a VLAN translation port is forwarded by the CPU to all other ports in the translation group. Software VLAN translation is performed on the packets which cross the translation boundary between member and translation VLANs. The snooping software will detect ports joining and leaving multicast streams. When a VLAN translation port joins a multicast group, an FDB entry will be created using information from the IGMP message. The FDB entry will be added for the requested multicast address and will contain a multicast PTAG. When a VLAN translation port leaves a multicast group, the port will be removed from the multicast list. The last VLAN translation port to leave a multicast group will cause the multicast FDB entry to be removed.
116
VLAN Translation
DHCP cannot be enabled on ports that are included in a member or translation VLAN Member or translation VLANs cannot be used by TLS EDP may be enabled on ports that are included in member and translation VLANs ESRP cannot be enabled on member or translation VLANs ESRP BPDUs will be translated through the switch (BPDU tunneling) ESRP redundancy may be provided by adding a translation VLAN as a member of an ESRP domain STP redundancy may be provided by protecting ports that are included in member VLANs EAPS protected VLANs may not be either member or translation VLANs IGMP snooping may be enabled on member and translation VLANs VMAN encapsulated VLAN tags are not translated VLAN translation MACs are accounted for at each port during learning, thus these MACs are used in the calculations for sending MAC security traps.
Interfaces
Use the following information for selecting and configuring VLAN translation interfaces: Member and translation VLANs may only contain Ethernet ports, therefore POS, ATM, and WAN (T1, E1, T3) ports are not supported. A single physical port may be added to multiple member VLANs, using different VLAN tags. Member VLANs and translation VLANs may include both tagged and untagged ports.
117
EW_106
The following configuration commands create the translation VLAN and enables VLAN translation:
create vlan v1000 configure v1000 tag configure v1000 add configure v1000 add configure v1000 add configure v1000 add configure v1000 add 1000 ports 2:1 tagged member-vlan v101 member-vlan v102 member-vlan v103 member-vlan v104
118
VLAN Translation
Extreme switch with VLAN VLAN 101, 102, 103, 104 translation (SW2) (1:3)
(1:3)
EVLAN (2:2)
(1:4) (1:3) VLAN 1000 (2:1)
EW_107
The configuration for SW2 and SW3 will be identical for this example. The following configuration commands create the member VLANs on SW2:
create vlan v101 configure v101 tag configure v101 add create vlan v102 configure v102 tag configure v102 add create vlan v103 configure v103 tag configure v103 add create vlan v104 configure v104 tag configure v104 add 101 ports 1:3 tagged 102 ports 1:3 tagged 103 ports 1:3 tagged 104 ports 1:3 tagged
119
This set of configuration commands create the translation VLANs and enables VLAN translation on SW2:
create vlan v1000 configure v1000 tag configure v1000 add configure v1000 add configure v1000 add configure v1000 add configure v1000 add 1000 ports 2:1 tagged member-vlan v101 member-vlan v102 member-vlan v103 member-vlan v104
The last set of configuration commands create the ESRP control VLAN and enables ESRP protection on the translation VLAN for SW2:
create vlan evlan configure evlan add ports 2:2 enable esrp evlan configure evlan add domain-member v1000
VLAN 101, 102, 103, 104 VLAN 103 (1:1) (1:4) (1:3) (1:4)
EW_108
The following configuration commands create the member VLANs and enables STP on SW1:
create vlan v101 configure v101 tag configure v101 add configure v101 add configure v101 add create vlan v102 configure v102 tag configure v102 add configure v102 add 101 ports 1:1 tagged ports 1:3 tagged ports 1:4 tagged 102 ports 1:2 tagged ports 1:3 tagged
120
VLAN Translation
configure v102 add create vlan v103 configure v103 tag configure v103 add configure v103 add create vlan v104 configure v104 tag configure v104 add configure v104 add create stpd stp1 configure stp1 tag configure stp1 add configure stp1 add configure stp1 add configure stp1 add enable stpd stp1
ports 1:4 tagged 103 ports 1:3 tagged ports 1:4 tagged 104 ports 1:3 tagged ports 1:4 tagged 101 vlan vlan vlan vlan
These configuration commands create the member VLANs and enables STP on SW2:
create vlan v103 configure v103 tag configure v103 add configure v103 add configure v103 add create vlan v104 configure v104 tag configure v104 add configure v104 add configure v104 add create vlan v101 configure v101 tag configure v101 add configure v101 add create vlan v102 configure v102 tag configure v102 add configure v102 add create stpd stp1 configure stp1 tag configure stp1 add configure stp1 add configure stp1 add configure stp1 add enable stpd stp1 103 ports 1:1 tagged ports 1:3 tagged ports 1:4 tagged 104 ports 1:2 tagged ports 1:3 tagged ports 1:4 tagged 101 ports 1:3 tagged ports 1:4 tagged 102 ports 1:3 tagged ports 1:4 tagged 101 vlan vlan vlan vlan
This set of configuration commands create the member VLANs and enables STP on SW3:
create vlan v101 configure v101 tag configure v101 add configure v101 add create vlan v102 configure v102 tag configure v102 add configure v102 add create vlan v103 configure v103 tag 101 ports 1:3 tagged ports 1:4 tagged 102 ports 1:3 tagged ports 1:4 tagged 103
121
configure v103 add configure v103 add create vlan v104 configure v104 tag configure v104 add configure v104 add create stpd stp1 configure stp1 tag configure stp1 add configure stp1 add configure stp1 add configure stp1 add enable stpd stp1
ports 1:3 tagged ports 1:4 tagged 104 ports 1:3 tagged ports 1:4 tagged 101 vlan vlan vlan vlan
The last set of configuration commands creates the translation VLAN and enables VLAN translation on SW3:
create vlan v1000 configure v1000 tag configure v1000 add configure v1000 add configure v1000 add configure v1000 add configure v1000 add 1000 ports 2:1 tagged member-vlan v101 member-vlan v102 member-vlan v103 member-vlan v104
122
This chapter describes the following topics: Overview of the FDB on page 123 Associating QoS Profiles with an FDB Entry on page 126 Scanning the FDB on page 126 FDB Configuration Examples on page 128 MAC-Based Security on page 129 Displaying FDB Entries on page 130
FDB Contents
Each FDB entry consists of the MAC address of the device, an identifier for the port and VLAN on which it was received, and the age of the entry. Frames destined for MAC addresses that are not in the FDB are flooded to all members of the VLAN.
123
124
Non-permanent static entries are created by the switch software for various reasons, typically upon switch boot up. They are identified by the s flag in show fdb output. If the FDB entry aging time is set to zero, all entries in the database are considered static, non-aging entries. This means that they do not age, but they are still deleted if the switch is reset. Permanent entriesPermanent entries are retained in the database if the switch is reset or a power off/on cycle occurs. Permanent entries must be created by the system administrator through the command line interface. A permanent entry can either be a unicast or multicast MAC address. Permanent entries may be static, meaning they do not age or get updated, or they may be dynamic, meaning that they do age and can be updated via learning. Permanent entries can have QoS profiles associated with the MAC address. A different QoS profiles may be associated with the MAC address when it is a destination address (an egress QoS profile) than when it is a source address (ingress QoS profile). The stand-alone switches can support a maximum of 64 permanent entries, and the modular switches support a maximum of 254 permanent entries. Blackhole entriesA blackhole entry configures the switch to discard packets with a specified MAC address. Blackhole entries are useful as a security measure or in special circumstances where a specific source or destination address must be discarded. Blackhole entries may be created through the CLI, or they may be created by the switch when a ports learning limit has been exceeded. Blackhole entries are treated like permanent entries in the event of a switch reset or power off/on cycle. Blackhole entries are never aged out of the database.
If MAC address learning is disabled, only broadcast traffic, EDP traffic, and packets destined to a permanent MAC address matching that port number, are forwarded. Use this command in a secure environment where access is granted via permanent forwarding databases (FDBs) per port. If you disable MAC address learning, you can enable packet flooding on one or more ports. When flooding is enabled on a particular port, all frames and packets are passed on to other member ports that also have flooding enabled. This includes all broadcast, multicast, known and unknown unicast packets (including EPD). To make effective use of this feature you should have flooding enabled on more than one port. You can enable flooding on specified ports using the following command:
enable flooding ports <portlist>
You can disable flooding on specified ports using the following command:
disable flooding ports <portlist>
Learning and flooding are mutually exclusive. To enable flooding, learning must be disabled. When ports are configured for flooding, the FDB will be flushed for the entire system, which means all the entries in the dynamic FDB must be relearned.
125
This command associates QoS profiles with packets received from or destined for the specified MAC address, while still allowing the FDB entry to be dynamically learned. If you specify only the ingress QoS profile, the egress QoS profile defaults to none, and vice-versa. If both profiles are specified, the source MAC address of an ingress packet and the destination MAC address of an egress packet are examined for QoS profile assignment. The FDB entry is not actually created until the MAC address is encountered as the source MAC address in a packet. Thus, initially the entry may not appear in the show fdb output. Once the entry has been learned, it is created as a permanent dynamic entry, designated by dpm in the flags field of the show fdb output. You can use the show fdb permanent command to display permanent FDB entries, including their QoS profile associations. To associate a QoS profile with a permanent FDB entry, use the following command:
create fdbentry <mac_address> vlan <vlan name> ports [<portlist | all] {qosprofile <qosprofile>} {ingress-qosprofile <iqosprofile>}
This entry will not be aged out, and no learning will occur. If the same MAC address is encountered through a virtual port not specified in the portlist, it will be handled as a blackhole entry. Using the any-mac keyword, you can enable traffic from a QoS VLAN to have higher priority than 802.1p traffic. Normally, an 802.1p packet has a higher priority over the VLAN classification. In order to use this feature, you must create a wildcard permanent FDB entry named any-mac and apply the QoS profile to the individual MAC entry.
126
where the following is true: allSpecifies all of the slots in the chassis. This is available on modular switches only. backplaneSpecifies the backplane of the Alpine chassis. This is available on Alpine switches only. slot numberSpecifies the slot number of the module to scan. This is available on BlackDiamond switches only. msm-aSpecifies the MSM installed in slot A. This is available on BlackDiamond switches only. msm-bSpecifies the MSM installed in slot B. This is available on BlackDiamond switches only.
If you disable FDB scanning for a slot and the system health check is enabled, the slot is still scanned by the system health checker.
The default is 30 seconds. The range is 1 - 60 seconds. If you configure a timer interval of less than 15 seconds, the following warning message is displayed and you are asked to confirm the change:
Setting period below (15) may starve other tasks. Do you wish to do this? (yes, no, cancel) 06/19/2003 10:29.28 <INFO:SYST> serial admin: configure fdb-scan period 1 n
127
NOTE Extreme Networks recommends an interval period of at least 15 seconds. To return the FDB scan interval to the factory default of 30 seconds, use the following command:
unconfigure fdb-scan period
If the switch detects too many failures within the specified scan period, the messages are either sent to the syslog or the configured system health check action is taken. To configure the action the switch takes when too many failures are detected, use the following command:
configure fdb-scan failure-action [log | sys-health-check]
where the following is true: logMessages are sent to the syslog. Only one instance of an error messages is logged at this level. This is the default configuration. sys-health-checkThe configured system health check action is taken. To return the switch to the factory default of sending messages to the syslog, use the following command:
unconfigure fdb-scan failure-action
The following is an example of the type of FDB scan statistics output displayed:
FDB Scan results: CardState NumFail BPLNE : Operational 0 NumScan 64 Entry LastFailTime
The permanent entry has the following characteristics: MAC address is 00:E0:2B:12:34:56. VLAN name is marketing. Slot number for this device is 3. Port number for this device is 4.
128
MAC-Based Security
If the MAC address 00:E0:2B:12:34:56 is encountered on any port/VLAN other than VLAN marketing, port 3:4, it will be handled as a blackhole entry, and packets from that source will be dropped. This example associates the QoS profile qp2 with a dynamic entry for the device at MAC address 00:A0:23:12:34:56 on VLAN net34 that will be learned by the FDB:
create fdbentry 00:A0:23:12:34:56 vlan net34 dynamic qosprofile qp2
This entry has the following characteristics: MAC address is 00:A0:23:12:34:56. VLAN name is net34. The entry will be learned dynamically. QoS profile qp2 will be applied as an egress QoS profile when the entry is learned.
If the aging time is set to zero, all aging entries in the database are defined as static, nonaging entries. This means they will not age out, but non-permanent static entries can be deleted if the switch is reset.
MAC-Based Security
MAC-based security allows you to control the way the FDB is learned and populated. By managing entries in the FDB, you can block, assign priority (queues), and control packet flows on a per-address basis. MAC-based security allows you to limit the number of dynamically-learned MAC addresses allowed per virtual port. You can also lock the FDB entries for a virtual port, so that the current entries will not change, and no additional addresses can be learned on the port. You can also prioritize or stop packet flows based on the source MAC address of the ingress VLAN or the destination MAC address of the egress VLAN. For detailed information about MAC-based security, see Chapter 11.
129
where the following is true: mac_addressDisplays the entry for a particular MAC address. broadcast-macSpecifies the broadcast MAC address. May be used as an alternate to the colon-separated byte form of the address ff:ff:ff:ff:ff:ff permanentDisplays all permanent entries, including the ingress and egress QoS profiles. ports <portlist>Displays the entries for a set of ports or slots and ports. remapDisplays the remapped FDB entries. vlan <vlan name>Displays the entries for a VLAN. With no options, the command displays all FDB entries. See the ExtremeWare Software Command Reference Guide for details of the commands related to the FDB.
130
This chapter covers the following topics: Overview of Policy-Based Quality of Service on page 132 Applications and Types of QoS on page 132 Configuring QoS on page 134 QoS Profiles on page 135 Traffic Groupings on page 136 IP-Based Traffic Groupings on page 136 MAC-Based Traffic Groupings on page 137 Explicit Class of Service (802.1p and DiffServ) Traffic Groupings on page 138 Configuring DiffServ on page 140 Physical and Logical Groupings on page 143 Configuring QoS Traffic Grouping Priorities on page 144 Verifying Configuration and Performance on page 145 Modifying a QoS Configuration on page 146 Bi-Directional Rate Shaping on page 146 Dynamic Link Context System on page 149 Policy-based Quality of Service (QoS) is a feature of ExtremeWare and the Extreme switch architecture that allows you to specify different service levels for traffic traversing the switch. Policy-based QoS is an effective control mechanism for networks that have heterogeneous traffic patterns. Using Policy-based QoS, you can specify the service level that a particular traffic type receives. This chapter does not describe the additional ingress and egress QoS capabilities available on the High Density Gigabit Ethernet 3 series I/O modules. For more information and a full description of the High Density Gigabit Ethernet module, see Chapter 28.
131
NOTE Policy-based QoS has no impact on switch performance. Using even the most complex traffic groupings has no cost in terms of switch performance. Policy-based QoS can be configured to perform per-port Random Early Detection (RED). Using this capability, the switch detects when traffic is filling up in any of the eight hardware queues, and performs a random discard on subsequent packets, based on the configured RED drop-probability. Instead of dropping sessions during times when the queue depth is exceeded, RED causes the switch to lower session throughput. The destination node detects the dropped packet, and, using standard TCP windowing mechanisms, slows the transmission from the source node. RED drop-probability is configured on a system-wide basis, and has a valid range from 0% to 100%.
132
General guidelines for each traffic type are given below and summarized in Table 13. Consider them as general guidelines and not strict recommendations. Once QoS parameters are set, you can monitor the performance of the application to determine if the actual behavior of the applications matches your expectations. It is very important to understand the needs and behavior of the particular applications you wish to protect or limit. Behavioral aspects to consider include bandwidth needs, sensitivity to latency and jitter, and sensitivity and impact of packet loss.
Voice Applications
Voice applications typically demand small amounts of bandwidth. However, the bandwidth must be constant and predictable because voice applications are typically sensitive to latency (inter-packet delay) and jitter (variation in inter-packet delay). The most important QoS parameter to establish for voice applications is minimum bandwidth, followed by priority.
Video Applications
Video applications are similar in needs to voice applications, with the exception that bandwidth requirements are somewhat larger, depending on the encoding. It is important to understand the behavior of the video application being used. For example, in the playback of stored video streams, some applications can transmit large amounts of data for multiple streams in one spike, with the expectation that the end-stations will buffer significant amounts of video-stream data. This can present a problem to the network infrastructure, because it must be capable of buffering the transmitted spikes where there are speed differences (for example, going from Gigabit Ethernet to Fast Ethernet). Key QoS parameters for video applications include minimum bandwidth, priority, and possibly buffering (depending upon the behavior of the application).
133
Configuring QoS
To configure QoS, you define how your switch responds to different categories of traffic by creating and configuring QoS profiles. You then group traffic into categories (according to application, as previously discussed) and assign each category to a QoS profile. Configuring QoS is a three-step process: 1 Configure the QoS profile. QoS profileA class of service that is defined through minimum and maximum bandwidth parameters, configuration of buffering and RED, and prioritization settings. The bandwidth and level of service that a particular type of traffic or traffic grouping receives is determined by assigning it to a QoS profile. 2 Create traffic groupings. Traffic groupingA classification or traffic type that has one or more attributes in common. These can range from a physical port to a VLAN to IP layer 4 port information. You assign traffic groupings to QoS profiles to modify switch forwarding behavior. Traffic groupings transmitting out the same port that are assigned to a particular QoS profile share the assigned bandwidth and prioritization characteristics, and hence share the class of service. 3 Monitor the performance of the application with the QoS monitor to determine whether the policies are meeting the desired results. The next sections describe each of these QoS components in detail.
134
QoS Profiles
QoS Profiles
A QoS profile defines a class of service by specifying traffic behavior attributes, such as bandwidth. The parameters that make up a QoS profile include: Minimum bandwidthThe minimum percentage of total link bandwidth that is reserved for use by a hardware queue on a physical port. Bandwidth unused by the queue can be used by other queues. The minimum bandwidth for all queues should add up to less than 90%. The default value on all minimum bandwidth parameters is 0%. Maximum bandwidthThe maximum percentage of total link bandwidth that can be transmitted by a hardware queue on a physical port. The default value on all maximum bandwidth parameters is 100%. PriorityThe level of priority assigned to a hardware queue on a physical port. There are eight different available priority settings. By default, each of the default QoS profiles is assigned a unique priority. You would use prioritization when two or more hardware queues on the same physical port are contending for transmission on the same physical port, only after their respective bandwidth management parameters have been satisfied. If two hardware queues on the same physical port have the same priority, a round-robin algorithm is used for transmission, depending on the available link bandwidth. When configured to do so, the priority of a QoS profile can determine the 802.1p bits used in the priority field of a transmitted packet (described later). The priority of a QoS profile determines the DiffServ code point value used in an IP packet when the packet is transmitted (described later). BufferThis parameter reserves buffer memory for use exclusively by a QoS profile across all affected ports. The default value for buffer settings is 0%. The sum of all QoS profile buffer parameters should not exceed 100%. The maxbuf parameter allows you to set a maximum buffer size (in Kbytes or Mbytes) for each queue, so that a single queue will not consume all of the un-allocated buffer space. The default buffer size is 256K. You should not modify the buffer parameter unless specific situations and application behavior indicate. A QoS profile does not alter the behavior of the switch until it is assigned to a traffic grouping. Recall that QoS profiles are linked to hardware queues. There are multiple hardware queues per physical port. By default, a QoS profile links to the identical hardware queue across all the physical ports of the switch. The default QoS profiles cannot be deleted. Also by default, a QoS profile maps directly to a specific hardware queue across all physical ports. The settings for the default QoS parameters are summarized in Table 14.
135
Traffic Groupings
Once a QoS profile is modified for bandwidth and priority, you assign traffic a grouping to the profile. A traffic grouping is a classification of traffic that has one or more attributes in common. Traffic is typically grouped based on the applications discussed starting on page 132. Traffic groupings are separated into the following categories for discussion: IP-based information, such as IP source/destination and TCP/UDP port information Destination MAC (MAC QoS groupings) Explicit packet class of service information, such as 802.1p or DiffServ (IP TOS) Physical/logical configuration (physical source port or VLAN association) In the event that a given packet matches two or more grouping criteria, there is a predetermined precedence for which traffic grouping will apply. In general, the more specific traffic grouping takes precedence. By default, all traffic groupings are placed in the QoS profile Qp1. The supported traffic groupings are listed in Table 15. The groupings are listed in order of precedence (highest to lowest). The four types of traffic groupings are described in detail on the following pages.
Destination Address MAC-Based Groupings Permanent Dynamic Blackhole Broadcast/unknown rate limiting
136
Traffic Groupings
IP-based traffic groupings are defined using access lists. Access lists are discussed in detail in Chapter 11. By supplying a named QoS profile at the end of the access list command syntax, you can prescribe the bandwidth management and priority handling for that traffic grouping. This level of packet filtering has no impact on performance.
The MAC address options, defined below, are as follows: Permanent Dynamic Blackhole Broadcast/unknown rate limiting
The QoS profile is assigned when the MAC address is learned. If a clients location moves, the assigned QoS profile moves with the device. If the MAC address entry already exists in the FDB, you can clear the forwarding database so that the QoS profile can be applied when the entry is added again. Use the following command to clear the FDB:
clear fdb
137
For example, if you want to limit broadcast and unknown traffic on the VLAN default to the bandwidth and priority defined in QoS profile qp3, the command is:
create fdbentry ff:ff:ff:ff:ff:ff vlan default dynamic qp3
NOTE IP multicast traffic is subject to broadcast and unknown rate limiting only when IGMP snooping is disabled.
or the command
show qosprofile <qosprofile>
138
Traffic Groupings
802.1p priority
802.1Q VLAN ID
Destination address
Source address
IP packet
CRC
EW_024
139
priority of 7, by default, and egresses the VLAN through the highest queue. If you want to set a different tag (and priority) use the following command to set the priority to a number between 0 and 7:
configure vlan <vlan name> priority <number>
Other traffic transported across the switch and VLAN will not be changed, in other words, the 802.1p values will not be affected by the VLAN priority setting.
802.1p priority information is replaced according to the hardware queue that is used when transmitting from the switch. The mapping is described in Table 17. This mapping cannot be changed. Table 17: Queue to 802.1p Priority Replacement Value
Hardware Queue Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 802.1p Priority Replacement Value
0 1 2 3 4 5 6 7
Configuring DiffServ
Contained in the header of every IP packet is a field for IP Type of Service (TOS), now also called the DiffServ field. The TOS field is used by the switch to determine the type of service provided to the packet. Observing DiffServ code points as a traffic grouping mechanism for defining QoS policies and overwriting the Diffserv code point fields are supported. Figure 15 shows the encapsulation of an IP packet header.
140
Traffic Groupings
DiffServ code point 0 Version bits IHL Type-of-service Flags Protocol Source address Destination address Options (+ padding) Data (variable)
EW_023
Identification Time-to-live
Header checksum
141
You can change the QoS profile assignment for all 64 code points using the following command:
configure diffserv examination code-point <code_point> qosprofile <qosprofile> ports [<portlist> | all]
Once assigned, the rest of the switches in the network prioritize the packet using the characteristics specified by the QoS profile.
The default 802.1p priority value to code point mapping is described in Table 19. Table 19: Default 802.1p Priority Value-to-Code Point Mapping
802.1p Priority Hardware Queue value Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 0 1 2 3 4 5 6 7 Code Point 0 8 16 24 32 40 48 56
You then change the 802.1p priority to DiffServ code point mapping to any code point value using the following command:
configure diffserv replacement priority <vpri> code_point <code_point> ports [<portlist> | all]
By doing so, the hardware queue used to transmit a packet determines the DiffServ value replaced in the IP packet. To verify the DiffServ configuration, use the following command:
show ports <portlist> info {detail}
142
Traffic Groupings
DiffServ Example
In this example, we use DiffServ to signal a class of service throughput and assign any traffic coming from network 10.1.2.x with a specific DiffServ code point. This allows all other network switches to send and observe the Diffserv code point instead of repeating the same QoS configuration on every network switch. To configure the switch that handles incoming traffic from network 10.1.2.x, follow these steps: 1 Configure parameters of the QoS profile QP3:
configure qp3 min 10 max 100
4 Configure the switch so that other switches can signal class of service that this switch should observe:
enable diffserv examination
Table 14 indicates that qp3 is tied to hardware queue Q2. We also know that when replacement is enabled all traffic sent out Q2 will contain code point value 16 (according to Table 19). If this is the desired code point to use, all traffic from 10.1.2.x will be sent out QP3 (at 10% minimum and 100% maximum) with a code point value of 16.
Source port
A source port traffic grouping implies that any traffic sourced from this physical port uses the indicated QoS profile when the traffic is transmitted out to any other port. To configure a source port traffic grouping, use the following command:
configure ports <portlist> qosprofile <qosprofile>
In the following modular switch example, all traffic sourced from slot 5 port 7 uses the QoS profile named qp3 when being transmitted.
configure ports 5:7 qosprofile qp3
VLAN
A VLAN traffic grouping indicates that all intra-VLAN switched traffic and all routed traffic sourced from the named VLAN uses the indicated QoS profile. To configure a VLAN traffic grouping, use the following command:
configure vlan <vlan name> qosprofile <qosprofile>
143
For example, all devices on VLAN servnet require use of the QoS profile qp4. The command to configure this example is as follows:
configure vlan servnet qosprofile qp4
The same information is also available for ports or VLANs using one of the following commands:
show ports <portlist> info {detail}
or
show vlan
The valid priority values are 0 - 15. The default values are shown in Table 20. Table 20: Traffic Grouping Priority Default Values
QoS Type source-mac dest-mac access-list vlan diffserv dot1p Default Value 7 8 11 1 3 2
QoS types with a greater value take higher precedence. For example, to force FDB source-mac QoS to take a higher precedence over FDB dest-mac QoS, use the commands:
configure qostype priority source-mac 9
where 9 is greater than the default value assigned to the dest-mac QoS type. Traffic groupings based on the source port always have the lowest priority, and all other traffic groupings take priority. You cannot change the priority for source port-based traffic groupings.
144
QoS Monitor
The QOS monitor is a utility that monitors the hardware queues associated with any port(s). The QOS monitor keeps track of the number of frames and the frames per second that a specific queue is responsible for transmitting on a physical port. Two options are available: a real-time display, and a separate option for retrieving information in the background and writing it to the log.
QoS monitor sampling is configured as follows: The port is monitored for 20 seconds before the switch moves on to the next port in the list. A port is sampled for five seconds before the packets per second (pps) value is displayed on the screen.
145
Displayed information includes: QoS profile name Minimum bandwidth Maximum bandwidth Priority A list of all traffic groups to which the QoS profile is applied Additionally, QoS information can be displayed from the traffic grouping perspective by using one or more of the following commands: show fdb permanentDisplays destination MAC entries and their QoS profiles. show switchDisplays information including PACE enable/disable information. show vlanDisplays the QoS profile assignments to the VLAN. show ports <portlist> info {detail}Displays information including QoS information for the port.
146
Bandwidth Settings
You apply bandwidth settings to QoS profiles as a percentage of bandwidth. QoS profile bandwidth settings are in turn applied to queues on physical ports. The impact of the bandwidth setting is determined by the port speed (10, 100, or 1000 Mbps).
147
If you choose a setting not listed in Table 21, the setting is rounded up to the next value.
NOTE Keep the sum of the minimum bandwidth values for the applied QoS profiles less than 90%. If the sum exceeds 90%, a lower priority queue might be unable to transmit in a sustained over-subscription situation.
148
If you choose a setting not listed in Table 22, the setting is rounded up to the next value. If the actual bandwidth used is below the minimum bandwidth, the additional bandwidth is available for other queues on that physical port.
DLCS Guidelines
Follow these guidelines when using DLCS: Only one user is allowed on one workstation at a given time. A user can be logged into many workstations simultaneously. An IP-address can be learned on only one port in the network at a given time. Multiple IP-addresses can be learned on the same port. DLCS mapping is flushed when a user logs in or logs out, or when an end-station is shutdown.
149
DLCS Limitations
Consider the following limitations concerning data received from WINS snooping: DLCS does not work for the WINS server. This is because the WINS server does not send NETBIOS packets on the network (these packets are address to itself). When the IP address of a host is changed, and the host is not immediately rebooted, the old host-to-IP address mapping is never deleted. You must delete the mapping of the host-to-IP address through the Policy Manager. When the host is moved from one port to another port on a switch, the old entry does not age out unless the host is rebooted or a user login operation is performed after the host is moved. DLCS information is dynamic, therefore, if the switch is rebooted, the information is lost. This information is still stored in the policy-server. To delete the information from the policy system, you must explicitly delete configuration parameters from the EEM or EPICenter Policy Applet user interface. As a workaround, you can delete the switch that was rebooted from the list of managed devices in the EEM or EPICenter Inventory Applet, and re-add the switch to the Inventory Manager. DLCS is not supported on hosts that have multiple NIC cards. IPQoS is not supported to a WINS server that is serving more than one VLAN. If you attempt to add a WINS server to serve more than one VLAN, and there are IPQoS rules defined for that server, the command to add the WINS server is rejected.
150
This chapter covers the following topics: Overview on page 151 Internet IP Addressing on page 152 Configuring VLANs for NAT on page 152 Configuring NAT on page 154 Creating NAT Rules on page 154 Displaying NAT Settings on page 156 Disabling NAT on page 157
Overview
NAT is a feature that allows one set of IP addresses, typically private IP addresses, to be converted to another set of IP addresses, typically public Internet IP addresses. This conversion is done transparently by having a NAT device (any Extreme Networks switch using the i chipset) rewrite the source IP address and Layer 4 port of the packets. Figure 16: NAT Overview
Inside
NAT switch
Outside
Private Network
Outgoing
Outgoing
Internet
Incoming
Incoming
EW_078
151
You can configure NAT to conserve IP address space by mapping a large number of inside (private) addresses to a much smaller number of outside (public) addresses. In implementing NAT, you must configure at least two separate VLANs involved. One VLAN is configured as inside, and corresponds to the private IP addresses you would like to translate into other IP addresses. The other type of VLAN is configured as outside, which corresponds to the public (probably Internet) IP addresses you want the inside addresses translated to. The mappings between inside and outside IP addresses are done via rules that specify the IP subnets involved and the algorithms used to translate the addresses.
NOTE The NAT modes in ExtremeWare support translating traffic that initiates only from inside addresses. NAT rules are associated with a single outside VLAN. Multiple rules per outside VLAN are allowed. The rules take effect in the order they are displayed using the show command. Any number of inside VLANs can use a single outside VLAN, assuming that you have created proper rules. Similarly, a single inside VLAN can use any number of different outside VLANs, assuming that the rules and routing are set up properly. Both TCP and UDP have layer 4 port numbers ranging from 1 to 65535. These layer 4 ports, in combination with the IP addresses, form a unique identifier which allows hosts (as well as the NAT switch) to distinguish between separate conversations. NAT operates by replacing the inside IP packets source IP and layer 4 port with an outside IP and layer 4 port. The NAT switch maintains a connection table to map the return packets on the outside VLAN back into their corresponding inside sessions.
Internet IP Addressing
When implementing NAT in an Internet environment, it is strongly recommended that you use one of the reserved private IP address ranges for your inside IP addresses. These ranges have been reserved specifically for networks not directly attached to the Internet. Using IP addresses within these ranges prevents addressing conflicts with public Internet sites to which you want to connect. The ranges are as follows: 10.0.0.0/8Reserved Class A private address space 172.16.0.0/12Reserved Class B private address space 192.168.0.0/16Reserved Class C private address space
When a VLAN is configured to be inside, traffic from that VLAN is translated only if it has a matching NAT rule. Any unmatched traffic will be routed normally and not be translated. Because all traffic runs through the central processing unit (CPU), it cannot run at line-rate.
152
When a VLAN is configured to be outside, it routes all traffic. Because all traffic runs through the CPU, it cannot run at line-rate. Normally, outside traffic will be able to initiate connections to the internal private IP addresses. If you want to prevent this, you can create IP and ICMP access-lists on the outside VLAN ports to deny traffic destined for the inside IP addresses. There is a NAT performance penalty when you do this. When a VLAN is configured to be none, all NAT functions are disabled and the VLAN operates normally. Below is a set of example ACL rules to deny outside traffic. These examples assume the inside network is 192.168.1.0/24 and the outside VLAN is on port 1.
create access-list deny_ip ip destination 192.168.1.0/24 source any deny ports 1 create access-list deny_icmp icmp destination 192.168.1.0/24 source any type any code any deny ports 1
NAT Modes
There are 4 different modes used to determine how the outside IP addresses and layer 4 ports are assigned. Static mapping Dynamic mapping Port-mapping Auto-constraining
Static Mapping
When static mapping is used, each inside IP address uses a single outside IP address. The layer 4 ports are not changed, only the IP address is rewritten. Because this mode requires a 1:1 mapping of internal to external addresses, it does not make efficient use of the external address space. However, it is useful when you have a small number of hosts that need to have their IP addresses rewritten without conflicting with other hosts. Because this mode does not rely on layer 4 ports, ICMP traffic is translated and allowed to pass.
Dynamic Mapping
Dynamic mapping is similar to static mapping in that the layer 4 ports are not rewritten during translation. Dynamic mapping is different in that the number of inside hosts can be greater than the number of outside hosts. The outside IP addresses are allocated on a first-come, first-serve basis to the inside IP addresses. When the last session for a specific inside IP address closes, that outside IP address can be used by other hosts. Since this mode does not rely on layer 4 ports, ICMP traffic is translated and allowed to pass.
Port-mapping
Port-mapping gives you the most efficient use of the external address space. As each new connection is initiated from the inside, the NAT device picks the next available source layer 4 port on the first available outside IP address. When all ports on a given IP address are in use, the NAT device uses ports off of the next outside IP address. Some systems reserve certain port ranges for specific types of traffic, so it is possible to map specific source layer 4 port ranges on the inside to specific outside source ranges. However, this may cause a small performance penalty. In this case, you would need to make several rules using the same inside and outside IP addresses, one for each layer 4 port range. ICMP
153
traffic is not translated in this mode. You must add a dynamic NAT rule for the same IP address range to allow for ICMP traffic.
Auto-constraining
The auto-constraining algorithm for port-mapping limits the number of outside layer 4 ports a single inside host can use simultaneously. The limitation is based on the ratio of inside to outside IP addresses. The outside IP address and layer 4 port space is evenly distributed to all possible inside hosts. This guarantees that no single inside host can prevent other traffic from flowing through the NAT device. Because of the large number of simultaneous requests that can be made from a web browser, it is not recommended that this mode be used when a large number of inside hosts are being translated to a small number of outside IP addresses. ICMP traffic is not translated in this mode. You must add a dynamic NAT rule for the same IP address range to allow for ICMP traffic.
Configuring NAT
The behavior of NAT is determined by the rules you create to translate the IP addresses. You must attach each rule to a specific VLAN. All rules are processed in order. The options specified on the NAT rule determine the algorithm used to translate the inside IP addresses to the outside IP addresses. For outgoing (inside to outside) packets, the first rule to match is processed. All following rules are ignored. All return packets must arrive on the same outside VLAN on which the session went out. For most configurations, make sure that the outside IP addresses specified in the rule are part of the outside VLANs subnet range, so that the switch can proxy the address resolution protocol (ARP) for those addresses. To enable NAT functionality, use the following command:
enable nat
This is the simplest NAT rule. You specify the outside vlan name, and a subnet of inside IP addresses, which get translated to the outside IP address using the specified mode (static in this case). For the outside IP addresses, you can either specify an IP address and netmask or a starting and ending IP range to determine the IP addresses the switch will translate the inside IP addresses to. If the netmask for both the source and NAT addresses is /32, the switch will use static NAT translation. If the netmask for both the source and NAT addresses are not both /32, the switch will use dynamic NAT translation.
154
The addition of an L4 protocol name and the portmap keyword tells the switch to use portmap mode. Optionally, you may specify the range of L4 ports the switch chooses on the translated IP addresses, but there is a performance penalty for doing this. Remember that portmap mode will only translate TCP and/or UDP, so a dynamic NAT rule must be specified after the portmap rule in order to allow ICMP packets through without interfering with the portmapping.
This rule uses auto-constrain NAT. Remember that each inside IP address will be restricted in the number of simultaneous connections. Most installations should use portmap mode.
Auto-Constrain Example
configure nat add out_vlan_3 map source 192.168.3.0/24 to 216.52.8.64/32 both auto-constrain
155
The addition of the destination optional keyword after the source IP address and mask allows the NAT rule to be applied to only packets with a specific destination IP address.
Configuring Time-outs
When an inside host initiates a session, a session table entry is created. Depending on the type of traffic or the current TCP state, the table entries time out after the configured time-out expires.
This command displays the NAT rules for a specific VLAN. Rules are displayed in the order they are processed, starting with the first one. To display NAT traffic statistics, use the following command:
show nat stats
This command displays statistics for the NAT traffic, and includes: The number of rules The number of current connections The number of translated packets on the inside and outside VLANs Information on missed translations
156
Disabling NAT
This command displays the current NAT connection table, including source IP/layer 4 port mappings from inside to outside.
Disabling NAT
To disable NAT, use the following command:
disable nat
157
158
This chapter describes the following topics: Overview on page 159 SLB Components on page 160 SLB Traffic Types on page 163 Forwarding Modes on page 164 Load-Balancing Methods on page 169 Advanced SLB Application Example on page 170 Using Persistence on page 173 Using High Availability System Features on page 176 Health Checking on page 181 Flow Redirection on page 184
Overview
Server load balancing (SLB) transparently distributes client requests among several servers. The main use for SLB is for web hosting (using redundant servers to increase the performance and reliability of busy websites). You can use SLB to manage and balance traffic for client equipment such as web servers, cache servers, routers, and proxy servers. SLB is especially useful for e-commerce sites, Internet service providers, and managers of large intranets. Server load balancing (SLB), longest prefix matching (LPM), and destination-sensitive accounting (DSA) are mutually exclusive functions. None of these functions can be simultaneously enabled.
159
A basic SLB application is shown in Figure 17. Figure 17: Basic SLB application
Clients
Servers
EW_055
All content must be duplicated on all physical servers for server load balancing. To configure SLB, perform the following basic steps: 1 Create pools and configure the load balancing method for each pool. 2 Add nodes to the pools. 3 Create virtual servers and select the forwarding mode for each virtual server. 4 Assign an SLB traffic type to the server and client VLANs. 5 Enable IP forwarding on the server and client VLANs. 6 Enable SLB.
SLB Components
Three components comprise an SLB system: Nodes Pools Virtual servers All three components are required for every SLB configuration.
Nodes
A node is an individual service on a physical server, and consists of an IP address and a port number. All nodes must have identical content. Nodes cannot belong to the same VLAN as the virtual servers they access.
160
SLB Components
Pools
A pool is a group of nodes that are mapped to a corresponding virtual server. You can use pools to easily scale large networks with many nodes. Each pool contains its own load-balancing method. A pool must be associated with a virtual server to be used for load balancing. You must create pools before associating them with virtual servers, and must delete virtual servers before deleting their associated pools. You cannot delete pools that are still associated with a virtual server.
Virtual Servers
Virtual servers are the backbone of the SLB configuration. A virtual server is a virtual IP address that points to a group of servers. The switch then load balances those groups of servers (or other network equipment). Before you configure virtual servers, you need the following: The forwarding mode The name of the pool The virtual IP address The virtual port number Virtual servers cannot belong to the same VLAN as the nodes in the pool they reference. Do not configure a virtual server with the same IP address as a VLAN.
161
Network Advertisement
Three modes are available for controlling network connectivity to virtual servers. The switch will automatically select a method based on the virtual server s subnet. Proxy ARP If the virtual server is a member of an existing subnet to which the switch is directly attached, the switch will respond to ARP requests on behalf of the virtual server. This allows you to implement server load balancing on a layer 2 network. The VLAN containing the servers is in a different subnet than the client VLANs subnet. The virtual server will appear to be a member of the client subnet. Host-Route If the virtual server is not a member of an existing subnet to which the switch is directly attached, the switch will add a host-route entry to the routing table. In this situation, all clients require a routed path (to the virtual server) that points to the switchs IP address on the client VLAN. Subnet-Route If the virtual server is separated from the switch by a router, the switch propagates the subnet containing the virtual server. You must create a loopback VLAN with the virtual server as a member of the loopback VLANs subnet. When you enable the routing protocol to advertise the entire subnet to directly connected routers, a single entry is created in the routing table for each subnet advertised. For example, the following command enables RIP to advertise routes to all directly connected routers with a cost of 1:
enable rip export direct cost 1
When you enable the routing protocol to advertise specific virtual servers, an entry is created in the routing table for each virtual server you advertise. For example, the following command enables OSPF to advertise a specific virtual server with a cost of 1:
enable ospf export vip cost 1
This command exports the virtual servers to the entire network. Extreme Networks recommends this method to advertise virtual servers.
162
Figure 18 illustrates the relationships of these basic components. Figure 18: Basic SLB components
Pool
load balancing method
Virtual Server
forwarding mode
Virtual Server
forwarding mode
Pool
load balancing method
Node Node
Node
Node
Virtual Server
forwarding mode
Node Node
Virtual Server
forwarding mode
Pool
load balancing method
EW_069
163
ServerSpecifies that the VLAN contains nodes, and receives requests for virtual servers. BothSpecifies that the VLAN contains both clients and nodes. Clients in this VLAN can only access virtual servers whose nodes are outside this VLAN. NOTE You must enable IP forwarding on each VLAN involved in SLB. You can assign the same SLB traffic type to as many different VLANs as necessary, up to the number of VLANs supported by the switch.
Forwarding Modes
The forwarding mode is the method the switch uses to forward traffic to the virtual servers. The forwarding mode determines what happens to the packets as they travel through the switch. The switch supports the following forwarding modes: Transparent Translation Port Translation GoGo Table 23 summarizes the features supported by each forwarding mode. Table 23: Forwarding Mode Feature Summary
Transparent Performance Load sharing algorithms Persistence Health checking Translation Port Translation CPU-based in both directions Round-robin, Ratio, Priority, Least Connections IPSA + Mask, IP list Layer 3, 4, and 7 GoGo Hardware-based in both directions Round-robin (hash)
Hardware-based from CPU-based in both server-to-client directions Round-robin, Ratio, Priority, Least Connections IPSA + Mask, IP list Layer 3, 4, and 7 Round-robin, Ratio, Priority, Least Connections IPSA + Mask, IP list Layer 3, 4, and 7
Transparent Mode
In transparent mode, the switch does not modify IP addresses before forwarding traffic to the servers. You must configure all physical servers with the virtual IP address associated with the virtual server. This virtual IP address is the address seen by clients. You must configure the physical servers with this address as a loopback address. Configure the loopback address with the most specific subnet mask that your operating system supports. In transparent mode, you can directly attach servers or have a layer 2 switch between the SLB switch and the servers. You cannot have a router between the SLB switch and the servers. Use transparent mode when you want a balance between features and performance. Figure 19 shows transparent mode.
164
Forwarding Modes
Clients
Servers
192.168.200.1 192.168.200.2
SLB switch Two virtual servers configured VIP addresses: 192.168.201.2 port 80 192.168.201.2 port 443 representing MyWeb.com representing MySSL.com points to pool WebVip points to pool SSLVip
EW_052
In Figure 19, the switch is configured to respond to requests for the virtual server by forwarding them to the load-balanced servers. The servers are configured as follows: The interface for server 1 is 192.168.200.1. The interface for server 2 is 192.168.200.2. The loopback address on the servers is 192.168.201.1 (virtual server). The service is configured to use the appropriate address and port, as specified in the switch configuration. Use the following commands to configure the VLANs and the switch IP addresses and subnets:
create vlan srvr create vlan clnt create vlan vips configure srvr ipaddress 192.168.200.10 /24 configure clnt ipaddress 10.1.1.1 /24 configure vips ipaddress 192.168.201.1 /24 configure srvr add port 29-32 configure client add port 1-4 enable ipforwarding
Use the following commands to create a round-robin pool (MyWeb) and add nodes to the new pool.
create slb pool MyWeb lb-method round configure slb pool MyWeb add 192.168.200.1:80 configure slb pool MyWeb add 192.168.200.2:80
Use the following command to create a transparent mode virtual server for the website and assign MyWeb to it:
create slb vip WebVip pool MyWeb mode transparent 192.168.201.2:80
165
Use the following commands to create a round-robin pool, MySSL and add nodes to the new pool.
create slb pool MySSL lb-method round-robin configure slb pool MySSL add 192.168.200.1:443 configure slb pool MySSL add 192.168.200.2:443
Use the following command to create a transparent mode virtual server for the website and assign MySSL to it.
create slb vip SSLVip pool MySSL mode transparent 192.168.201.2:443
Use the following commands to enable SLB, configure the server VLAN to act as the server side, and configure the client VLAN to act as the client side:
enable slb configure vlan srvr slb-type server configure vlan clnt slb-type client
You must configure a loopback address for each IP address to which the server will respond.
Translation Mode
In translation mode, the switch translates the IP address to that of the server to be balanced. You do not need to configure a loopback address for translation mode. In translation mode, you can directly attach servers or have a layer 2 switch between the SLB switch and the servers. You cannot have a router between the SLB switch and the servers. Use translation mode when you cannot have a loopback address. Figure 20 shows translation mode. Figure 20: Translation Mode
Clients
Servers
192.168.200.1 192.168.200.2
SLB switch 2 virtual servers configured VIP addresses: 192.168.201.2 port 80 192.168.201.2 port 443 representing MyWeb.com representing MySSL.com points to pool WebVip points to pool SSLVip
EW_053
In Figure 20, the switch is configured to respond to requests for the virtual server by translating them and forwarding them to the load balanced servers. No additional server configuration is needed.
166
Forwarding Modes
Use the following commands to configure the VLANs and the switch IP addresses and subnets:
create vlan srvr create vlan clnt create vlan vips configure srvr ipaddress 192.168.200.10 /24 configure clnt ipaddress 10.1.1.1 /24 configure vips ipaddress 192.168.201.1 /24 configure srvr add port 29-32 configure client add port 1-4 enable ipforwarding
Use the following commands to create a round-robin pool, MyWeb, and add nodes to the new pool:
create slb pool MyWeb lb-method round configure slb pool MyWeb add 192.168.200.1:80 configure slb pool MyWeb add 192.168.200.2:80
Use the following command to create a translation mode virtual server for the website and assign MyWeb to it:
create slb vip WebVip pool MyWeb mode translation 192.168.201.2:80
Use the following commands to create a round-robin pool, MySSL, and add nodes to the new pool:
create slb pool MySSL lb-method round configure slb pool MySSL add 192.168.200.1:443 configure slb pool MySSL add 192.168.200.2:443
Use the following command to create a translation mode virtual server for the website and assign MySSL to it:
create slb vip SSLVip pool MySSL mode translation 192.168.201.2:443
Use the following commands to enable SLB, configure the server VLAN to act as the server side, and configure the client VLAN to act as the client side:
enable slb configure vlan srvr slb-type server configure vlan clnt slb-type client
167
GoGo Mode
GoGo mode is a line rate method of server load balancing that forwards traffic without changing packet content. You must directly attach servers to the SLB switch in GoGo mode. The optimal configuration is groups of 2, 4, or 8 servers. Because you must directly attach servers, you do not need to configure nodes, pools, or virtual servers. Instead, you configure all servers with the same MAC and IP addresses. Clients then see the group of servers as a single server, much like port-based load sharing. As in port-based load sharing, the first port in the GoGo mode group is designated the master logical port. Use this port to represent the entire GoGo mode group when configuring health checks or VLAN membership. In GoGo mode, the load balancing method is fixed, based on a hashing of the client IP address. GoGo mode persistence is based on source IP information: a given source address will map to one, and only one, physical server. Use GoGo mode when you require performance without any traffic management features. Figure 21 shows GoGo mode. Figure 21: GoGo mode
Clients
Server 4 192.168.200.2 MAC 00-00-00-CO-FF-EE Server 3 192.168.200.2 MAC 00-00-00-CO-FF-EE
EW_040
In Figure 21, the switch is configured to balance all traffic sent to the virtual server based on the client IP address. The servers are configured as follows: All servers have the same MAC address. All servers have the same IP address. All servers have the same content. To configure the switch as indicated in the example, use the following commands:
create vlan server create vlan client configure server ipaddress 192.168.200.2 /24 configure client ipaddress 1.1.1.1 /24 configure server add port 29-32
168
Load-Balancing Methods
configure client add port 1-4 enable slb gogo 29 grouping 29-32 enable ipforwarding
In this example, port 29 is designated the master port. GoGo mode requires you to place clients and servers into separate VLANs.
Load-Balancing Methods
Load-balancing methods are algorithms that determine which node receives a connection hosted by a particular virtual server. The forwarding mode determines how the switch forwards traffic; the load-balancing method determines where the switch forwards traffic. Individual load-balancing methods take into account dynamic factors such as current connection count. Because each application of SLB is unique, node performance depends on a number of different factors. We recommend that you experiment with different load-balancing methods and choose the one that offers the best performance in your particular environment. The switch supports the following load balancing methods: Round-robin Ratio Least connections Priority
Round-Robin
Round robin passes each new connection request to the next server in line. Because round robin is simple and predictable, it is the default load-balancing method. Use round-robin if the equipment that you are load balancing is roughly equal in processing speed and memory.
Ratio
Ratio distributes connections among servers according to ratio weights that you set. The number of connections that each server receives is proportionate to the ratio weight you defined for each server. Use ratio if the equipment that you are load balancing varies significantly in processing speed and memory. For example, if you have one new, high-speed server and two older servers, you can set the ratio so that the high-speed server receives twice as many connections as either of the two older servers. A ratio of 2 results in twice as much traffic as a ratio of 1. If all nodes use the same weight, connections are distributed equally among the nodes. The default ratio is 1.
169
Least Connections
Least connections method passes a new connection to the node having the least number of active sessions. The number of active sessions includes only those sessions occurring within the same virtual server. Use least connections when the equipment that you are load balancing has similar capabilities. Because least connections requires more processing, it works best with small pools (under 25 nodes) when you require intelligent distribution.
Priority
Priority is a variant of round-robin designed to provide redundant standby nodes within a pool. When you add a node to a pool, you can assign a priority level ranging from 1 - 65535, with a higher number indicating a higher priority. In priority, the switch uses round-robin to distribute traffic among the active nodes with the highest priority. If all nodes at that priority level become inactive or reach a session limit maximum, all new sessions are directed to the nodes at the next lowest priority. The switch monitors the status of the inactive nodes. As each node becomes active, the switch redistributes traffic according to the priorities. For example, in a pool with six nodes divided evenly into two priority levels (2 and 1), all sessions are evenly distributed to the priority 2 nodes. If one of the priority 2 nodes becomes inactive, all traffic is assigned to the remaining priority 2 nodes. If all of the priority 2 nodes become inactive, all sessions are directed to the priority 1 nodes. If one of the level 2 nodes becomes active, all new sessions are assigned to it. Use priority when you want a set of servers held in reserve, as a back-up pool.
170
Clients
"Site1" Round Robin 192.168.201.1 port 80 (MyWeb) Layer 4 health checking 192.168.201.1 port 443 (MySSL) Server2 Server1 192.168.200.3 192.168.200.4
Server pools
"Site3" Round Robin 192.168.201.4 port 80 (MyWeb3) Layer 3 health checking 192.168.201.4 port 443 (MySSL3) Layer 3 health checking
"Site2" Round Robin 192.168.201.3 port 80 (MyWeb2) Layer 7 health checking 192.168.201.3 port 443 (MySSL2)
Server1 192.168.200.7
Server3 192.168.200.9
Server2 192.168.200.8 Server1 Server2 192.168.200.6 192.168.200.5 Server4 192.168.200.10 Server5 192.168.200.11
EW_051
To create the VLAN from which outside connections will come, use the following commands:
create vlan outside configure vlan outside ipaddress 172.16.0.1 /16 configure vlan outside add ports 1-8
All virtual servers will use this subnet. There are no ports associated with this VLAN. Use the following commands to create the VLAN servers and enable IP forwarding:
create vlan servers configure vlan servers ipaddress 192.168.200.254 /24 configure vlan servers add ports 9-16 enable ipforwarding
171
Use the following series of commands to create a web site. The site is defined as having two servers: 192.168.200.1 and 192.168.200.2, each with two services (HTTP and SSL). Two virtual servers point at the appropriate pools. The load-balancing method is round-robin. Both virtual servers use the same IP address; the difference is the port number. Finally, port checking is enabled to ensure fault tolerance on each of the servers.
create slb pool site1web configure slb site1 add 192.168.200.1:80 configure slb site1 add 192.168.200.2:80 create slb pool site1ssl configure slb site1 add 192.168.200.1:443 configure slb site1 add 192.168.200.2:443 create slb vip myweb pool site1web mode transparent 192.168.201.1:80 create slb vip myssl pool site1ssl mode transparent 192.168.201.1:443 enable slb node 192.168.200.1:80 tcp-port-check enable slb node 192.168.200.2:80 tcp-port-check enable slb node 192.168.200.1:443 tcp-port-check enable slb node 192.168.200.2:443 tcp-port-check
Use the following series of commands to create a second web site. This site is similar to the first site, except that content checking is enabled on this site.
create slb pool site2web configure slb site2web add 192.168.200.5:80 configure slb site2web add 192.168.200.6:80 create slb pool site2ssl configure slb site2ssl add 192.168.200.5:443 configure slb site2ssl add 192.168.200.6:443 create slb vip myweb2 pool site2web mode transparent 192.168.201.3:80 create slb vip myssl2 pool site2ssl mode transparent 192.168.201.3:443 enable slb vip myweb2 service-check configure slb vip myweb2 service-check http url /testpage.htm match-string test successful
Use the following series of commands to create a third web site. This example has one pool with a wildcard port. The wildcard port allows any port sent to it by the virtual server. All five servers respond to requests on both port 80 and port 443.
create slb pool site3web configure slb site3web add configure slb site3web add configure slb site3web add configure slb site3web add configure slb site3web add create slb vip myweb3 pool create slb vip myssl3 pool 192.168.200.7:0 192.168.200.8:0 192.168.200.9:0 192.168.200.10:0 192.168.200.11:0 site3web mode transparent 192.168.201.4:80 site3web mode transparent 192.168.201.4:443
172
Using Persistence
Use the following series of commands to create an FTP site. The site has two servers: 192.168.200.3 and 192.168.200.4. The servers provide only FTP service. The two different virtual servers and port numbers refer to the control and data channels used by the FTP service. Two virtual servers point at the appropriate pools. The load-balancing method is round-robin. Layer 7 health checking is enabled for the ftpc virtual server.
create slb pool ftp1c configure slb ftp1c add 192.168.200.3:21 configure slb ftp1c add 192.168.200.4:21 create slb pool ftp1d configure slb ftp1d add 192.168.200.3:20 configure slb ftp1d add 192.168.200.4:20 create slb vip ftpc pool ftp1c mode transparent 192.168.201.2:21 create slb vip ftpd pool ftp1d mode transparent 192.168.201.2:20 enable slb vip ftpc service-check configure slb vip ftpc service-check ftp user test password testpass
Finally, enable SLB and configure the VLANs to be either client or server, using the following commands.
enable slb configure vlan outside slb-type client configure vlan servers slb-type server
Using Persistence
Persistence ensures that subsequent connections from the same client attach to the same server. To configure persistence, you select: persistence method persistence level persistence type Persistence is not affected by the load-balancing method unless you select GoGo mode, where the persistence is fixed, as described on page 168.
Persistence Methods
Persistence methods determine how the persistence table times-out entries. The persistence methods are: Per-session Per-packet
Per-Session Persistence
Per-session persistence creates a persistence entry when the first packet arrives from a client with the time-out value configured for the virtual server. The entry is removed after the time-out period. The entry is not refreshed. Per-session is the default persistence method. Use per-session persistence when you want the smallest impact on performance and you can accurately gauge your total connection time.
173
Per-Packet Persistence
Per-packet persistence creates a persistence entry when the first packet arrives and refreshes that entry each time a new packet arrives. Thus, the entry remains as long as new packets continue to arrive. Use per-packet persistence when you want to sacrifice a small amount of performance in return for a time-out period based on connection idle time instead of total connection time.
Persistence Levels
Persistence levels determine how the persistence entries affect multiple virtual servers. Use persistence levels if you have servers that provide multiple services to a single client (such as, HTTP and SSL). To use persistence levels, your virtual servers must contain the same physical servers. The persistence levels are as follows: Same-VIP-same-port Same-VIP-any-port Any-VIP
Same-VIP-Same-Port Persistence
Same-VIP-same-port matches a new client request to a persistence entry only if the destination is the same virtual server and same port as the original client request. Same-VIP-same-port is the default persistence method. Use same-VIP-same-port persistence to ensure that connections from a client are only persistent on the specific virtual server that is connecting to that client.
Same-VIP-Any-Port Persistence
Same-VIP-any-port persistence directs client requests to the same virtual server even if the port is different. Use same-VIP-any-port persistence to ensure that connections from a client are persistent on the virtual server for all layer 4 services offered on that particular virtual server. For example, if you use HTTP (port 80) to build a shopping cart, then need to use SSL (port 443) for the credit card transaction at the end, use same-VIP-any-port persistence to preserve the client session. If you have virtual servers with the same IP address but a different port, you must configure associated pools with identical nodes that can service requests on either port.
Any-VIP Persistence
Any-VIP persistence directs all connections from a client to the same virtual server regardless of the destination. Use any-VIP persistence to ensure that connections from a client always go to the same server no matter what layer 4 service they connect to. When you use any-VIP persistence, you must ensure that all servers have the same content for all services.
174
Using Persistence
Persistence Types
The switch supports the following types of persistence: Client persistence Proxy client persistence Sticky persistence
Client Persistence
Client persistence provides a persist mask feature. You can define a range of IP addresses that map to a persistent connection. Any client whose source IP address falls within the range is considered a match for the entry. Use client persistence to ensure that transactions, from your defined range of IP addresses, that span multiple TCP sessions are always connected to the same virtual servers. For example, if you assume that a single client uses multiple sessions to fill a shopping cart, you can force all traffic from the same range of IP addresses (which you assume to be the same client) to connect to the same virtual server.
Sticky Persistence
Sticky persistence is available only on wildcard virtual servers and is especially useful for cache servers. Sticky persistence tracks destination IP addresses. When a client attempts to connect to a destination IP address, the switch directs the client to the same cache server previously used for that destination IP address. This helps you reduce the amount of duplicated content on cache servers in your network. Use sticky persistence to provide persistence based on destination IP address. Sticky persistence is especially useful when you load balance caching proxy servers. A caching proxy server intercepts web requests and returns a cached web page (if that page is available). You can improve the efficiency of cache proxy servers by sending similar requests to the same server. Sticky persistence can cache a given web page on one proxy server instead of on every proxy server. This saves the other servers from duplicating the content.
NOTE For additional cache server applications, see Web Cache Redirection on page 185.
175
Clients
Switch 1 (unit 1) 1.10.0.2/16 VIP site1 1.10.1.1 (unit 1) VIP site2 1.10.1.2 (unit 2)
Switch 1 1.205.0.1/16
Single-attached host
testpool Associated VIPs 1.10.1.1 port 80 (site1) 1.10.1.2 port 80 (site2)
1.10.0.1/16
Server1 1.205.1.1/16
Switch 1 (unit 1) 1.10.0.3/16 VIP site1 1.10.1.1 (unit 1) VIP site2 1.10.1.2 (unit 2)
Switch 2 1.206.0.1/16
Server2 1.205.1.2/16
Single-attached host
EW_058
176
To connect the gateway to the VLAN inside, use the following commands:
configure inside ipaddress 1.10.0.2 /16 configure inside add port 31
To configure the servers to connect to the VLAN server on ports 1-4, and configure port 32 to connect to the other ESRP switch, use the following commands:
configure server ipaddress 1.205.0.1 /16 configure server add port 1-4, 32
To enable IP forwarding, create a server pool called testpool, and add four servers to it using TCP port 80, use the following commands:
enable ipforwarding create slb pool testpool configure slb pool testpool configure slb pool testpool configure slb pool testpool configure slb pool testpool
To create SLB virtual server addresses for the two websites (site1 and site2) and associate the server pool testpool with it, use the following commands:
create slb vip site1 pool testpool mode transparent 1.10.1.1:80 create slb vip site2 pool testpool mode transparent 1.10.1.2:80
To enable SLB and configure it for the appropriate VLANs (client connections enter from the VLAN inside), use the following commands:
enable slb configure inside slb client configure server slb server
To enable ESRP on the VLAN server and configure the ESRP direct-attached hosts mode to allow the proper failover of services, use the following commands:
enable esrp server configure esrp port-mode host ports 1-4, 32
the interconnection between the switches is also configured as a host port. To configure SLB to use ESRP, use the following command:
configure slb esrp server add unit 1
177
Note the following about the configurations for the switches running SLB and ESRP: You must configure all switch ports connected directly to the servers as ESRP host ports. You must configure the link between the two switches as an ESRP host port. The configuration uses transparent mode and HTTP services, but can be configured to support any of the currently supported load-balancing protocols. Both switches are configured as unit 1. The SLB and ESRP port configurations are identical on both switches.
Web-Server Configuration
The services must match those configured on the switch; for example, HTTP services configured at TCP port 7080 on the switch require the servers to allow connections at port 7080. You must ensure that the SLB configuration is valid before trying to transfer the configuration to an ESRP/SLB configuration. The two types of ESRP hosts that you can connect to the switches are single-attached hosts and dual-attached hosts. Single-attached hosts provide no server link redundancy, but allow hosts to be connected to the same VLAN as the web servers. Dual-attached hosts allow for redundant NICs in the servers, as well as connections to the switch. When configured as dual-attached hosts, the servers are supported fully by the ESRP redundant gateway services.
NOTE For information on specific NIC card configurations, please contact your NIC vendor.
Active-Active Operation
Active-active operation is a redundant configuration of two switches. If one switch fails, the second switch takes over the SLB function. By preparing a redundant switch for the possibility of failover, you provide reliability and availability. To create an active-active configuration, configure redundant switches with identical SLB configurations, except for the failover parameters. Active-active operation uses a gateway ping-check to determine if the active SLB switch has network connectivity. If the specified IP address is unreachable for a specified duration, the gateway ping-check triggers a failover to the redundant switch. NOTE When you configure the gateway ping check, specify the IP address of a device other than the redundant SLB switch.
178
The remote-ip specifies the IP address of the redundant SLB switch. The local-ip specifies the IP address of the switch you are configuring. You must assign virtual servers with the same virtual IP address to the same unit.
Clients
Switch 1 (unit 1) 1.10.0.2/16 VIP site1 1.10.1.1 (unit 1) VIP site2 1.10.1.2 (unit 2)
1.10.0.1/16
Server pools
testpool Associated VIPs 1.10.1.1 port 80 (site1) 1.10.1.2 port 80 (site2)
Switch 2 (unit 2) 1.10.0.3/16 VIP site1 1.10.1.1 (unit 1) VIP site2 1.10.1.2 (unit 2)
Switch 2 1.206.0.1/16
To configure this example on the first switch, use the following commands:
create vlan inside create vlan server configure vlan inside ipaddress 1.10.0.2 /16 configure vlan inside add port 31
179
configure vlan server ipaddress 1.205.0.1 /16 configure vlan server add port 29-30 enable ipforwarding create slb pool testpool configure slb pool testpool add 1.205.1.1:80 configure slb pool testpool add 1.205.1.2:80 create slb vip site1 pool testpool mode transparent 1.10.1.1:80 create slb vip site2 pool testpool mode transparent 1.10.1.2:80 enable slb configure vlan inside slb-type client configure vlan server slb-type server configure slb failover unit 1 remote 1.10.0.3 local 1.10.0.2:1028 enable slb failover enable slb failover ping configure slb vip site1 unit 1 configure slb vip site2 unit 2 configure slb fail ping-check 1.10.0.1 freq 1
To configure this example on the second switch, use the following commands:
create vlan inside create vlan server configure vlan inside configure vlan inside configure vlan server configure vlan server enable ipforwarding create slb pool testpool configure slb pool testpool add 1.206.1.1:80 configure slb pool testpool add 1.206.1.2:80 create slb vip site1 pool testpool mode transparent 1.10.1.1:80 create slb vip site2 pool testpool mode transparent 1.10.1.2:80 enable slb configure vlan inside slb-type client configure vlan server slb-type server configure slb failover unit 2 remote 1.10.0.2 local 1.10.0.3:1028 enable slb failover enable slb fail ping configure slb vip site1 unit 1 configure slb vip site2 unit 2 configure slb fail ping-check 1.10.0.1 freq 1
ipaddress 1.10.0.3 /16 add port 31 ipaddress 1.206.0.1 /16 add port 29-30
180
Health Checking
The differences between the configurations of these two switches are the IP addresses and the designation of the first switch as unit 1 of the active-active configuration. If you use this configuration with only one virtual server, you have an active switch and a standby switch, because only one switch is actively performing SLB. This configuration is called active-standby.
Health Checking
Health checking allows you to actively poll nodes to determine their health. The switch makes new connections only if the virtual server and node are both enabled and passing health checks. The switch considers a virtual server or node active unless a health check fails. If a health check fails, the switch considers the virtual server or node inactive. A virtual server or node is also considered inactive if it is disabled and has zero active connections. If it is inactive for this reason, the switch stops ping-checks and port-checks on the virtual server or node to conserve system resources. The switch resumes ping checks and port checks when you enable the virtual server or node. The switch does not establish new connections with an inactive node until that node passes all configured health checks. If a health check fails and you have enabled the ign-reset parameter on an associated virtual server, the switch closes all existing connections for the virtual server by sending a TCP reset to the client and node.
181
The switch supports three types of health checking: Ping-check Port-check Service-check The switch also supports 3DNS health checking.
Ping-Check
Ping-check operates at layer 3 and is the default health check. The switch sends an ICMP ping to the configured server or next hop. The default ping frequency is 10 seconds and the default time-out is 30 seconds (three pings). If the node does not respond within 30 seconds, it is considered down. If a server is configured not to respond to ICMP echo requests, the server will be marked down after the first ping check interval. Ping check is the only health check that will accept a wildcard as the IP port.
TCP-Port-Check
TCP-port-check operates at layer 4 and tests the physical node. The default frequency is 30 seconds and the default time-out is 90 seconds. If the node does not respond within 90 seconds, it is considered down. You can use TCP-port-checking to determine if a TCP service, such as httpd, is available. If a TCP-port-check fails, the IP/port combination is considered unavailable.
Service-Check
Service-check operates at layer 7 and is an application-dependent check defined on a virtual server. The switch performs a service-check on each node in the pool. The default frequency is 60 seconds and the default time-out is 180 seconds. Table 24 describes the service-check parameters. Table 24: Service-Check Parameters
Service HTTP FTP Telnet SMTP NNTP POP3 Attribute URL Match-string Userid Password Userid Password Dns-domain Newsgroup Userid Password Global Default Value / Any-content anonymous anonymous anonymous anonymous Same as the switch DNS domain. If no DNS domain is configured for the switch, the value is . ebusiness anonymous anonymous
If you do not specify the service-check parameters, the switch uses the global default values. You can configure the global default values. For HTTP, you can specify both the URL to be retrieved, and a match-string, such as Welcome. If the switch finds the match-string in the first 1000 bytes of the retrieved URL, the service-check passes.
182
Health Checking
A match-string specified as any-content matches any retrieved text. Extreme Networks recommends that you create a text file that contains a single word, such as ok. The FTP, Telnet, and POP3 service-checks establish a connection between the switch and the next hop. Service-check logs on and off using the specified userid and password. For SMTP, service-check identifies the switch by providing the DNS domain you configure. Extreme Networks recommends that you specify a DNS domain that is used only for identification. The NNTP service-check connects to the node, logs in, and attaches to the newsgroup specified. You configure service-checks for each virtual server, and nodes can be members of multiple virtual servers. Therefore, because each node can have multiple service-checks, some service-checks can fail while others pass. So to accept a new connection for a virtual server, a node must have passed the service-check configured for that virtual server. When showing detailed virtual server information, the status for individual nodes is shown with respect to that virtual server.
To see what 3DNS devices are currently communicating with the SLB enabled switch:
show slb 3dns members
The switch responds to directed queries from 3DNS. To direct 3DNS queries to the switch, add a Big/IP device to the 3DNS configuration. Encrypted communications with 3DNS are currently not supported.
Maintenance Mode
You can put a node or virtual server into maintenance mode by disabling the node or virtual server. In maintenance mode, existing connections remain active, but no new connections are permitted. The existing connections are either closed by the client and server or are aged out if idle for more than 600 seconds.
183
Flow Redirection
Flow redirection overrides routing decisions to transparently redirect client requests to a target device (or group of devices). Unlike SLB, you do not duplicate content on the target device(s). Flow redirection traffic must come from an i-series switch running ExtremeWare 6.1 (or later). The switch can only redirect traffic that crosses a VLAN boundary within the switch, because flow redirection operates at layer 3. If the clients and servers belong to the same subnet as the switch, use the proxy ARP feature with minimal configuration changes to clients or servers. Flow redirection automatically includes health checking. You can configure the type of health check, but you cannot disable flow redirection health checking. Flow redirection examines traffic and redirects it based on the following criteria, in order of priority: 1 Destination IP address and mask 2 Layer 4 port 3 Source IP address and mask Multiple flow redirection rules can overlap. In these cases, the most specific redirection rule that satisfies the criteria takes precedence. In general, the following rules apply: If a flow with a better matching mask on an IP address satisfies the content of a packet, that flow will be observed. If one flow redirection rule contains any as a layer 4 protocol and a second flow redirection rule contains explicit layer 4 port information, the second takes precedence if the packet contains matching layer 4 information. If one flow has a better match on source information and a second flow has better match on destination information then the rule with the match on the destination information is selected. For example, in the following 2 cases, the rule with the best match (using the above criteria) is selected. Table 25: Flow rule example A
Rule # A1 A2 Destination IP Address 192.0.0.0/8 192.168.0.0/16 Destination Port 80 ANY Source IP Address ANY ANY Priority Selection 1 2
In example A, rule A1 is the best match as it contains an explicit destination port, even though rule A2 has a more specific destination IP address mask.
184
Flow Redirection
In example B, rule B4 is the best match as it contains an explicit destination port and a better match on the source IP address mask than rule B1.
NOTE Extreme Networks recommends that you use flow redirection and SLB on separate switches; do not use flow redirection and SLB on the same switch. If you must use SLB and flow redirection on the same switch, ensure that no overlapping layer 4 IP ports exist in the configuration. You must prevent logical loops of redirected traffic. You can use flow redirection for the following: Web cache redirection Policy-based routing
NOTE Ensure that the FDB time-out on the switch is higher than the IPARP time-out.
185
Cache servers
1.10.1.1 1.10.1.2 1.10.1.3 1.10.1.4 1.10.1.5 1.10.1.6 1.10.1.7 1.10.1.8
Gateway to clients
1.12.0.1/16
Internet
EW_064
186
Flow Redirection
Policy-Based Routing
Policy based routing is an application of flow redirection that allows you to control routed traffic regardless of the routing protocol configured. For example, you can use policy-based routing to force SNMP traffic to follow a less efficient but more secure path. As with web cache redirection, policy-based routing examines traffic and redirects it based on the following criteria (in order of priority): 1 Destination IP address and mask 2 Layer 4 port 3 Source IP address and mask If the next-hop address is unavailable, the switch routes the traffic normally. You can define several rules; the precedence of rules is determined by the best match of the rule to the packet. If no rule is satisfied, no redirection occurs. If you define multiple next-hop addresses, traffic satisfying the rule is load-shared across the next hop addresses based on destination IP address. If next hop addresses do not respond to ICMP pings, the switch resumes normal routing. Policy-based routing has no impact on switch performance unless you use policy-based routing and SLB on the same switch.
187
188
This chapter describes the following topics: Status Monitoring on page 189 Slot Diagnostics on page 190 Port Statistics on page 192 Port Errors on page 193 Port Monitoring Display Keys on page 194 System Temperature on page 194 System Health Checking on page 195 Setting the System Recovery Level on page 200 Event Management System/Logging on page 200 Configuring and Monitoring Flow Statistics on page 212 RMON on page 221 Viewing statistics on a regular basis allows you to see how well your network is performing. If you keep simple daily records, you will see trends emerging and notice problems arising before they cause major network faults. In this way, statistics can help you get the best out of your network.
Status Monitoring
The status monitoring facility provides information about the switch. This information may be useful for your technical support representative if you have a problem. ExtremeWare includes many show commands that display information about different switch functions and facilities. NOTE For more information about show commands for a specific ExtremeWare feature, see the appropriate chapter in this guide.
189
Slot Diagnostics
The BlackDiamond switch provides a facility for running normal or extended diagnostics on an I/O module or a Management Switch Fabric Module (MSM) without affecting the operation of the rest of the system. If you select to run the diagnostic routine on an I/O module, that module is taken off-line while the diagnostic test is performed. Traffic to and from the ports on the module are temporarily unavailable. Once the diagnostic test is completed, the I/O module is reset and becomes operational again. You can run normal or extended diagnostics on the slave MSM. The normal diagnostic routing is a short series of tests that do not test all the internal Application-Specific Integrated Circuit (ASIC) functions. The extended diagnostic routine tests coverage of all MSM components including the internal ASIC functions. The slave MSM is taken off-line while the diagnostic test is performed. It is reset and operational once the test is completed. If you want the diagnostic routine to run on the master MSM every time the system boots, use the following command:
configure diagnostics on
If you want the diagnostic routine to run one time (rather than with each system boot), use the following command:
run diagnostics [normal | extended] [<slot> | msm-a | msm-b]
where the following is true: normalTakes the switch fabric and ports offline, and performs a simple ASIC and packet loopback test on all ports. The test is completed in 30 seconds. CPU and out-of-band management ports are not tested in this mode. As a result, console and Telnet access from the management port is available during this routine. extendedTakes the switch fabric and ports offline, and performs extensive ASIC, ASIC-memory, and packet loopback tests. Extended diagnostic tests take a maximum of 15 minutes. The CPU is not tested. Console access is available during extended diagnostics. <slot>Specifies the slot number of an I/O module. Once the diagnostics test is complete, the system attempts to bring the I/O module back online. This parameter is applicable to the BlackDiamond switch, only. msm-a | msm-bSpecifies the slot letter of an MSM64i. If the master MSM is specified, the diagnostic routine is performed when the system reboots. Both switch fabric and management ports are taken offline during diagnostics. This parameter is applicable to the BlackDiamond switch, only.
190
Slot Diagnostics
Use the normal option when you want a fast (30 60 seconds) hardware status check. Use the extended option when you want a more thorough test. The extended option requires significantly more time to complete, depending on the number of ports on the blade. You can also execute packet memory scanning for all packet memory associated with the specified I/O slot on a BlackDiamond 6804, 6808, or 6816 switches, using the following command:
run diagnostics packet-memory slot <slot number>
The packet memory diagnostic scans the specified blade to detect single bit-related memory defects and their associated buffer locations. If packet memory defects are detected, their locations are recorded in the blades EEPROM. Up to eight occurrences can be recorded. If a defect was found during the scan process, the card is reset, the defective buffer is mapped out from further use, and the I/O card is returned to the operational state. If more than eight defects are detected, or if the defects cannot be mapped out, the card is treated as a failed card and left offline. The card should then be returned through the RMA process with Extreme Networks Technical Support.
NOTE Only run extended or packet-memory diagnostics when the switch can be brought off-line. The tests conducted during these diagnostics are extensive and can affect traffic that must be processed by the system CPU. To view results of the normal or extended diagnostics test, use the following command:
show diagnostics
To view the results of a packet memory scan, use the following command:
show diagnostics packet-memory slot <slot number>
where the following is true: offlineSpecifies that a module is taken offline and kept offline if one of the following occurs: More than eight defects are detected. Three consecutive checksum error were detected by the health checker, but no new defects were found by the memory scanning and mapping process. After defects were detected and mapped out, the same checksum errors are again detected by the system health checker. onlineSpecifies that a faulty module is kept online, regardless of how many errors are detected. msm-aSpecifies the MSM module installed in slot A.
191
msm-bSpecifies the MSM module installed in slot B. slot numberSpecifies a module installed in a slot. This command overrides the system health check auto-recovery setting. If you have the system health check alarm level configured, the individual packet memory scanning configuration is ignored. See System Health Checking on page 195 for more information about the system health checker. To disable packet memory scanning and to return to the system health check configured behavior, use the following command:
unconfigure packet-mem-scan-recovery-mode slot [msm-a | msm-b | <slot number>]
To view the recovery mode configuration for slots that have packet memory scanning enabled, use the following command:
show packet-mem-scan-recovery-mode
Where the following information is displayed: Global settings for the system health check Auto-recovery settings for slots that have packet memory scanning enabled The following is sample output from this command:
Global sys-health-check online setting slot 3: AUTORECOVERY MODE is OFFLINE MSM-B: AUTORECOVERY MODE is ONLINE is ONLINE
# NOTE Global setting is always online for sys-health-check alarm-level configurations. It is only offline when "sys-health-check auto-recovery <#> offline" is configured.
Port Statistics
ExtremeWare provides a facility for viewing port statistic information. The summary information lists values for the current counter against each port on each operational module in the system, and it is refreshed approximately every 2 seconds. Values are displayed to nine digits of accuracy. To view port statistics, use the following command:
show ports <portlist> stats
The following port statistic information is collected by the switch: Link StatusThe current status of the link. Options are: Ready (the port is ready to accept a link). Active (the link is present at this port). Chassis (the link is connected to a Summit Virtual Chassis). Transmitted Packet Count (Tx Pkt Count)The number of packets that have been successfully transmitted by the port.
192
Port Errors
Transmitted Byte Count (Tx Byte Count)The total number of data bytes successfully transmitted by the port. Received Packet Count (Rx Pkt Count)The total number of good packets that have been received by the port. Received Byte Count (RX Byte Count)The total number of bytes that were received by the port, including bad or lost frames. This number includes bytes contained in the Frame Check Sequence (FCS), but excludes bytes in the preamble. Received Broadcast (RX Bcast)The total number of frames received by the port that are addressed to a broadcast address. Received Multicast (RX Mcast)The total number of frames received by the port that are addressed to a multicast address.
Port Errors
The switch keeps track of errors for each port. To view port transmit errors, use the following command:
show ports <portlist> txerrors
The following port transmit error information is collected by the system: Port Number Link StatusThe current status of the link. Options are: Ready (the port is ready to accept a link). Active (the link is present at this port). Transmit Collisions (TX Coll)The total number of collisions seen by the port, regardless of whether a device connected to the port participated in any of the collisions. Transmit Late Collisions (TX Late Coll)The total number of collisions that have occurred after the ports transmit window has expired. Transmit Deferred Frames (TX Deferred)The total number of frames that were transmitted by the port after the first transmission attempt was deferred by other network traffic. Transmit Errored Frames (TX Error)The total number of frames that were not completely transmitted by the port because of network errors (such as late collisions or excessive collisions). Transmit Parity Frames (TX Parity)The bit summation has a parity mismatch. To view port receive errors, use the following command:
show ports <portlist> rxerrors
The following port receive error information is collected by the switch: Receive Bad CRC Frames (RX CRC)The total number of frames received by the port that were of the correct length, but contained a bad FCS value. Receive Oversize Frames (RX Over)The total number of good frames received by the port greater than the supported maximum length of 1,522 bytes. For products that use the i chipset, ports with jumbo frames enabled do not increment this counter. Receive Undersize Frames (RX Under)The total number of frames received by the port that were less than 64 bytes long.
193
Receive Fragmented Frames (RX Frag)The total number of frames received by the port were of incorrect length and contained a bad FCS value. Receive Jabber Frames (RX Jab)The total number of frames received by the port that was of greater than the support maximum length and had a Cyclic Redundancy Check (CRC) error. Receive Alignment Errors (RX Align)The total number of frames received by the port that occurs if a frame has a CRC error and does not contain an integral number of octets. Receive Frames Lost (RX Lost)The total number of frames received by the port that were lost because of buffer overflow in the switch.
System Temperature
You can record the system temperature in celsius for the BlackDiamond and Alpine systems to the syslog. The temperature is recorded every hour. To record the temperature, use the following command:
enable temperature-logging
By default, the system temperature is not recorded to the syslog. After you enable the temperature logging feature, you can view the temperature of the system. To view the temperature, use the following command:
show log
The following is sample temperature output from the show log command:
06/12/2003 19:50:59.00 <Info:ELRP> Current temperature reading [197] is 49C. 06/12/2003 18:50:59.00 <Info:ELRP> Current temperature reading [196] is 48C.
194
If you already enabled temperature logging, and you want to view the current temperature of the system, do the following: 1 Disable the temperature logging feature using the following command:
disable temperature-logging
To configure the switch to respond to a failed health check based on an alarm-level, use the following command:
configure sys-health-check alarm-level [card-down | default | log | system-down | traps]
This command provides the following options: card-downPosts a CRIT message to the log, sends a trap, and turns off the module. logPosts a CRIT message to the log. system-downPosts a CRIT message to the log, sends a trap, and turns off the system. trapsPosts a CRIT message to the log and sends a trap. The default option is log. To configure the switch for auto-recovery, use the following command:
configure sys-health-check auto-recovery <number of tries>
195
The auto-recovery option is used to configure the number of times the system health checker attempts to automatically reset a faulty module and bring it online. If the module continues to fail more than the configured number of attempts, the system health checker sets the module to card-down. When auto-recovery is configured, the occurrence of three consecutive checksum errors will cause a packet memory (PM) defect detection program to be run against the I/O module. Checksum errors can include internal and external MAC port parity errors, EDP checksum errors, and CPU packet or diagnostic packet checksum errors. If defects are detected, the card is taken offline, the memory defect information is recorded in the card EEPROM, the defective buffer is mapped out of further use, and the card is returned to operational state. A maximum of 8 defects can be stored in the EEPROM. After the PM defect detection and mapping process has been run, a card is considered failed and is taken offline in the following circumstances: More than eight defects are detected. Three consecutive checksum errors were detected by the health checker, but no new PM defects were found by the PM defect detection process. After defects were detected and mapped out, the same checksum errors are again detected by the system health checker. The auto-recovery repetition value is ignored in these cases. In any of these cases, please contact Extreme Technical Support. To view the status of the system health checker, use the following command:
show diagnostics
To clear the questionable and remapped entries, use the following command:
clear fdb remap
196
To enable the transceiver test on a BlackDiamond switch, use the following command:
enable transceiver-test [all | slot {<slot number> | msm-a | msm-b}]
where the following is true: allSpecifies all of the slots in the chassis. backplaneSpecifies the backplane of the Alpine chassis. This is available on Alpine switches only. slot numberSpecifies the slot number of the module to scan. msm-aSpecifies the MSM installed in slot A. This is available on BlackDiamond switches only. msm-bSpecifies the MSM installed in slot B. This is available on BlackDiamond switches only. To determine if you have the transceiver test enabled and the failure action the switch takes, use the show switch command. The following is sample transceiver test output:
Transceiver Diag: Enabled. Failure action: log only
To disable the transceiver test on a BlackDiamond switch, use the following command:
disable transceiver-test [all | slot <slot number> | msm-a | msm-b]
197
Configuring the Test Period. To configure how often to run the transceiver test, use the following command:
configure transceiver-test period <period <1-60>>
where the: Default is 12 seconds Range is 1 - 60 seconds To return the transceiver test period to the factory default of 12 seconds, use the following command:
unconfigure transceiver-test period
Configuring the Test Threshold. To configure how many errors the switch accepts before an action is taken, use the following command:
configure transceiver-test threshold <1-8>
where the: Default is 3 errors Range is 1 - 8 errors To return the transceiver test threshold to the factory default of 3 errors, use the following command:
unconfigure transceiver-test threshold
Configuring the Test Window. To configure the number of 20-second windows within which the configured number of errors can occur, use the following command:
configure transceiver-test window <1-8>
where the: Default is 8 windows Range is 1 - 8 windows This configuration provides a sliding window. If you keep the window configuration at 8, the switch checks for errors within the last eight 20-second windows. To return the transceiver test window to the factory default of 8, use the following command:
unconfigure transceiver-test window
Configuring the Test Failure Action. If the switch detects too many failures within the specified window, the messages are either sent to the syslog or the configured system health check action is taken. To configure the action the switch takes when too many failures are detected, use the following command:
configure transceiver-test failure-action [log | sys-health-check]
198
where the following is true: logMessages are sent to the syslog. Only one instance of an error messages is logged at this level. This is the default. sys-health-checkThe configured system health check action is taken. To return the switch to the default mode of sending messages to the syslog, use the following command:
unconfigure transceiver-test failure-action
For more information about these and other transceiver test commands, see the Extreme Networks Command Reference Guide.
In addition to other switch diagnostics, you can view the following transceiver statistics: Slot number or backplane Cardtype (if no module is installed in the slot, the card type is unknown) Cardstate Test Pass Fail Time of the last failure The following is an example of the type of transceiver statistics output displayed:
Transceiver system health diag result Pass/Fail Counters Are in HEX Slot Cardtype Cardstate Test Pass Fail Time_last_fail ----------- ------------------- -------- -------------slot 1 Unknown slot 2 WM4T1 Operational MAC 7d456 0 slot 3 FM8V Operational MAC 7d456 0 slot 4 GM4X Operational MAC 7d456 0 BPLNE SMMI Operational UART 7d454 0 BPLNE SMMI Operational FLASH 7d454 0 BPLNE SMMI Operational SRAM 7d454 0 BPLNE SMMI Operational NVRAM 7d454 0 BPLNE SMMI Operational ENET 7d454 0 BPLNE Basbrd Operational QUAKE 7d454 0 BPLNE Basbrd Operational TWISTER 7d454 0
199
Where the following is true: noneConfigures the level to no recovery. allConfigures ExtremeWare to log an error into the syslog and automatically reboot the system after any task exception. criticalConfigures ExtremeWare to log an error into the syslog and automatically reboot the system after a critical task exception. The default setting is none.
200
console display current session (telnet or console display) memory buffer (can contain 200-20,000 messages) NVRAM (messages remain after reboot) syslog host The first four types of targets exist by default, but before enabling any syslog host, the hosts information needs to be added to the switch using the configure syslog command. Extreme Networks EPICenter can be a syslog target. By default, the memory buffer and NVRAM targets are already enabled and receive messages. To start sending messages to the targets, use the following command:
enable log target [console-display | memory-buffer | nvram | session | syslog [<host name/ip> {:<udp-port>} [local0 ... local7]]]
Once enabled, the target receives the messages it is configured for. See the section Target Configuration for information on viewing the current configuration of a target. The memory buffer can only contain the configured number of messages, so the oldest message is lost when a new message arrives, and the buffer is full. Use the following command to stop sending messages to the target:
disable log target [console-display | memory-buffer | nvram | session | syslog [<host name/ip> {:<udp-port>} [local0 ... local7]]]
NOTE Refer to your UNIX documentation for more information about the syslog host facility.
Target Configuration
To specify the messages to send to a enabled target, you will set a message severity level, a filter name, and a match expression. These items determine which messages are sent to the target. You can also configure the format of the messages in the targets. Each target has a default configuration that mimics the expected behavior of prior ExtremeWare releases. For example, the console display target is configured to get messages of severity info and greater, the NVRAM target gets messages of severity warning and greater, and the memory buffer target gets messages of severity debug-data and greater. All the targets are associated by default with a filter named DefaultFilter, that passes all events at or above the default severity threshold, like the behavior of earlier releases (the earlier releases had no filters). All the targets are also associated with a default match expression that matches any messages (the expression that matches any message is displayed as Match : (none) from the command line). And finally, each target has a format associated with it. To display the current log configuration of the targets, use the following command:
show log configuration target {console-display | memory-buffer | nvram | session | syslog <host name/ip> {: <udp-port>}[local0 ... local7]}
201
To configure a target, there are specific commands for filters, formats, and severity that are discussed in the following sections.
Severity
Messages are issued with one of the severity level specified by the standard BSD syslog values (RFC 3164), critical, error, warning, notice, and info, plus three severity levels for extended debugging, debug-summary, debug-verbose, and debug-data. Note that RFC 3164 syslog values emergency and alert are not needed since critical is the most severe event in the system. The three severity levels for extended debugging, debug-summary, debug-verbose, and debug-data, require that debug mode be enabled (which may cause a performance degradation). See the section Displaying Debug Information for more information about debugging. Table 28: Severity Levels Assigned by the Switch1
Level Critical Description A serious problem has been detected which is compromising the operation of the system and that the system can not function as expected unless the situation is remedied. The switch may need to be reset. A problem has been detected which is interfering with the normal operation of the system and that the system is not functioning as expected. An abnormal condition, not interfering with the normal operation of the system, has been detected which may indicate that the system or the network in general may not be functioning as expected. A normal but significant condition has been detected, which signals that the system is functioning as expected. A normal but potentially interesting condition has been detected, which signals that the system is functioning as expected and simply provides potentially detailed information or confirmation. A condition has been detected that may interest a developer determining the reason underlying some system behavior. A condition has been detected that may interest a developer analyzing some system behavior at a more verbose level than provided by the debug summary information. A condition has been detected that may interest a developer inspecting the data underlying some system behavior.
Error Warning
1. In ExtremeWare version 7.1.0, the levels alert and emergency were deprecated. The equivalent level is critical.
To configure the severity level of the messages sent to a target, there is more than one command that you can use. The most direct way to set the severity level of all the sent messages is to use the following command: configure log target [console-display | memory-buffer | nvram | session | syslog [<host name/ip> {: <udp-port>} [local0 ... local7]]] {severity <severity> {only}} When you specify a severity level, messages of that severity and greater will be sent to the target. If you want only messages of the specified severity to be sent to the target, use the keyword only. For example, specifying severity warning will send warning, error, and critical messages, but specifying severity warning only will just send warning messages. Another command that can be used to configure severity levels is the command used to associate a filter with a target:
202
configure log target [console-display | memory-buffer | nvram | session | syslog [<host name/ip> {: <udp-port>} [local0 ... local7]]] filter <filter name> {severity <severity> {only}} When you specify a severity level as you associate a filter with a target, you further restrict the messages reaching the target. The filter may only allow certain categories of messages to pass. Only the messages that pass the filter, and then pass the specified severity level will reach the target. Finally, you can specify the severity levels of messages that reach the target by associating a filter with a target. The filter can specify exactly which message it will pass. Constructing a filter is discussed in the section Filtering By Components and Conditions.
In the display above is listed the component, the subcomponents that make up that component, and the default severity threshold assigned to that component. A period (.) is used to separate component, subcomponent, and condition names in EMS. For example, you can refer to the InBPDU subcomponent of the STP component as STP.InBPDU. On the CLI, you can abbreviate or TAB complete any of these. A component or subcomponent will often have several conditions associated with it. To see the conditions associated with a component, use the following command:
show log events {<event condition> | [all | <event component>] {severity <severity> {only}}} {detail}
For example, to see the conditions associated with the STP.InBPDU subcomponent, use the following command:
show log events stp.inbpdu
203
STP
In the display above is listed the four conditions contained in the STP.InBPDU component, the severity of the condition, and the number of parameters in the event message. In this example, the severities of the events in the STP.InBPDU subcomponent range from error to debug-summary. When you use the detail keyword you will see the message text associated with the conditions. For example, if you want to see the message text and the parameters for the event condition STP.InBPDU.Trace, use the following command:
show log events stp.inbpdu.trace detail
The Comp heading shows the component name, the SubComp heading shows the subcomponent (if any), the Condition heading shows the event condition, the Severity heading shows the severity assigned to this condition, the Parameters heading shows the parameters for the condition, and the text string shows the message that the condition will generate. The parameters in the text string (for example, %0% and %1% above) will be replaced by the values of these parameters when the condition is encountered, and output as the event message. Filtering By Components and Conditions. You may want to send the messages that come from a specific component that makes up ExtremeWare, or send the message generated by a specific condition. For example, you might want to send only the messages that come from the STP component, or send the message that occurs when the IP.Forwarding.SlowPathDrop condition occurs. Or you may want to exclude messages from a particular component or event. To do this, you will construct a filter that passes only the items of interest, and associate that filter with a target. The first step is to create the filter using the create log filter command. You can create a filter from scratch, or copy another filter to use as a starting point. It may be easiest to copy an existing filter and modify it. Use the following command to create a filter:
create log filter <name> {copy <filter name>}
If you create a filter from scratch, it will initially block all events until you add events (either the events from a component or a specific event condition) to pass. You might create a filter from scratch if you wanted to pass a small set of events, and block most. If you want to exclude a small set of events, there is a default filter that passes events at or above the default severity threshold (unless the filter has been modified), named DefaultFilter, that you can copy to use as a starting point for your filter. Once you have created your filter, you can then configure filter items that include or exclude events from the filter. Included events are passed, excluded events are blocked. Use the following command to configure your filter:
configure log filter <filter name> [add | delete] {exclude} events [<event condition> | [all | <event component>] {severity <severity> {only}}]
204
For example, if you create the filter myFilter from scratch, then issue the following command:
configure log filter myFilter add events stp
all STP events will pass myFilter of at least the default threshold severity (for the STP component, the default severity threshold is error). You can further modify this filter by specifying additional conditions. For example, assume that myFilter is configured as before, and assume that you want to exclude any events from the STP subcomponent, STP.OutBPDU. Use the following command to add that condition:
configure log filter myFilter add exclude events stp.outbpdu
You can continue to modify this filter by adding more filter items. The filters process events by comparing the event with the most recently configured filter item first. If the event matches this filter item, the incident is either included or excluded, depending on whether the exclude keyword was used. Subsequent filter items on the list are compared if necessary. If the list of filter items has been exhausted with no match, the event is excluded, and is blocked by the filter. To examine the configuration of a filter, use the following command:
show log configuration filter {<filter name>}
The output produced by the command (for the earlier filter) is similar to the following:
Log Filter I/ E Comp - ------E STP I STP Name : myFilter SubComp ----------OutBPDU * Condition ----------------------* * Severity CEWNISVD -------CEWNI+++ ********
Include/Exclude: (I) Include, (E) Exclude Severity Values: (C) Critical, (E) Error, (W) Warning, (N) Notice, (I) Info (*) Pre-assigned severities in effect for each subcomponent Debug Severity : (S) Debug-Summary, (V) Debug-Verbose, (D) Debug-Data (+) Debug Severity requested, but log debug-mode not enabled If Match parameters present: Parameter Flags: (S) Source, (D) Destination (as applicable) (I) Ingress, (E) Egress, (B) BGP Parameter Types: Port - Physical Port list, Slot - Physical Slot # MAC - MAC address, IP - IP Address/netmask, Mask - Netmask VID - Virtual LAN ID (tag), VLAN - Virtual LAN name L4 - Layer-4 Port #, Num - Number, Str - String Nbr - Neighbor, Rtr - Routerid, EAPS - EAPS Domain Strict Match : (Y) every match parameter entered must be present in the event (N) match parameters need not be present in the event
The show log configuration filter command shows each filter item, in the order that it will be applied and whether it will be included or excluded. The above output shows the two filter items, one excluding events from the STP.OutBPDU component, the next including the remaining events from the STP component. The severity value is shown as *, indicating that the components default severity threshold controls which messages are passed. The Parameter(s) heading is empty for this filter, since no match was configured for this filter. Matches are discussed in the section, Matching Expressions. Each time a filter item is added to or deleted from a given filter, the events specified are compared against the current configuration of the filter to try to logically simplify the configuration. Existing items
205
will be replaced by logically simpler items if the new item enables rewriting the filter. If the new item is already included or excluded from the currently configured filter, the new item is not added to the filter.
Matching Expressions
You can specify that messages that reach the target match a specified match expression. The message text is compared with the match expression to determine whether to pass the message on. To require that messages match a match expression, is to use the following command: configure log target [console-display | memory-buffer | nvram | session | syslog [<host name/ip> {: <udp-port>} [local0 ... local7]]] match [any |<match-expression>] The messages reaching the target will match the match-expression, a simple regular expression. The formatted text string that makes up the message is compared with the match expression, and is passed to the target if it matches. This command does not affect the filter in place for the target, so the match expression is only compared with the messages that have already passed the targets filter. For more information on controlling the format of the messages, see the section, Formatting Event Messages. Simple Regular Expressions. A simple regular expression is a string of single characters including the dot character (.), which are optionally combined with quantifiers and constraints. A dot matches any single character while other characters match only themselves (case is significant). Quantifiers include the star character (*) that matches zero or more occurrences of the immediately preceding token. Constraints include the caret character (^) that matches at the beginning of a message, and the currency character ($) that matches at the end of a message. Bracket expressions are not supported. There are a number of sources available on the Internet and in various language references describing the operation of regular expressions. Table 29 shows some examples of regular expressions.
..ar
port.*vlan
myvlan$
Matching Parameters
Rather than using a text match, ExtremeWares EMS allows you to filter more efficiently based on the message parameter values. In addition to event components and conditions and severity levels, each filter item can also use parameter values to further limit which messages are passed or blocked. The process of creating, configuring, and using filters has already been described in the section, Filtering By Components and Conditions, so this section will discuss matching parameters with a filter item. To configure a parameter match filter item, use the following command:
206
configure log filter <filter name> [add | delete] {exclude} events [<event condition> | [all | <event component>] {severity <severity> {only}}] [match | strict-match] <type> <value> {and <type> <value> ...} Each event in ExtremeWare is defined with a message format and zero or more parameter types. The show log events detail command can be used to display event definitions (the event text and parameter types). Only those parameter types that are applicable given the events and severity specified are exposed on the CLI. The syntax for the parameter types (represented by <type> in the command syntax above) is:
[bgp [neighbor | routerid] <ip address> | eaps <eaps domain name> | {destination | source} [ipaddress <ip address> | L4-port <L4-port>| mac-address <mac-address>] | {egress | ingress} [slot <slot number> | ports <portlist>] | netmask <netmask> | number <number> | string <match expression> | vlan <vlan name> | vlan tag <vlan tag>]
The <value> depends on the parameter type specified. As an example, an event may contain a physical port number, a source MAC address, and a destination MAC address. To allow only those Bridging incidents, of severity notice and above, with a specific source MAC address, use the following command:
configure log filter myFilter add events bridge severity notice match source mac-address 00:01:30:23:C1:00
The string type is used to match a specific string value of an event parameter, such as a user name. A string can be specified as a simple regular expression. Use the and keyword to specify multiple parameter type/value pairs that must match those in the incident. For example, to allow only those events with specific source and destination MAC addresses, use the following command:
configure log filter myFilter add events bridge severity notice match source mac-address 00:01:30:23:C1:00 and destination mac-address 01:80:C2:00:00:02
Match Versus Strict-Match. The match and strict-match keywords control the filter behavior for incidents whose event definition does not contain all the parameters specified in a configure log filter events match command. This is best explained with an example. Suppose an event in the XYZ component, named XYZ.event5, contains a physical port number, a source MAC address, but no destination MAC address. If you configure a filter to match a source MAC address and a destination MAC address, XYZ.event5 will match the filter when the source MAC address matches regardless of the destination MAC address, since the event contains no destination MAC address. If you specify the strict-match keyword, then the filter will never match event XYZ.event5, since this event does not contain the destination MAC address. In other words, if the match keyword is specified, an incident will pass a filter so long as all parameter values in the incident match those in the match criteria, but all parameter types in the match criteria need not be present in the event definition.
207
If you set the current session format using the following command:
configure log target session format date mm-dd-yyy timestamp seconds event-name component
In order to provide some detailed information to technical support, you set the current session format using the following command:
configure log target session format date mmm-dd timestamp hundredths event-name condition source-line on process-name on
This setting may be saved to the FLASH configuration and will be restored on boot up (to the console-display session). To turn on log display for the current session:
208
This setting only affects the current session, and is lost when you log off the session. The messages that are displayed depend on the configuration and format of the target. See the section, Filtering Events Sent to Targets, for information on message filtering, and the section, Formatting Event Messages, for information on message formatting.
209
Two counters are displayed. One counter displays the number of times an event has occurred, and the other displays the number of times that notification for the event was made to the system for further processing. Both counters reflect totals accumulated since reboot or since the counters were cleared using the clear log counters or clear counters command. This command also displays an included count (the column titled In in the output). The reference count is the number of enabled targets receiving notifications of this event without regard to matching parameters. The keywords included, notified, and occurred only display events with non-zero counter values for the corresponding counter. Output of the command:
show log counters stp.inbpdu severity debug-summary
210
Once debug mode is enabled, any filters configured for your targets will still affect which messages are passed on or blocked.
NOTE Previous versions of ExtremeWare used the debug-trace command to enable debugging. Not all systems in ExtremeWare were converted to use EMS in the initial release. As a result, some debug information still requires you to use the corresponding debug-trace command. The show log component command displays the systems in your image that are part of EMS. Any systems in EMS will not have debug-trace commands, and vice-versa
Note that the existing command enable log display applies only to the serial port console. Since the ability to display log messages on other sessions was added, the target name session was chosen. For clarity, the target name console-display was chosen to refer to the serial port console, previously referred to as simply display.
is equivalent to:
configure log target console-display severity <severity>
211
configure syslog add <hostname/IP> {: <udp-port>} [local0 ... local7] configure log target syslog <hostname/IP> {: <udp-port>} [local0 ... local7] severity <severity>
NOTE Refer to your UNIX documentation for more information about the syslog host facility.
212
Flow records are grouped together into UDP datagrams for export to a flow-collector device. A NetFlow Version 1 export datagram can contain up to 25 flow records. Figure 26 shows the format of the export datagram; Table 31 describes the export datagram header. Figure 26: Format of NetFlow export datagram
octets
16 Header
48 Flow record 1
48 Flow record 2 . . .
48 Flow record 25
EW_086
213
The IP addresses (or host names) and UDP port numbers of the available flow collectors can be configured on a per-switch basis. The flow collection architecture example in Figure 27 illustrates how multiple BlackDiamond switches might export flow records to flow-collector devices that, in turn, feed records into a central collector-server. Other flow-collector architectures are also possible. For example, each switch port configured for flow switching might export statistics to a dedicated flow-collector device. Figure 27: NetFlow Collection Architecture Example
Accounting/ billing
Profiling
Centralized collector-server
Summarized data
Flow-collector device
UDP NetFlow NetFlow
Flow-collector device
UDP NetFlow NetFlow
Black Diamond
Black Diamond
Black Diamond
Black Diamond
PoS_024
The ExtremeWare NetFlow implementation also enables a single port to distribute statistics across multiple groups of flow-collector devices. This NetFlow distribution feature enables a scalable collection architecture that is able to accommodate high volumes of exported data. The NetFlow distribution feature is enabled by configuring export distribution groups that contain the addresses of multiple flow-collector devices. The feature uses a distribution algorithm that ensures all of the records for a
214
given flow are exported to the same collector. The algorithm also ensures that the flow records of the ingress direction of a TCP or UDP connection are exported to the same collector. (For Ethernet applications, only ingress traffic is monitored on Ethernet ports.) For example, multiple filters can be assigned to a set of ports for the same group. The flow records that match the filters are then sent to one of the flow collector devices in that group. You can also establish redundancy by configuring multiple flow collector devices per group so that data is still collected as long as there is one working flow collector device in that group. To implement flow-collector devices, you can choose from commercial software products and public-domain software packages.
215
Export Criteria
For Ethernet ports, flow records are exported on an age basis. If the age of the flow is greater than a configurable time, the record is exported. An Ethernet port configured for flow switching transmits a NetFlow Export Datagram when 25 flow records are ready for export, or when at least one flow has been awaiting export for one second. An Ethernet port configured for capturing flows transmits NetFlow export datagrams when the configured time-out expires and exports the data collected by the flow filters configured on that port. As the NetFlow on Ethernet links is modeled as port-based, individual ports maintain their configured time-outs and export the flows collected by the configured flow filters on the expiry of flow export time-out.
The flow statistics feature is disabled by default. To disable the flow statistics feature on a switch, use the following command:
disable flowstats
The flow statistics function is disabled by default. To disable the flow statistics function on the specified port, use the following command:
disable flowstats ports <portlist>
216
The group# parameter is an integer in the range from 1 through 32 that identifies the specific group for which the destination is being configured. You can use the add and delete keywords to add or delete flow-collector destinations. To export NetFlow datagrams to a group, you must configure at least one flow-collector destination. By default, no flow-collector destinations are configured. To configure a flow-collector destination, use either an IP address and UDP port number pair or a hostname and UDP port number pair to identify the flow-collector device to which NetFlow export datagrams are to be transmitted. You can configure up to eight flow-collector destinations for each group. When multiple flow-collectors are configured as members of the same group, the exported NetFlow datagrams are distributed across the available destinations.
By default, flow records are exported with the VLAN interface address that has a route to the configured flow-collector device. Depending on how it is configured, a flow-collector device can use the source IP address of received NetFlow datagrams to identify the switch that sent the information. The following command example specifies that the IP address 192.168.100.1 is to be used as the source IP address for exported NetFlow datagrams.
configure flowstats source ipaddress 192.168.100.1
The time-out value is the number of minutes to use in deciding when to export flow records. The default time-out is 5 minutes. The following command example specifies a 10-minute time-out for exported NetFlow datagrams on port 1 of the Ethernet module installed in slot 8 of the BlackDiamond switch.
configure flowstats timeout 10 ports 8:1
217
where:
filter# <group#> The filter# parameter is an integer in the range from 1 to 8 that identifies the filter being defined. Specifies the group number that identifies the set of flow collector devices to which records for flows matching the filter are to be exported. If Group is not specified, then group # 1 will be used as default export group. To reduce the volume of exported data, use this optional keyword to maintain a single set of statistics for all the flows that match the specified filter. Specifies a set of five parameters (four are value/mask pairs) that define the criteria by which a flow is evaluated to determine if it should be exported. The parameters are: [{dest-ip <ipaddress_value/mask ipaddress_filtermask>} {source-ip <ipaddress_value/mask ipaddress_filtermask>} {dest-port <port_value/port_filtermask>} {source-port <port_value/port_filtermask>} {protocol <tcp/udp/ip/protocol_value/protocol_filtermask>} | match-all-flows |match-no-flows] All five specifications must be included in the order specified. The range for port/port_mask is calculated using the following formula: (minport = port, maxport = 2^(32-port_mask)-1). Conceptually, the filters work by ANDing the contents of each of the five components of a forwarded flow with the associated masks from the first defined filter (filter #1). Statistics are maintained if the results of the AND operations match the configured filter values for all fields of the sequence. If there is no match, then the operation is repeated for filter #2, and so on. If there is no match for any of the filters, then statistics are not maintained for the flow. Filters for any or all of the sequence components can be configured with a single command. match-all-flows match-no-flows egress ingress Specifies that the filter should match any flow. Specifies that the filter should discard all flow. This option is not valid for Ethernet blades. Specifies that the filter should capture only egress traffic. This option is not valid for Ethernet blades. Specifies that the filter should capture only ingress traffic.
aggregation filterspec
The following command example configures a filter to collect aggregate statistics for all traffic flowing through ports 1-8 from the 192.170.0.0/16 subnet to the 192.171.132.0/24 subnet:
configure flowstats filter 2 aggregation export 1 ports 1-8 ingress dest-ip 192.171.132.0/24 source-ip 192.170.0.0/16 dest-port 0/0 source-port 0/0 protocol ip
Likewise, the following command example configures a filter to collect aggregate statistics for all ingress traffic flowing from the 192.171.0.0/16 subnet to the 192.170.0.0/16 subnet and export the flows to group 3 for ports 6:1, 7:9, and 8:42
configure flowstats filter 2 aggregation export 3 ports 6:1,7:9,8:42 ingress dest-ip 192.170.0.0/16 source-ip 192.171.0.0/16 dest-port 0/0 source-port 0/0 protocol ip
Finally, the following command configures filter 3 to collect statistics on any flows for ports 4-32 that did not match the filters defined in the two previous commands:
configure flowstats filter 3 aggregation export 1 ports 4-32 ingress match-all-flows
218
By default, all filters are enabled after they are configured. To disable a specified flow record filter for the specified Ethernet port, use the following command:
disable flowstats filter <filter#> ports <portlist> {egress | ingress}
where:
filter# The filter# parameter is an integer in the range from 1 to 8 that identifies the filter that is being enabled or disabled.
NOTE Ethernet blades can capture ingress traffic only. The following command example enables filter #2 on port 1 of the Ethernet module installed in slot 8 of the BlackDiamond switch.
enable flowstats filter 2 ports 8:1
The following command example disables filter #2 on port 1 of the Ethernet module installed in slot 8 of the BlackDiamond switch.
disable flowstats filter 2 ports 8:1
The ping-check function is disabled by default. The group identifier is option. Not specifying a group identifier selects all groups. When the ping-check function is enabled, each of the flow collector devices is pinged periodically to check its network connectivity. If a flow collector device is repetitively unresponsive, it is temporarily removed from the export distribution list for that group. The flow collector device will be returned to the export distribution list automatically when subsequent ping checks are consistently successful. The following command example enables the ping-check function for export group 2.
enable flowstats ping-check 2
To disable the flow statistics ping-check function for a specified group of collector devices, use the following command:
disable flowstats ping-check {<group#> | all}
The following command example disables the ping-check function for export group 2.
disable flowstats ping-check 2
219
NOTE This command does not affect the enabled or disabled status of flow statistics collection, nor does it affect the configured export destinations. The following command example resets the flow statistics configuration parameters for port 1 of the module installed in slot 8 of the BlackDiamond switch to their default values.
unconfigure flowstats ports 8:1
where:
detail group# portlist Use this optional keyword to display detailed NetFlow configuration information. Use this optional parameter with the group keyword to display status information for a specific export group. Use this optional parameter to specify one or more ports or slots and ports for which status information is to be displayed.
If you enter the show flowstats command with none of the optional keywords or parameters, the command displays a summary of status information for all ports. The summary status display for a port shows the values for all flow statistics configuration parameters for the port. The summary status display for an export group includes the following information: Values for all configuration parameters Status of each export destination device An example of show flowstats output is shown below:
# show flowstats Flowstats enabled Port Filter proto timeout group OverflowPkts flags -------------------------------------------------------------------------1:1 1 5 1 N/A EIA Dest/Src Info: match-all-flows Flags: E - Enable, D - Disable; I - Ingress, S - Egress; A - Aggregation
The detailed status display for an export group includes the summary information, plus the following management information:
220
RMON
Counts of the number of times each flow collector destination has been taken out of service due to health-check (ping check) failures The source IP address configuration information
RMON
Using the Remote Monitoring (RMON) capabilities of the switch allows network administrators to improve system efficiency and reduce the load on the network. The following sections explain more about the RMON concept and the RMON features supported by the switch.
NOTE You can only use the RMON features of the system if you have an RMON management application, and have enabled RMON on the switch.
About RMON
RMON is the common abbreviation for the Remote Monitoring Management Information Base (MIB) system defined by the Internet Engineering Task Force (IETF) documents RFC 1271 and RFC 1757, which allows you to monitor LANs remotely. A typical RMON setup consists of the following two components: RMON probeAn intelligent, remotely controlled device or software agent that continually collects statistics about a LAN segment or VLAN. The probe transfers the information to a management workstation on request, or when a predefined threshold is crossed. Management workstationCommunicates with the RMON probe and collects the statistics from it. The workstation does not have to be on the same network as the probe, and can manage the probe by in-band or out-of-band connections.
Statistics
The RMON Ethernet Statistics group provides traffic and error statistics showing packets, bytes, broadcasts, multicasts, and errors on a LAN segment or VLAN.
221
Information from the Statistics group is used to detect changes in traffic and error patterns in critical areas of the network.
History
The History group provides historical views of network performance by taking periodic samples of the counters supplied by the Statistics group. The group features user-defined sample intervals and bucket counters for complete customization of trend analysis. The group is useful for analysis of traffic patterns and trends on a LAN segment or VLAN, and to establish baseline information indicating normal operating parameters.
Alarms
The Alarms group provides a versatile, general mechanism for setting threshold and sampling intervals to generate events on any RMON variable. Both rising and falling thresholds are supported, and thresholds can be on the absolute value of a variable or its delta value. In addition, alarm thresholds can be autocalibrated or set manually. Alarms inform you of a network performance problem and can trigger automated action responses through the Events group.
Events
The Events group creates entries in an event log and/or sends SNMP traps to the management workstation. An event is triggered by an RMON alarm. The action taken can be configured to ignore it, to log the event, to send an SNMP trap to the receivers listed in the trap receiver table, or to both log and send a trap. The RMON traps are defined in RFC 1757 for rising and falling thresholds. Effective use of the Events group saves you time. Rather than having to watch real-time graphs for important occurrences, you can depend on the Event group for notification. Through the SNMP traps, events can trigger other actions, which provides a mechanism for an automated response to certain occurrences.
Configuring RMON
RMON requires one probe per LAN segment, and standalone RMON probes traditionally have been expensive. Therefore, Extremes approach has been to build an inexpensive RMON probe into the agent of each system. This allows RMON to be widely deployed around the network without costing more than traditional network management. The switch accurately maintains RMON statistics at the maximum line rate of all of its ports. For example, statistics can be related to individual ports. Also, because a probe must be able to see all traffic, a stand-alone probe must be attached to a nonsecure port. Implementing RMON in the switch means that all ports can have security features enabled. To enable or disable the collection of RMON statistics on the switch, use the following command:
[enable | disable] rmon
By default, RMON is disabled. However, even in the disabled state, the switch responds to RMON queries and sets for alarms and events. By enabling RMON, the switch begins the processes necessary for collecting switch statistics.
222
RMON
Event Actions
The actions that you can define for each alarm are shown in Table 32. Table 32: Event Actions
Action No action Notify only Notify and log Send trap to all trap receivers. Send trap; place entry in RMON log. High Threshold
To be notified of events using SNMP traps, you must configure one or more trap receivers, as described in Chapter 3.
223
224
11 Security
This chapter describes the following topics: Security Overview on page 225 Network Access Security on page 225 MAC-Based VLANs on page 226 IP Access Lists (ACLs) on page 226 MAC Address Security on page 233 Network Login on page 236 Switch Protection on page 245 Routing Access Profiles on page 245 Route Maps on page 255 Denial of Service Protection on page 260 Management Access Security on page 263 Authenticating Users Using RADIUS or TACACS+ on page 263 Secure Shell 2 (SSH2) on page 270
Security Overview
Extreme Networks products incorporate a number of features designed to enhance the security of your network. No one feature can insure security, but by using a number of features in concert, you can substantially improve the security of your network. The features described in this chapter are part of an overall approach to network security
225
Security
MAC-Based VLANs
MAC-Based VLANs allow physical ports to be mapped to a VLAN based on the source MAC address learned in the FDB. This feature allows you to designate a set of ports that have their VLAN membership dynamically determined by the MAC address of the end station that plugs into the physical port. You can configure the source MAC address-to-VLAN mapping either offline or dynamically on the switch. For example, you could use this application for a roaming user who wants to connect to a network from a conference room. In each room, the user plugs into one of the designated ports on the switch and is mapped to the appropriate VLAN. Connectivity is maintained to the network with all of the benefits of the configured VLAN in terms of QoS, routing, and protocol support. Detailed information about configuring and using MAC-based VLANs can be found in Chapter 5.
226
Precedence Numbers
The precedence number is optional, and determines the order in which each rule is examined by the switch. Access list entries that contain a precedence number are evaluated from highest to lowest. Precedence numbers range from 1 to 25,600, with the number 1 having the highest precedence. You can specify overlapping rules; however, if you are using precedence numbers, overlapping rules without precedence numbers are ignored. Therefore, the precedence numbers must be specified among all overlapping rules. If a new rule without a precedence number is entered, and this rule overlaps with already existing rules, the switch rejects the new rule and resolves the precedences among all remaining overlapping rules.
IP Access Rules
There are a number of different types of IP access rules and different limits apply to each type. This section describes the different types of IP access rules, what each rule is capable of supporting, and any limitations associated with each type of rule. The switch allows a maximum total of 5,120 rules to be stored in non-volatile configuration storage. This maximum is a sum of IP and ICMP access rule entries.
227
Security
limited by the number of Netflow record filters configured. For example, if 128 filters are created, the numbers of ACLs allowed decreases by 128.
Once the default behavior of the access list is established, you can create additional entries using precedence numbers. The following access-list example performs packet filtering in the following sequence, as determined by the precedence number: Deny UDP port 32 and TCP port 23 traffic to the 10.2.XX network. All other TCP port 23 traffic destined for other 10.X.X.X networks is permitted using QoS profile Qp4. All remaining traffic to 10.2.0.0 uses QoS profile Qp3. With no default rule specified, all remaining traffic is allowed using the default QoS profile.
create access-list deny102_32 udp dest 10.2.0.0/16 ip-port 32 source any ip-port any deny ports any precedence 10 create access-list deny102_23 tcp dest 10.2.0.0/16 ip-port 23 source any ip-port any deny ports any precedence 20 create access-list allow10_23 tcp dest 10.0.0.0/8 ip-port 23 source any ip-port any permit qosprofile qp4 ports any precedence 30 create access-list allow102 ip dest 10.2.0.0/16 source 0.0.0.0/0 permit qosprofile qp3 ports any precedence 40
NOTE For an example of using the permit-established keyword, see Using the Permit-Established Keyword on page 230.
228
Maximum Entries
A maximum of 255 entries with an assigned precedence can be used. In addition to the 255 entries, entries that do not use precedence can also be created, with the following restrictions: A source IP address must use wildcards or a completely specified mask. The layer 4 source and destination ports must use wildcards or be completely specified (no ranges). No physical source port can be specified. Access list rules that apply to all physical ports are implemented on all BlackDiamond I/O modules. On a BlackDiamond switch, the maximum number of access list entries is 255 entries per I/O module. One way to economize on the number of entries on a BlackDiamond switch is to provide a physical ingress port as a component of an access list rule. In this case, the rule is implemented only on the I/O modules that contain the specified ports. By restricting rules to specific I/O modules, you can extend the number of access list rules to 5120 (NVRAM limit). On BlackDiamond switches, there is a resource on each i series I/O module so that the total maximum number of ACL entries can be up to 4080 (255*16). Each ACL must specify an ingress physical port specific to a single I/O module to avoid using those resources on any other module. On Alpine switches, a maximum of 255 ACL entries are supported.
To initiate and refresh a running display of access list statistics, use the following command:
show access-list-monitor
229
Security
10.10.10.1 10.10.10.100
10.10.20.1 10.10.20.100
NET10 VLAN
NET20 VLAN
EW_033
The following sections describe the steps used to configure the example. Step 1 Deny IP Traffic. First, create an access-list that blocks all IP-related traffic. This includes any TCP- and UDP-based traffic. Although ICMP is used in conjunction with IP, it is technically not an IP data packet. Thus, ICMP data traffic, such as ping traffic, is not affected. The following command creates the access list:
create access-list denyall ip destination any source any deny ports any
230
Figure 29: Access list denies all TCP and UDP traffic
10.10.10.1 10.10.10.100
10.10.20.1 10.10.20.100
NET10 VLAN
NET20 VLAN
Step 2 Allow TCP traffic. The next set of access list commands permits TCP-based traffic to flow. Because each session is bi-directional, an access list must be defined for each direction of the traffic flow. UDP traffic is still blocked. The following commands create the access list:
create access-list tcp1 tcp destination 10.10.20.100/32 ip any source 10.10.10.100/32 ip any permit qp1 ports any precedence 20 create access-list tcp2 tcp destination 10.10.10.100/32 ip any source 10.10.20.100/32 ip any permit qp1 ports any precedence 21
Figure 30 illustrates the outcome of this access list. Figure 30: Access list allows TCP traffic
Step 3 - Permit-Established Access List. When a TCP session begins, there is a three-way handshake that includes a sequence of a SYN, SYN/ACK, and ACK packets. Figure 31 shows an illustration of the handshake that occurs when host A initiates a TCP session to host B. After this sequence, actual data can be passed.
231
Security
An access list that uses the permit-established keyword filters the SYN packet in one direction. Use the permit-established keyword to allow only host A to be able to establish a TCP session to host B and to prevent any TCP sessions from being initiated by host B, as illustrated in Figure 31. The syntax for this access list is as follows:
create access-list <name> tcp destination HostA ip-port 23 source HostB ip-port any permit-established ports any pre 8
NOTE This step may not be intuitive. Pay attention to the destination and source address, and the desired affect. The exact command line entry for this example is as follows:
create access-list telnet-allow tcp destination 10.10.10.100/32 ip-port 23 source any ip-port any permit-established ports any pre 8
NOTE This rule has a higher precedence than the rule tcp2. Figure 32 shows the final outcome of this access list. Figure 32: Permit-established access list filters out SYN packet to destination
232
The output for this access list is shown in Figure 33. Figure 33: ICMP packets are filtered out
10.10.10.1 10.10.10.100
10.10.20.1 10.10.20.100
NET10 VLAN
NET20 VLAN
ICMP
EW_038
NOTE You can either limit dynamic MAC FDB entries, or lock down the current MAC FDB entries, but not both. You can also prioritize or stop packet flows based on the source MAC address of the ingress VLAN or the destination MAC address of the egress VLAN.
233
Security
To limit the number of dynamic MAC addresses that can participate in the network, use the following command:
configure ports [<portlist> vlan <vlan name> | all] limit-learning <number>
This command specifies the number of dynamically-learned MAC entries allowed for these ports in this VLAN. The range is 0 to 500,000 addresses. When the learned limit is reached, all new source MAC addresses are blackholed at the ingress and egress points. This prevent these MAC addresses from learning and responding to Internet control message protocol (ICMP) and address resolution protocol (ARP) packets. Dynamically learned entries still get aged and can be cleared. If entries are cleared or aged out after the learning limit has been reached, new entries will then be able to be learned until the limit is reached again. Permanent static and permanent dynamic entries can still be added and deleted using the create fdbentry and delete fdbentry commands. These override any dynamically learned entries. For ports that have a learning limit in place, the following traffic will still flow to the port: Packets destined for permanent MAC addresses and other non-blackholed MAC addresses Broadcast traffic EDP traffic Traffic from the permanent MAC and any other non-blackholed MAC addresses will still flow from the virtual port. To remove the learning limit, use the following command:
configure ports [<portlist> vlan <vlan name> | all] unlimited-learning
This command displays the MAC security information for the specified VLAN.
show ports <portlist> info detail
This command displays detailed information, including MAC security information, for the specified port.
The information generated should help detect unauthorized devices that attempt to access the network. Enabling the trap also enables the syslog; there is no separate command for that. The command is a global command; there is no per port or per VLAN control. To disable the generation of MAC address limit SNMP traps and syslog messages, use the following command:
234
For more information about configuring SNMP and the MAC limit SNMP trap, see Using SNMP on page 61, in Chapter 3, Managing the Switch.
ESRP vlan S1
10.1.2.1
20.1.1.1
S2 S4
10.1.2.2
20.1.2.2 192.10.1.1
10.1.2.100
S3
10.1.2.1 30.1.1.1
30.1.1.2
192.10.1.100
EW_081
In Figure 34, S2 and S3 are ESRP-enabled switches, while S1 is an ESRP-aware (regular layer 2) switch. Configuring a MAC address limit on all S1 ports might prevent ESRP communication between S2 and S3. To resolve this, you should add a back-to-back link between S2 and S3. This link is not needed if MAC address limiting is configured only on S2 and S3, but not on S1.
This command causes all dynamic FDB entries associated with the specified VLAN and ports to be converted to locked static entries. It also sets the learning limit to zero, so that no new entries can be learned. All new source MAC addresses are blackholed. Locked entries do not get aged, but can be deleted like a regular permanent entry. For ports that have lock-down in effect, the following traffic will still flow to the port: Packets destined for the permanent MAC and other non-blackholed MAC addresses
235
Security
Broadcast traffic EDP traffic Traffic from the permanent MAC will still flow from the virtual port. To remove MAC address lock down, use the following command:
configure ports [<portlist> vlan <vlan name> | all] unlock-learning
When you remove the lock down using the unlock-learning option, the learning-limit is reset to unlimited, and all associated entries in the FDB are flushed.
Network Login
Network Login is a feature designed to control the admission of user packets into a network by giving addresses only to users that have been properly authenticated. Network Login is controlled by an administrator on a per port, per VLAN basis. When Network Login is enabled on a port in a VLAN, that port will not forward any packets until authentication takes place. Once Network Login has been enabled on a switch port, that port is placed in a non-forwarding state until authentication takes place. To authenticate, a user (supplicant) must open a web browser and provide the appropriate credentials. These credentials are either approved, in which case the port is placed in forwarding mode, or not approved, and the port remains blocked. Three failed login attempts will disable the port for some configured length of time. The user logout can either initiated by FDB aging or by submitting a logout request. There are two choices for types of authentication to use with Network Login, web-based and 802.1x, and there are two different modes of operation, Campus mode and ISP mode. The authentication types and modes of operation can be used in any combination. The following sections describe these choices.
236
Network Login
DHCP is needed for web-based network login because the underlying protocol used to carry authentication request-response is HTTP. The client needs an IP address to send and receive HTTP packets. However, before the client is authenticated, there is no connection to anywhere else except the authenticator itself. As a result, the authenticator must be furnished with a temporary DHCP server to distribute IP address. The DHCP allocation for Network Login has short time duration of 20 seconds. It is intended to perform web-based network login only. As soon as the client is authenticated, it is deprived of this address. Then it has to go to some other DHCP server in the network to obtain a permanent address, as is normally done. DHCP is not required for 802.1x, since 802.1x use only layer-2 frames (EAPOL). URL redirection (applicable to web-based mode only) is a mechanism to redirect any HTTP request to the base URL of the authenticator when the port is in unauthenticated mode. In other words when user is trying to login to the network using the browser, it will be first redirected to the Network Login page. Only after a successful login will the user be connected to the network.
237
Security
Simpler administration based on username and password Cons of web-based authentication: Login process involves juggling with IP addresses and has to be done a outside the scope of a regular computer login, therefore it is not tied to Windows login. One has to specifically bring up a login page and initiate a login. Supplicants cannot be re-authenticated transparently. Can not be re-authenticated from the authenticator side. Does not support more secure methods of authentication
Authentication Methods
The authentication methods supported are a matter between the supplicant and the authentication server. The most commonly used methods are MD5-Challenge, Transport Layer Security (TLS) which uses Public Key Infrastructure (PKI), and strong mutual authentication and Tunneled TLS (TTLS) which is a Funk/Certicom proposal. So far, TLS represents the most secure protocol among all those mentioned. TTLS is advertised to be as strong as TLS. Both TLS and TTLS are certificate-based, which requires setting up a PKI that can issue, renew, and revoke certificates. TTLS is preferred from the ease of deployment point of view as it requires only server certificates and client can use MD5 mode of username/password authentication. You will need to refer to the documentation for your particular Radius server, and 802.1x client, if using 802.1x authentication, for information on setting up a PKI configuration.
User Accounts
You can create two types of user accounts for authenticating Network Login users: netlogin-only enabled and netlogin-only disabled. A netlogin-only disabled user can log in using Network Login and can also access the switch using Telnet, SSH, or HTTP. A netlogin-only enabled user can only log in using Network Login and cannot access the switch using the same login. Add the following line to the RADIUS server dictionary file for netlogin-only disabled users:
Extreme:Extreme-Netlogin-Only = Disabled
Add the following line to the RADIUS server dictionary file for netlogin-only enabled users:
238
Network Login
Extreme:Extreme-Netlogin-Only = Enabled
Interoperability Requirements
For Network Login to operate, the user (supplicant) software and the authentication server must support common authentication methods. Not all combinations will provide the appropriate functionality.
Supplicant side
On the client side, currently, the only platform that natively supports 802.1x is Windows XP, which performs MD5 and TLS. Other 802.1x clients are available that support other operating systems and support mixes of authentication methods. A Windows XP 802.1x supplicant can be authenticated as a computer or as a user. Computer authentication requires a certificate installed in the computer certificate store, and user authentication requires a certificate installed in the individual users certificate store. By default, the XP machine performs computer authentication as soon as the computer is powered on, or at link-up when no user is logged into the machine. User authentication is performed at link-up when the user is logged in. The XP machine can be configured to perform computer authentication at link-up even if user is logged in. Again, any client with a web browser can interoperate using web-based authentication.
239
Security
The choice of web-based versus 802.1x authentication is again on a per-MAC basis. Among multiple clients on the same port, it is possible that some clients use web-based mode to authenticate, and some others use 802.1x. There are certain restrictions for multiple supplicant support: Web-based mode will not support Campus mode for multiple supplicant because once the first MAC gets authenticated, the port is moved to a different VLAN and therefore other unauthenticated clients (which are still in the original VLAN), cant have a layer 3 message transactions with the authentication server. Once the first MAC gets authenticated, the port is transitioned to the authenticated state and other unauthenticated MACs can listen to all data destined to first MAC. This could raise some security concerns as unauthenticated MACs can listen to all broadcast and multicast traffic directed to a Network Login-authenticated port.
240
Network Login
ISP Mode: Network Login clients connected to ports 1:10 - 1:14, VLAN corp, will be logged into the network in ISP mode. This is controlled by the fact that the VLAN in which they reside in unauthenticated mode and the RADIUS server Vendor Specific Attributes (VSA), Extreme-Netlogin-Vlan, are the same, corp. So there will be no port movement. Also if this VSA is missing from RADIUS server, it is assumed to be ISP Mode. Campus Mode: On the other hand, clients connected to ports 4:1 - 4:4, VLAN temp, will be logged into the network in Campus mode, since the port will move to the VLAN corp after getting authenticated. A port moves back and forth from one VLAN to the other as its authentication state changes. Both ISP and Campus mode are not tied to ports but to a user profile. In other words if the VSA
Extreme:Extreme-Netlogin-Vlan represents a VLAN different from the one in which user currently
resides, then VLAN movement will occur after login and after logout. In following example, it is assumed that campus users are connected to ports 4:1-4:4, while ISP users are logged in through ports 1:10-1:14.
NOTE In the following sample configuration, any lines marked (Default) represent default settings and do not need to be explicitly configured.
create vlan "temp" create vlan "corp" # Configuration information for VLAN temp. # No VLAN-ID is associated with VLAN temp. configure vlan "temp" protocol "ANY" (Default) configure vlan "temp" qosprofile "QP1" (Default) configure vlan temp qosprofile ingress IQP1 (Default) configure vlan "temp" ipaddress 198.162.32.10 255.255.255.0 configure vlan "temp" add port 4:1 untagged configure vlan "temp" add port 4:2 untagged configure vlan "temp" add port 4:3 untagged configure vlan "temp" add port 4:4 untagged # Configuration information for VLAN corp. # No VLAN-ID is associated with VLAN corp. configure vlan "corp" protocol "ANY" (Default) configure vlan "corp" qosprofile "QP1" (Default) configure vlan corp qosprofile ingress IQP1 (Default) configure vlan "corp" ipaddress 10.203.0.224 255.255.255.0 configure vlan "corp" add port 1:10 untagged configure vlan "corp" add port 1:11 untagged configure vlan "corp" add port 1:12 untagged configure vlan "corp" add port 1:13 untagged configure vlan "corp" add port 1:14 untagged # Network Login Configuration configure vlan temp dhcp-address-range 198.162.32.20 - 198.162.32.80 configure vlan temp dhcp-options default-gateway 198.162.32.1 configure vlan temp dhcp-options dns-server 10.0.1.1 configure vlan temp dhcp-options wins-server 10.0.1.85 enable netlogin port 1:10 vlan corp enable netlogin port 1:11 vlan corp
241
Security
enable netlogin port 1:12 vlan corp enable netlogin port 1:13 vlan corp enable netlogin port 1:14 vlan corp enable netlogin port 4:1 vlan temp enable netlogin port 4:2 vlan temp enable netlogin port 4:3 vlan temp enable netlogin port 4:4 vlan temp config netlogin base-url "network-access.net" (Default) config netlogin redirect-page http://www.extremenetworks.com (Default) enable netlogin logout-privilege (Default) disable netlogin Session-Refresh 3 (Default) # DNS Client Configuration configure dns-client add name-server 10.0.1.1 configure dns-client add name-server 10.0.1.85
NOTE The idea of explicit release/renew is required to bring the network login client machine in the same subnet as the connected VLAN. In Campus Mode using web-based authentication, this requirement is mandatory after every logout and before login again as the port moves back and forth between the
242
Network Login
temporary and permanent VLANs. On other hand in ISP Mode, release/renew of IP address is not required, as the network login client machine stays in the same subnet as the network login VLAN. In ISP mode, when the network login client connects for the first time, it has to make sure that the machine IP address is in the same subnet as the VLAN to which it is connected. 5 Bring up the browser and enter any URL as http://www.123.net or http://1.2.3.4 or switch IP address as http://<IP address>/login (where IP address could be either temporary or Permanent VLAN Interface for Campus Mode). URL redirection redirects any URL and IP address to the network login page This is significant where security matters most, as no knowledge of VLAN interfaces is required to be provided to network login users, as they can login using a URL or IP address. A page opens with a link for Network Login. 6 Click the Network Login link. A dialog box opens requesting a username and password. 7 Enter the username and password configured on the RADIUS server. After the user has successfully logged in, the user will be redirected to the URL configured on the RADIUS server. During the user login process, the following takes place: Authentication is done through the RADIUS server. After successful authentication, the connection information configured on the RADIUS server is returned to the switch: the permanent VLAN the URL to be redirected to (optional) the URL description (optional) The port is moved to the permanent VLAN. You can verify this using the show vlan command. For more information on the show vlan command, see Displaying VLAN Settings on page 108. After a successful login has been achieved, there are several ways that a port can return to a non-authenticated, non-forwarding state: The user successfully logs out using the logout web browser window. The link from the user to the switchs port is lost. There is no activity on the port for 20 minutes. An administrator changes the port state. NOTE Because network login is sensitive to state changes during the authentication process, Extreme Networks recommends that you do not log out until the login process is complete. The login process is complete when you receive a permanent address.
243
Security
DHCP is enabled on a per port, per VLAN basis. To enable or disable DHCP on a port in a VLAN, use one of the following commands:
enable dhcp ports <portlist> vlan <vlan name> disable dhcp ports <portlist> vlan <vlan name> configure vlan <vlan name> netlogin-lease-timer <seconds>
Where <url> is the DNS name of the switch. For example, configure netlogin base-url network-access.net makes the switch send DNS responses back to the netlogin clients when a DNS query is made for network-access.net. To configure the network login redirect page, use the following command:
configure netlogin redirect-page <url>
Where <url> defines the redirection information for the users once logged in. This redirection information is used only in case the redirection info is missing from RADIUS server. For example, configure netlogin base-url http://www.extremenetworks.com redirects all users to this URL after they get logged in. To enable or disable the network login session refresh, use the following command:
[enable | disable] netlogin session-refresh {<minutes>}
244
Switch Protection
Where <minutes> ranges from 1 - 255. The default setting is 3 minutes. Enable netlogin session-refresh makes the logout window refresh itself at every configured time interval. Session -refresh is disabled by default. When you configure the Network Login session refresh for the logout window on a BlackDiamond, ensure that the FDB aging timer is greater than the Network Login session refresh timer. To enable or disable network login logout privilege, use the following command:
[enable | disable] netlogin logout-privilege
This command turns the privilege for netlogin users to logout by popping up (or not popping up) the logout window. Logout-privilege is enabled by default. To enable or disable network login, use the following command:
[enable | disable] netlogin [web-based | dot1x]
By default netlogin is enabled. To show all network login parameters, use the following command:
show netlogin
Switch Protection
Switch protection features enhance the robustness of switch performance. In this category are the following features: Routing Access Profiles Route Maps Denial of Service Protection
245
Security
Autonomous system path expressions (as-paths) (BGP only) BGP communities (BGP only) VLAN 4 Apply the access profile.
246
configure access-profile <access_profile> add {<seq_number>} {permit | deny} [ipaddress <ipaddress> <mask> {exact} | ipx-node <net_id> <ipx_netid_mask> <ipx_nodeid> ipx-net <ipx_netid> <ipx_netid_mask> | ipx-sap <ipx_sap_type> <ipx_name>| as-path <path-expression> | bgp-community [internet | no-export | no-advertise | no-export-subconfed | <as_no:number> | number <community>]]
Sequence Numbering
You can specify the sequence number for each access profile entry. If you do not specify a sequence number, entries are sequenced in the order they are added. Each entry is assigned a value of 5 more than the sequence number of the last entry.
247
Security
This command configures the access profile to permit AS paths that contain only (begin and end with) AS number 65535.
configure access-profile AS1 add 10 permit as-path ^65535 14490$
This command configures the access profile to permit AS paths beginning with AS number 65535, ending with AS number 14490, and containing no other AS paths.
configure access-profile AS1 add 15 permit as-path ^1 2-8 [11 13 15]$
This command configures the access profile to permit AS paths beginning with AS number 1, followed by any AS number from 2 - 8, and ending with either AS number 11, 13, or 15.
configure access-profile AS1 add 20 deny as-path 111 [2-8]
This command configures the access profile to deny AS paths beginning with AS number 111 and ending with any AS number from 2 - 8.
configure access-profile AS1 add 25 permit as-path 111 .?
This command configures the access profile to permit AS paths beginning with AS number 111 and ending with any additional AS number, or beginning and ending with AS number 111.
248
Import FilterUse an access profile to determine which RIP routes are accepted as valid routes. This policy can be combined with the trusted neighbor policy to accept selected routes only from a set of trusted neighbors. To configure an import filter policy, use the following command:
configure rip vlan [<vlan name> | all] import-filter [<access_profile> | none]
Export FilterUse an access profile to determine which RIP routes are advertised into a particular VLAN, using the following command:
configure rip vlan [<vlan name> | all] export-filter [<access_profile> | none]
Examples
In the example shown in Figure 35, a switch is configured with two VLANs, Engsvrs and Backbone. The RIP protocol is used to communicate with other routers on the network. The administrator wants to allow all internal access to the VLANs on the switch, but no access to the router that connects to the Internet. The remote router that connects to the Internet has a local interface connected to the corporate backbone. The IP address of the local interface connected to the corporate backbone is 10.0.0.10/24.
249
Security
Internet
Internet
10.0.0.10 / 24
Backbone (RIP)
10.0.0.12 / 24
Engsvrs
10.1.1.1 / 24
Sales
10.2.1.1 / 24
Engsvrs
Sales
EW_001
Assuming the backbone VLAN interconnects all the routers in the company (and, therefore, the Internet router does not have the best routes for other local subnets), the commands to build the access policy for the switch would be:
create access-profile nointernet ipaddress configure access-profile nointernet mode deny configure access-profile nointernet add 10.0.0.10/32 configure rip vlan backbone trusted-gateway nointernet
In addition, if the administrator wants to restrict any user belonging to the VLAN Engsvrs from reaching the VLAN Sales (IP address 10.2.1.0/24), the additional access policy commands to build the access policy would be:
create access-profile nosales ipaddress configure access-profile nosales mode deny configure access-profile nosales add 10.2.1.0/24 configure rip vlan backbone import-filter nosales
This configuration results in the switch having no route back to the VLAN Sales.
250
Export FilterUse an access profile to determine which IPX/RIP and IPX/SAP routes are advertised into a particular VLAN, using the following command:
configure ipxrip vlan [<vlan name> | all] export-filter [<access_profile> | none] configure ipxsap vlan [<vlan name> | all] export-filter [<access_profile> | none]
External FilterFor switches configured to support multiple OSPF areas (an ABR function), an access profile can be applied to an OSPF area that filters a set of OSPF external routes from being advertised into that area. To configure an external filter policy, use the following command:
configure ospf area <area identifier> external-filter [<access_profile> | none]
NOTE If any of the external routes specified in the filter have already been advertised, those routes will remain until the associated LSAs in that area time-out. ASBR FilterFor switches configured to support RIP and static route re-distribution into OSPF, an access profile can be used to limit the routes that are advertised into OSPF for the switch as a whole. To configure an ASBR filter policy, use the following command:
configure ospf asbr-filter [<access_profile> | none]
Direct FilterFor switches configured to support direct route re-distribution into OSPF, an access profile can be used to limit the routes that are advertised into OSPF for the switch as a whole. To configure a direct filter policy, use the following command:
configure ospf direct-filter [<access_profile> | none]
251
Security
Example
Figure 36 illustrates an OSPF network that is similar to the network used previously in the RIP example. In this example, access to the Internet is accomplished by using the ASBR function on the switch labeled Internet. As a result, all routes to the Internet will be done through external routes. Suppose the network administrator wishes to only allow access to certain internet addresses falling within the range 192.1.1.0/24 to the internal backbone. Figure 36: OSPF access policy example
Internet
Internet
10.0.0.10 / 24
10.0.0.11 / 24
10.0.0.12 / 24
Engsvrs
10.1.1.1 / 24
Sales
10.2.1.1 / 24
252
Import FilterUse an access profile to determine which DVMRP routes are accepted as valid routes. To configure an import filter policy, use the following command:
configure dvmrp vlan [<vlan name> | all] import-filter [<access_profile> | none]
Export FilterUse an access profile to determine which DVMRP routes are advertised into a particular VLAN, using the following command:
configure dvmrp vlan [<vlan name> | all] export-filter [<access_profile> | none]
Example
In this example, the network used in the previous RIP example is configured to run DVMRP. The network administrator wants to disallow Internet access for multicast traffic to users on the VLAN Engsvrs. This is accomplished by preventing the learning of routes that originate from the switch labeled Internet by way of DVMRP on the switch labeled Engsvrs. To configure the switch labeled Engsvrs, use the following commands:
create access-profile nointernet ipaddress configure access-profile nointernet mode deny configure access-profile nointernet add 10.0.0.10/32 configure dvmrp vlan backbone trusted-gateway nointernet
In addition, suppose the administrator wants to preclude users on the VLAN Engsvrs from seeing any multicast streams that are generated by the VLAN Sales across the backbone. The additional configuration of the switch labeled Engsvrs is as follows:
create access-profile nosales ipaddress configure access-profile nosales mode deny configure access-profile nosales add 10.2.1.0/24 configure dvmrp vlan backbone import-filter nosales
Example
Using PIM, the unicast access profiles can be used to restrict multicast traffic. In this example, a network similar to the example used in the previous RIP example is also running PIM. The network administrator wants to disallow Internet access for multicast traffic to users on the VLAN Engsvrs. This is accomplished by preventing the learning of routes that originate from the switch labeled Internet by way of PIM on the switch labeled Engsvrs.
253
Security
The NLRI filter access policy can be applied to the ingress or egress updates, using the in and out keywords, respectively. Autonomous system path filterUse an access profile to determine which NLRI information must be exchanged with a neighbor based on the AS path information present in the path attributes of the NLRI. To configure an autonomous system path filter policy, use the following command:
configure bgp neighbor [<ipaddress> | all] as-path-filter [in | out] [<access_profile> | none]
The autonomous system path filter can be applied to the ingress or egress updates, using the in and out keywords, respectively.
NOTE Changes to profiles applied to OSPF typically require rebooting the switch, or disabling and re-enabling OSPF on the switch.
254
Route Maps
Route Maps
Route maps are used to modify or filter routes. They are also used to modify or filter routing information.
where the following is true: The sequence number uniquely identifies the entry, and determines the position of the entry in the route map. Route maps are evaluated sequentially. The permit keyword permits the route; the deny keyword denies the route and is applied only if the entry is successful. The match-one keyword is a logical or. The route map is successful as long as at least one of the matching statements is true.
255
Security
The match-all keyword is a logical and. The route map is successful when all match statements are true. This is the default setting.
where the following is true: The route-map is the name of the route map. The sequence number identifies the entry in the route map to which this statement is being added. The match, set, and goto keywords specify the operations to be performed. Within a entry, the statements are sequenced in the order of their operation. The match statements are first, followed by set, and then goto. The nlri-list, as-path, community, next-hop, med, origin, and weight keywords specify the type of values that must be applied using the specified operation against the corresponding attributes as described in Table 34 and Table 35. The accounting-index keyword specifies the bin number assigned to a specific route map as discussed in Table 36. Table 34: Match Operation Keywords
Keyword nlri-list <access_profile> as-path [<access_profile> | <as-no>] Description Matches the NLRI against the specified access profile. Matches the AS path in the path attributes against the specified access profile or AS number.
community [access-profile Matches the communities in the path attribute against the specified BGP <access-profile> | <as no>: <number> community access profile or the community number. | number <community> | no-advertise | no-export | no-export-subconfed] next-hop <ipaddress> Matches the next hop in the path attribute against the specified IP address.
256
community [[access-profile Adds the specified community to the existing community in the path <access-profile> | <as no>: <number> attribute. | number <community> | no-advertise | no-export | no-export-subconfed] | remove | [add | delete] [access-profile <access-profile> | <as no>: <number> | number <community> | no-advertise | no-export | no-export-subconfed]] next-hop <ipaddress> med [internal | <number> | remove | [add | delete] <number>] Sets the next hop in the path attribute to the specified IP address. Modifies the MED in the path attribute as specified: internalWhen used in the BGP neighbor output route map, the MED attribute is set to a value equal to the metric to reach the nexthop. <number>Sets the MED attribute to the specified value. removeRemoves the MED attribute, if present. [add | delete] <number>Adds or deletes the specified value to or from the MED that is received. The final result is bound by 0 and 2147483647.
local-preference <number> weight <number> origin [igp | egp | incomplete] tag <number> cost <number> cost-type <number> accounting index [ase-type-1 | ase-type-2]
Sets the local preference in the path attribute to the specified local preference number. Sets the weight associated with the NLRI to the specified number. Sets the origin in the path attributes to the specified origin. Sets the tag in the route to the specified number. Sets the cost of the route to the specified number Sets the type of the cost associated with the route. Sets the specified accounting index to the specified number.
257
Security
10.0.0.2
RTB AS 2222
EW_048
The following points apply to this example: RTA is a member of in AS 1111 and peers with a router in the Internet to receive the entire Internet routing table. RTB is a member of AS 2222, and has an EBGP connection with RTA through which it receives the Internet routing table. AS 1111 is acting as a transit AS for all traffic between AS 2222 and the Internet. If the administrator of AS 1111 wants to filter out route information about network 221.1.1.0/24 and its subnets from being passed on to AS 2222, the administrator can configure a route-map on the egress side of RTAs EBGP connection with RTB and filter out the routes.
258
If you wish to modify the routing information originated from AS 300 to include a MED value of 200, the sequence of commands would be:
create access-profile aslist type as-path configure aslist add as-path "^300" configure bgp-out add 15 permit configure bgp-out 15 add match as-path access-profile aslist configure bgp-out 15 add set med 200 configure bgp neighbor 10.0.0.2 soft-reset out
259
Security
The default values for the parameters are as follows: alert-threshold4000 packets per second notice-threshold4000 packets per second timeout15 seconds messageson (messages are sent to syslog) filter-precedence10 filter-type-alloweddestination If you wish to set all the parameters back to their default values, use the following command:
unconfigure cpu-dos-protect
260
NOTE If you set the filter-precedence to 0, the ACLs created by DoS protection will be overwritten by the default VLAN QoS profile.
Once enabled, denial of service protection creates an access list for packets when the receive packet on a port is greater than the alert level. For example, if cpu-dos-protect is enabled on a Summit7i switch and the threshold alert level is set to 3000 packets per second, an access list is created if one of the ports on the switch receives 3000 or more packets per second. The precedence is set at 10 for the duration of the timeout. For example, if you set the timeout to 15 seconds, the ACL is created for 15 seconds. The switch continues to create access lists for the duration of the timeout until the packet rate declines to less than the configured threshold alert level.
Next, configure the notice threshold. This will help determine the actual traffic received by the CPU by logging when the traffic exceeds the threshold. This can help understand the types of traffic encountered, and evaluate whether legitimate traffic may be accidentally blocked. Some examples of heavy legitimate traffic to the cpu include: route lossduring this period, the switch may receive lots of routing updates that cause heavy traffic processing loads on the CPU. configuration or image upload/download To configure the notice threshold, use the following command:
configure cpu-dos-protect notice-threshold <packets per second>
261
Security
Next, configure the alert threshold. If the alert threshold is reached, a simulated ACL is put in place. Although packets will not be dropped, this provides good information about the heavy traffic, which might be legitimate or might be an attack. The Ethernet address of the source and the type of traffic can be characterized by the type of ACL put in place. This is another way to judge if legitimate traffic would have been cut off. To configure the alert threshold, use the following command:
configure cpu-dos-protect alert-threshold <packets per second>
After normal traffic is characterized, steps should be taken to set: the appropriate notice level if some warning is desired the appropriate alert level at which an ACL is put in place trusted ports from which traffic wont be blocked In some cases, traffic from a switch port or group of ports will never cause an attack. These ports can be configured as trusted port and will never be considered for traffic that will generate an ACL. This can prevent innocent hosts from being blocked, or ensure that when an innocent host responds to an attack that the flood of response packets is not mistaken for the attack. To configure a trusted port, use the following command:
configure cpu-dos-protect trusted-ports add <port list>
The last step is to enable DoS Protection. At this point, only attack traffic should be blocked and legitimate traffic should pass through. To enable the creation of ACLs for DoS Protection, use the following command:
enable cpu-dos-protect
To block and clean up after this task: 1 Block the attack by creating an ACL to block port 1434 using the following command:
create access-list UDP dest any ip-port 1434 source any ip-port any
2 Remove affected SQL servers from the network You can simply disable the port connecting the server. 3 Clean up the existing IGMP snooping entries and IPMC cache using the following commands:
igmp snooping clear ipmc cache
4 Disable IGMP snooping on the affected switches. Disabling IGMP snooping affects routing protocols using multicast addresses and multicast traffic on that switch.
262
RADIUS Client
Remote Authentication Dial In User Service (RADIUS, RFC 2138) is a mechanism for authenticating and centrally administrating access to network nodes. The ExtremeWare RADIUS client implementation allows authentication for Telnet, Vista, or console access to the switch. NOTE You cannot configure RADIUS and TACACS+ at the same time. You can define a primary and secondary RADIUS server for the switch to contact. When a user attempts to login using Telnet, http, or the console, the request is relayed to the primary RADIUS server, and then to the secondary RADIUS server, if the primary does not respond. If the RADIUS client is enabled, but access to the RADIUS primary and secondary server fails, the switch uses its local database for authentication. The privileges assigned to the user (admin versus nonadmin) at the RADIUS server take precedence over the configuration in the local switch database. To configure the RADIUS servers, use the following command:
configure radius server [primary | secondary] <ipadress> <UDP_port> client-ip <ipaddress>
To configure the timeout if a server fails to respond, use the following command:
configure radius timeout <seconds>
263
Security
To configure the shared secret for RADIUS servers, use the following command:
configure radius [primary | secondary] shared-secret {encrypted} <string>
To configure the timeout if a server fails to respond, use the following command:
configure radius-accounting timeout <seconds>
RADIUS accounting also makes use of the shared secret password mechanism to validate communication between network access devices and RADIUS accounting servers. To specify shared secret passwords for RADIUS accounting servers, use the following command:
configure radius [primary | secondary] shared-secret {encrypted} <string>
After you configure RADIUS accounting server information, you must enable accounting before the switch begins transmitting the information. You must enable RADIUS authentication for accounting information to be generated. You can enable and disable accounting without affecting the current state of RADIUS authentication. To enable RADIUS accounting, use the following command:
enable radius-accounting
264
automatically negotiates the per-command authentication capability with the switch. For examples on per-command RADIUS configurations, see the next section.
Cistron RADIUS
Cistron RADIUS is a popular server, distributed under GPL. Cistron RADIUS can be found at: http://www.miquels.cistron.nl/radius/ When you configure the Cistron server for use with Extreme switches, you must pay close attention to the users file setup. The Cistron RADIUS dictionary associates the word Administrative-User with Service-Type value 6, and expects the Service-Type entry to appear alone on one line with a leading tab character. The following is a user file example for read-write access: adminuser Auth-Type = System Service-Type = Administrative-User, Filter-Id = unlim
265
Security
RSA Ace
For users of their SecureID product, RSA offers RADIUS capability as part of their ACE server software. With some versions of ACE, the RADIUS shared-secret is incorrectly sent to the switch resulting in an inability to authenticate. As a work around, do not configure a shared-secret for RADIUS accounting and authentication servers on the switch.
After modifying the vendor.ini file, the desired user accounts must be configured for the Max-Concurrent connections. Using the SBR Administrator application, enable the check box for Max-Concurrent connections and fill in the desired number of maximum sessions.
Extreme RADIUS
Extreme Networks provides its users, free of charge, a radius server based on Merit RADIUS. Extreme RADIUS provides per-command authentication capabilities in addition to the standard set of radius features. Source code for Extreme RADIUS can be obtained from the Extreme Networks Technical Assistance Center and has been tested on Red Hat Linux and Solaris. When Extreme RADIUS is up and running, the two most commonly changed files will be users and profiles. The users file contains entries specifying login names and the profiles used for per-command authentication after they have logged in. Sending a HUP signal to the RADIUS process is sufficient to get changes in the users file to take place. Extreme RADIUS uses the file named profiles to specify
266
command lists that are either permitted or denied to a user based on their login identity. Changes to the profiles file require the RADIUS server to be shutdown and restarted. Sending a HUP signal to the RADIUS process is not enough to force changes to the profiles file to take effect. When you create command profiles, you can use an asterisk to indicate any possible ending to any particular command. The asterisk cannot be used as the beginning of a command. Reserved words for commands are matched exactly to those in the profiles file. Due to the exact match, it is not enough to simply enter sh for show in the profiles file, the complete word must be used. Commands can still be entered in the switch in partial format. When you use per-command authentication, you must ensure that communication between the switch(es) and radius server(s) is not lost. If the RADIUS server crashes while users are logged in, they will have full administrative access to the switch until they log out. Using two RADIUS servers and enabling idle timeouts on all switches will greatly reduce the chance of a user gaining elevated access due to RADIUS server problems.
267
Security
samuel
Within the users configuration file, additional keywords are available for Profile-Name and Extreme-CLI-Authorization. To use per-command authentication, enable the CLI authorization function and indicate a profile name for that user. If authorization is enabled without specifying a valid profile, the user is unable to perform any commands. Next, define the desired profiles in an ASCII configuration file called profiles. This file contains named profiles of exact or partial strings of CLI commands. A named profile is linked with a user through the users file. A profile with the permit on keywords allows use of only the listed commands. A profile with the deny keyword allows use of all commands except the listed commands. CLI commands can be defined easily in a hierarchal manner by using an asterisk (*) to indicate any possible subsequent entry. The parser performs exact string matches on other text to validate commands. Commands are separated by a comma (,) or newline. Looking at the following example content in profiles for the profile named PROFILE1, which uses the deny keyword, the following attributes are associated with the user of this profile: Cannot use any command starting with enable. Cannot issue the disable ipforwarding command. Cannot issue a show switch command. Can perform all other commands. We know from the users file that this applies to the users albert and lulu. We also know that eric is able to log in, but is unable to perform any commands, because he has no valid profile assigned. In PROFILE2, a user associated with this profile can use any enable command, the clear counter command and the show management command, but can perform no other functions on the switch. We also know from the users file that gerald has these capabilities. The following lists the contents of the file users with support for per-command authentication:
user Password = "" Filter-Id = "unlim" Password = "", Service-Type = Administrative Filter-Id = "unlim" Password = "", Service-Type = Administrative, Profile-Name = "" Filter-Id = "unlim" Extreme:Extreme-CLI-Authorization = Enabled
admin
eric
268
albert Password = "", Service-Type = Administrative, Profile-Name = "Profile1" Filter-Id = "unlim" Extreme:Extreme-CLI-Authorization = Enabled lulu Password = "", Service-Type = Administrative, Profile-Name = "Profile1" Filter-Id = "unlim" Extreme:Extreme-CLI-Authorization = Enabled gerald Password = "", Service-Type = Administrative, Profile-Name "Profile2" Filter-Id = "unlim" Extreme:Extreme-CLI-Authorization = Enabled
Configuring TACACS+
Terminal Access Controller Access Control System Plus (TACACS+) is a mechanism for providing authentication, authorization, and accounting on a centralized server, similar in function to the RADIUS client. The ExtremeWare version of TACACS+ is used to authenticate prospective users who are attempting to administer the switch. TACACS+ is used to communicate between the switch and an authentication database. NOTE You cannot use RADIUS and TACACS+ at the same time. You can configure two TACACS+ servers, specifying the primary server address, secondary server address, and UDP port number to be used for TACACS+ sessions.
269
Security
You can specify a list of predefined clients that are allowed SSH2 access to the switch. To do this, you must create an access profile that contains a list of allowed IP addresses. You can also specify a TCP port number to be used for SSH2 communication. By default the TCP port number is 22. The supported ciphers are 3DES-CBC and Blowfish. The supported key exchange is DSA.
270
An authentication key must be generated before the switch can accept incoming SSH2 sessions. This can be done automatically by the switch, or you can enter a previously generated key. To have the key generated by the switch, use the following command:
configure ssh2 key
You are prompted to enter information to be used in generating the key. The key generation process takes approximately ten minutes. Once the key has been generated, you should save your configuration to preserve the key. To use a key that has been previously created, use the following command:
configure ssh2 key pregenerated
You are prompted to enter the pregenerated key. The key generation process generates the SSH2 private host key. The SSH2 public host key is derived from the private host key, and is automatically transmitted to the SSH2 client at the beginning of an SSH2 session. Before you initiate a session from an SSH2 client, ensure that the client is configured for any nondefault access list or TCP port information that you have configured on the switch. Once these tasks are accomplished, you may establish an SSH2-encrypted session with the switch. Clients must have a valid user name and password on the switch in order to log into the switch after the SSH2 session has been established. For additional information on the SSH protocol refer to [FIPS-186] Federal Information Processing Standards Publication (FIPSPUB) 186, Digital Signature Standard, 18 May 1994. This can be download from: ftp://ftp.cs.hut.fi/pub/ssh. General technical information is also available from: http://www.ssh.fi
271
Security
For example, to copy an image file saved as image1.xtr to switch with IP address 10.10.0.5 as the primary image using SCP2, you would enter the following command within your SSH2 session:
scp image1.xtr [email protected]:primary.img
To copy the configuration from the switch and save it in file config1.save using SCP, you would enter the following command within your SSH2 session:
scp [email protected]:configuration.cfg config1.save
The remote commands can be any commands acceptable by the remote system. You can specify the login user name as a separate argument, or as part of the user@host specification. If the login user name for the remote system is the same as your user name on the switch, you can omit the username parameter entirely. To initiate a file copy from a remote system to the switch using SCP2, use the following command:
scp2 {cipher [3des | blowfish]} {port <portnum>} {debug <debug_level>} <user>@[<hostname> | <ipaddress>]:<remote_file> [configuration {incremental} | image [primary | secondary] | bootrom]
To initiate a file copy to a remote system from the switch using SCP2, use the following command:
scp2 {cipher [3des | blowfish]} {port <portnum>} {debug <debug_level>} configuration <user>@[<hostname> | <ipaddress>]:<remote_file>
272
Part 2
This chapter describes the use of the Ethernet Automatic Protection Switching (EAPS) protocol, and includes information on the following topics: Overview of the EAPS Protocol on page 275 Fault Detection and Recovery on page 278 Multiple EAPS Domains Per Switch on page 280 Configuring EAPS on a Switch on page 282 Configuring EAPS Shared Ports on page 289 EAPS Shared Port Configuration Rules on page 293 EAPS Shared Port Configuration Examples on page 293
275
Transit node
Master node
EW_070
One port of the master node is designated the master nodes primary port (P) to the ring; another port is designated as the master nodes secondary port (S) to the ring. In normal operation, the master node blocks the secondary port for all non-control traffic belonging to this EAPS domain, thereby avoiding a loop in the ring, like STP. Layer 2 switching and learning mechanisms operate per existing standards on this ring.
NOTE Like the master node, each transit node is also configured with a primary port and a secondary port on the ring, but the primary/secondary port distinction is ignored as long as the node is configured as a transit node.
276
S4 S3 S5
S2 P S1
Direction of health-check message
S6 S
Secondary port is logically blocked Master node
EW_071
If the ring is complete, the master node logically blocks all data traffic in the transmit and receive directions on the secondary port to prevent a loop. If the master node detects a break in the ring, it unblocks its secondary port and allows data traffic to be transmitted and received through it.
EAPS Terms
Table 37 describes terms associated with EAPS. Table 37: EAPS Terms
Term EAPS domain Description A domain consists of a series of switches, or nodes, that comprise a single ring in a network. An EAPS domain consists of a master node, transit nodes, and on the master node, one primary port and one secondary port. EAPS operates by declaring an EAPS domain on a single ring. Extreme Discovery Protocol. A protocol used to gather information about neighbor Extreme switches. Extreme switches use EDP to exchange topology information. A switch, or node, that is designated the master in an EAPS domain ring. The master node blocks the secondary port for all non-control traffic belonging to this EAPS domain, thereby avoiding a loop in the ring. A switch, or node, that is not designated a master in an EAPS domain ring. A port on the master node that is designated the primary port to the ring. The transit node ignores the primary port distinction as long as the node is configured as a transit node. A port on the master node that is designated the secondary port to the ring. The transit node ignores the secondary port distinction as long as the node is configured as a transit node. A VLAN that sends and receives EAPS messages. You must configure one control VLAN for each EAPS domain.
secondary port
control VLAN
277
NOTE The control VLAN is not blocked. Messages sent on the control VLAN must be allowed into the switch for the master node to determine whether the ring is complete. To avoid loops in the network, the control VLAN must be NOT be configured with an IP address, and ONLY ring ports may be added to the VLAN. Figure 40: EAPS fault detection and protection switching
Break in ring
S4
S3
S3 sends "link down" message to master node
S5
S2 P S1 S
S6
Master node opens secondary port to allow traffic to pass Master node
EW_072
278
A master node detects a ring fault in one of three ways: Link-down message sent by a transit node Ring port down event sent by hardware layers Polling response
Polling
The master node transmits a health-check packet on the control VLAN at a user-configurable interval (see Figure 39). If the ring is complete, the master node will receive the health-check packet on its secondary port (the control VLAN is not blocked on the secondary port). When the master node receives the health-check packet, it resets its failtimer and continues normal operation. If the master node does not receive the health-check packet before the failtimer interval expires, and the failtime expiry action is set to open-secondary-port, it declares a failed state and performs the same steps described above: it unblocks its secondary port for access by the protected VLANs, flushes its forwarding database (FDB), and sends a flush FDB message to its associated transit nodes.
Restoration Operations
The master node continues sending health-check packets out its primary port even when the master node is operating in the failed state. As long as there is a break in the ring, the fail-period timer of the master node will continue to expire and the master node will remain in the failed state. When the broken link is restored, the master will receive its health-check packet back on its secondary port, and will once again declare the ring to be complete. It will logically block the protected VLANs on