Customer Driven Innovation Compact Training – A10 Thunder Fundamentals José Luis Serrano Sr. Systems Engineer, Spain & Portugal Do not distribute/edit/copy without the written consent of A10 Networks 1 Agenda Thunder ADC Series Overview Device Management Basic Device Setup Basic SLB Configuration VRRP-A High Availability aVCS Clustering Troubleshooting Tech Support Procedure Additional Online Resources Q&A 2 Gama Thunder 3 A10 Product Portfolio Overview Product Lines ADC Application Delivery Controller TPS CGN Threat Protection System Carrier Grade Networking Application Networking Platform ACOS Platform Dedicated Network Managed Hosting § ADC – Application Acceleration & Security § CGN – IPv4 Extension / IPv6 Migration § TPS – Network Perimeter DDoS Security § § § § Cloud IaaS Performance Scalability Extensibility Flexibility IT Delivery Models 4 ACOS Scalable Symmetrical Multi-Processing Efficient & Accurate Memory Architecture 64-Bit Multi-Core Optimized Optimized Flow Distribution Shared Memory Shared MemoryArchitecture Architecture Application Acceleration 1 2 3 Flexible Traffic Accelerator N Application Security Application Availability Switching and Routing 5 ACOS: FTA Models Efficient & Accurate Memory Architecture 64-Bit Multi-Core Optimized L4-7 Processing & Security Shared Memory Architecture CPU 0 Mgmt. CPU CPU 1 CPU 2 CPU 3 CPU 12 Compression Data CPUs SSL Hardware Assisted Flow Distribution Broadcom ASIC Chip for High Performance Switching Flexible Traffic Accelerator (FPGA Matrix) Switching and Routing ASIC (Broadcom) 6 ACOS: Non FTA Models Efficient & Accurate Memory Architecture 64-Bit Multi-Core Optimized L4-7 Processing & Security Shared Memory Architecture CPU 0 Mgmt. CPU CPU 1 CPU 4 High Performance Driver (HPD) CPU 5 CPU 11 Compression Data CPUs SSL Software Optimized Flow Distribution Flexible Traffic Acceleration by HPD (non-ASIC) Intel 82599 Chip for High Performance Switching Switching and Routing by HPD (non-ASIC) 7 Thunder ADC Hardware Appliances – Entry & Mid Range Price 30 Gbps (L4&L7) 750k L4 CPS 3M RPS (HTTP) 14k SSL CPS 2k 30 Gbps (L4&L7) 1,5M L4 CPS 7.5M RPS (HTTP) 52k SSL CPS 2k FTA DDoS (55M Syn/s) 42 Gbps (L4&L7) 2,5M L4 CPS 12M RPS (HTTP) 75k SSL CPS 2k FTA DDoS (55M Syn/s) Thunder 3430S ADC Thunder 3230S ADC 10 Gbps (L4&L7) 450k L4 CPS 2M RPS (HTTP) 7.5k SSL CPS 2k Thunder 3030S ADC 5 Gbps (L4&L7) 200k L4 CPS 1 M RPS (HTTP) 400 SSL CPS 2k Thunder 1030S ADC Thunder 930 ADC Performance 8 Price Thunder ADC Hardware Appliances – High End 38 Gbps (L4&L7) 2.7M L4 CPS 11M RPS (HTTP) 84k CPS SSL FTA DDoS (112M Syn/s) 79/78 Gbps (L4/L7) 3.7M L4 CPS 20M RPS (HTTP) 110k CPS SSL FTA DDoS (112M Syn/s) 79/78 Gbps (L4/L7) 6M L4 CPS 32.5M RPS (HTTP) 172k CPS SSL DDoS (100M Syn/s) 150/145 Gbps (L4/L7) 5.3M L4 CPS 31M RPS (HTTP) 130k CPS SSL FTA DDoS (212M Syn/s) 150/145 Gbps (L4/L7) 7.1M L4 CPS 38M RPS (HTTP) 173k CPS SSL FTA DDoS (223M Syn/s) Thunder 6630 ADC Thunder 6430(S) ADC Thunder 5630 ADC Thunder 5430(S)-11 ADC Thunder 4430(S) ADC Performance 9 vThunder – Appliance Virtual vThunder (Perpetual Licensing) § § High-performance 8 Gbps Precio § § 200 Mbps to 8 Gbps VMware, KVM, Hyper-V & Xen hypervisors Dynamic provisioning, faster roll out Scale up or down on-demand High-performance 4 Gbps Entry Level/Lab 1 Gbps Entry Level/Lab 200 Mbps Lab Edition Rendimiento 10 Thunder 930 ADC 11 Blade Front View • 2 x 10GE Fiber (SFP+) • Management Interfaces: • 1 x Console Port • 1 x Ethernet Port • 6 x 1GE Copper • 2 x 1GE Fiber (SFP) • 1 x USB Port 12 Blade Rear view • 4 x Hot-Swap Smart Fans • Power Switch • 2 x Hot-Wap PSU • 76W Max Consumption • 80Plus Platinum Eficiency (90% Eficiency min) 13 A10 Feature Set Application Delivery & Acceleration ¿ Comprehensive IPv4/IPv6 Support ¿ Advanced Layer 4/Layer 7 Server Load Balancing ¿ HTTP Acceleration & Optimization ¿ aFleX – for customizable, application-aware switching ¿ Advanced Health Monitoring ¿ Spam Filter Support ¿ FWLB, GSLB, TCS, Link Load Balancing (LLB), Diameter AAA Load Balancing, Database Load Balancing Security ¿ Web Application Firewall (WAF) ¿ Next-generation DDoS protection ¿ Application Access Management (AAM) ¿ DNS Application Firewall (DAF) ¿ SSL-- SSL Intercept (SI), SSL Acceleration, SSL Session ID Reuse ¿ Connection Rate Limiting/Connection Limiting High Performance, Scalable Platform Management ¿ Industry-standard Command Line Interface ¿ Web-based Graphical User Interface (GUI) with Language Localization ¿ REST-style XML API (aXAPI) Networking ¿ Integrated Layer 2/Layer 3 ¿ Routing – Static Routes, IS-IS (v4/v6), OSPF v2/v3, BGP4+ ¿ VLAN (802.1Q), Trunking (802.1AX), LACP ¿ Access Control Lists (ACLs) ¿ IPv4-->IPv4 NAT/NAPT & IPv6-->IPv6 NAPT IPv6 Migration/IPv4 Preservation ¿ Full native IPv6 management and feature support ¿ SLB-PT (Protocol Translation), SLB-64 (IPv4<->IPv6, IPv6<>IPv4) Virtualization ¿ aVCS (Virtual Chassis System) ¿ Multi-tenancy with Application Delivery Partitions (ADPs) ¿ NVGRE ¿ VXLAN Carrier-grade Hardware ¿ Advanced hardware architecture ¿ Smart Fans (hot swap) ¿ Hot swap Redundant Power Supplies (AC and DC) ¿ Solid-state drive (SSD) ¿ High Port Density 14 A10 Licensing No extra licenses required for performance or features Each A10 is offered with full scalability and benefits 15 Device Management 16 ACOS Management Access CLI ¿ Web ¿ ¿ HTTP (configurable ports - disabled by default) HTTPS (configurable ports) API ¿ Console (RS-232 connection / 9600, 8, N, 1) Telnet (disabled by default) SSHv2 aXAPI: a REST like API User Authentication ¿ ¿ ¿ CLI: Login ID/Password and Enable ID/Password Web: Admin roles (read-write / read-only) Modes: Local (default)/RADIUS/TACACS+/LDAP 17 CLI: Privilege Levels Official name Common Prompt name Purpose User EXEC Level user > • Monitor SLB & CGN, do backups, use simple diagnosAc uAliAes • From this level user cannot affect the funcAoning of the device or change configuraAon Privileged EXEC Level enable # • (same as user) + Manage system but not SLB or CGN configuraAon • Monitor system Privileged EXEC Level -­‐ Config Mode config (config)# • (same as enable) + Configure SLB or CGN. AcAons which could affect SLB or CGN configuraAon are also accessible only from here, like config restore • Enable-­‐level commands can be executed here by prepending them with “do” 18 CLI: Additional Prompt Indicators HA/VRRP-A ¿ ¿ aVCS ¿ ¿ ACOS-Active-vMaster[7/1]> ACOS-Standby-vBlade[7/2]> Packet capture ¿ ACOS-Active> ACOS-Standby> ACOS(axdebug)# Hostname ¿ ¿ ACOS(config)#hostname MyThunder1 MyThunder1(config)# 19 CLI: Help List options ¿ Option disambiguation ¿ ACOS>show health monitor ? WORD<length:1-­‐31> Name all-­‐partitions All partition configurations partition Per-­‐partition configurations | Output modifiers ACOS>show ic? icmp Display ICMP statistics icmpv6 Display ICMPv6 statistics Tab completion ¿ ACOS>show rad<tab> ACOS>show radius-­‐server 20 CLI: Usability Commands can be abbreviated ¿ #show run ° ¿ #show running-config Commands are case insensitive ¿ #show run ° ¿ instead of: equals: #SHOW RUN Defined Items are case sensitive ¿ #show slb server s1 ° ¿ is not the same as: #show slb server S1 Commands typed take affect immediately Show commands can be run within configuration mode as well 21 CLI: Undo Commands are undone by prepending ‘no’ ¿ ACOS(config)#ip nat pool nat1 10.0.2.15 10.0.2.16 netmask /24 ACOS(config)#show ip nat pool Total IP NAT Pools: 1 Pool Name Start Address End Address Mask Gateway HA Group Vrid nat1 10.0.2.15 10.0.2.16 /24 0.0.0.0 0 default ¿ ACOS(config)#no ip nat pool nat1 ACOS(config)#show ip nat pool Total IP NAT Pools: 0 22 CLI: Disabling Configuration Elements On configuration elements, ‘no enable’ has the same effect as command ‘disable’ ¿ ACOS# show run | sec slb server s1 10.0.2.18 ¿ ACOS(config)#slb server s1 ACOS(config-­‐real server)#no enable ¿ ACOS# show run | sec slb slb server s1 10.0.2.18 disable 23 CLI: Filtering Output (section & include) ACOS supports filtering by piping output to section and include ¿ ¿ section retrieves configuration elements containing regex ° ACOS#show run | sec slb ° slb server s1 10.0.2.18 port 80 tcp slb service-­‐group http tcp member s1:80 include retrieves lines containing regex ° ACOS#show run | inc slb ° slb server s1 10.0.2.18 slb service-­‐group http tcp 24 CLI: OR To use ‘|’ symbol as OR in inc or sec, escape it with ‘\’ with no spaces around it ° ACOS#show run | inc tacacs\|radius ° tacacs-­‐server host 1.0.0.100 secret (encrypted_secret) port 49 timeout 12 radius-­‐server host 1.0.0.100 secret (encrypted_secret) 25 CLI: Exiting Current Level Exit command takes CLI one level down ¿ End command exits out of config ¿ ACOS(config-­‐slb vserver-­‐vport)#exit ACOS(config-­‐slb vserver)#exit ACOS(config)#exit ACOS#exit ACOS> ACOS(config-­‐slb vserver-­‐vport)#end ACOS#exit ACOS> Ctrl-C is a keyboard shortcut for exit in config mode, Ctrl-Z is a shortcut for end 26 CLI: Workflow With CLI, build your configuration from bottom up ¿ System (IP/VLAN/…etc.) ¿ Redundancy + clustering (VRRP-A/aVCS) ¿ Servers ¿ Service Groups ¿ NAT pools ¿ Templates ¿ Virtual server ¿ Virtual server port Then apply pre-configured elements on virtual server port (vPort) ¿ To use programming analogy, configuration elements are like functions. Those functions have to be called from vPort before they take effect. 27 WebUI: Privilege Levels Monitor Mode ¿ Equivalent to CLI User EXEC Level (user) 28 WebUI: Privilege Levels Config Mode ¿ Equivalent to CLI Privileged EXEC Level - Config Mode (config) 29 CLI vs. WebUI CLI benefits ¿ ¿ ¿ Structured, enhances understanding Excellent for troubleshooting – can display multiple configuration items at the same time Can be very fast with some familiarity WebUI benefits ¿ Flexible workflow ¿ Easy admin role definition ¿ Familiar interface ¿ Excellent for monitoring – graphical display 30 aXAPI Architecture aXAPI uses a REST like request/response model to exchange data over HTTPS Admin Authentication The aXAPI uses the same admin authentication resources as those configured for CLI and GUI access. For example, if the A10 device is configured to use RADIUS first to authenticate admins, RADIUS will be used first when authenticating an admin for an aXAPI session. Session ID The first request from the third-party application sends the authentication method along with a valid A10 admin username and password. If the username and password are valid, the A10 device replies with a session ID. The third-party application must present the session ID with all future requests during that session. The session ID is valid until the third-party application sends a session close request or the session times out. Encoding The aXAPI expects all data to be UTF-8 encoded, and it checks for valid UTF-8 sequences. If an invalid sequence is found, the aXAPI assumes that the data is ISO-8859-1 encoded and converts it to UTF-8. The aXAPI discards data that is sent in any other format. 31 aXAPI Request Format – Header The request header is a URL in the following format: https://<AX-IPaddr:port>/services/rest/<aXAPI Version>/?session_id=<session ID>&method=<aXAPI method name>&format=<data format> Host name or IP address of the A10 device (IPv4 or IPv6), & the HTTPS service port on A10 device. By default, the port number is 443 for HTTPS, and can be omitted. The aXAPIversion to be used. The string returned by the authentication method. For the authentication method, omit the following parameter (&session_id=<session id>), since you may not have the session ID at that time. The aXAPI method to be invoked. The aXAPI is organized according to a series of methods and their corresponding data structure. https://192.168.2.2/services/rest/V2/?session_id=308528f465597c7be6631533c4c315&method=system.time.get • A properly formatted request to the aXAPI is a URI request header and a request body. • The request body can be a URI-based or JSON*-based data structure. • The request can be sent as an HTTP or HTTPS GET or POST action. The data format you wish to use in the aXAPI request and response. aXAPI has the following formats: • url: (default) url-based data for requests and XML-based data for responses • json*: json-based data for both requests and responses • xml: (not currently supported) XML-based data for both requests and responses You can leave the data format field empty when using the ‘default’ data format (xml) 32 Named configuration profiles Benefits of named profiles ¿ ¿ ¿ ¿ Create new profile ¿ ACOS#write memory <new_profile> ACOS(config)#copy <existing_profile> <new_profile> See all profiles ¿ Maintain multiple configurations Link startup configuration per partition to a named profile Copy and edit profiles without disrupting normal operations Maintain single configuration for both physical partitions ACOS#show startup-­‐config all Link startup config to profile ¿ ACOS(config)#link startup-­‐config <profile_name> [primary|secondary] 33 ACOS System Backup & Restore ACOS full system backup ¿ WebUI: Config > System > Maintenance > Backup > System ¿ CLI: ACOS(config)#backup system […] ACOS full system restore ¿ WebUI: Config > System > Maintenance > Restore > System ¿ CLI: ACOS(config)#restore […] Note: Supported upload protocols: FTP, SFTP, SCP, RCP, TFTP, and HTTPS (via WebUI) 34 ACOS Software Location ACOS software is stored on ¿ Two disk partitions: primary and secondary ° ¿ Two Compact Flash partitions: primary and secondary ° Second partition is designed for easy software rollback CF is designed for emergency recovery Note: Each storage location has its own software and A10 configuration 35 ACOS Software Upgrade Options Check the ACOS running partition ¿ ¿ Upgrade A10 device’s other partition ¿ WebUI: Configuration > System > Maintenance > Upgrade ¿ CLI: ACOS(config)# upgrade […] Copy running configuration to the other partition or link existing profile to it ¿ ¿ WebUI: Monitor > Overview > Summary > System Information CLI: ACOS# show bootimage ACOS# write memory [primary|secondary] ACOS(config)# link startup-­‐config <profile_name> [primary|secondary] Set boot source to the other partition ¿ ¿ WebUI: Configuration > System > Settings > Boot CLI: ACOS(config)# bootimage hd [primary|secondary] 36 A10 Initial Deployment & Configuration 1) Initial Configuration • • • • Rack Power Cooling Cabling • Connect Console • Assign Management IP Address • Software Update • Management Tasks • Users • Syslog • SNMP • VLANS • VE Interfaces • IP Addresses • Routing • Static • Protocols 2) Application Load Balancing • Servers • Server Ports • Health Checks • Match Application • Service Groups • TCP/UDP • LB Algorithm • Server Members • Health Checks • Virtual IP (VIP) • Application Ports • Service Groups • NAT (Optional) • SSL • Templates 3) Advanced Load Balancing • Scripts • Customer Health checks • Content Inspection • Modify traffic Content • GSLB Configuration • Rate Limiting • Security Features • HTTP Compression • RAM Caching • API Programming 37 ACOS Initial Configuration First Step configuration ¿ Connect to the A10 console (9600 baud - 8 bits – no parity - 1 stop bit) ° ° ° ° ° ¿ Default user/password: admin/a10 Management IP address: 172.31.31.31 /24 SSH Enabled (telnet disabled) HTTP redirected to HTTPS All Data Ports Disabled Configure the management interface, and it’s default Gateway ° Finish the A10 configuration via CLI (SSH) or WebUI (HTTPS) ² Configure Production interfaces (vlan, Ethernet/ve interfaces) ² Enable production interfaces ² (optional) Configure routing (static/dynamic) ² (optional) Configure specific management rights ² Configure Servers / Service Groups / Virtual Servers / etc. 38 ACOS Initial Configuration - Example AX# AX#conf t AX(config)#interface management AX(config-­‐if:management)#ip address 192.168.2.2 /24 AX(config-­‐if:management)#ip default-­‐gateway 192.168.2.1 AX(config-­‐if:management)#end AX#wr mem Building configuration... Write configuration to default startup-­‐config [OK] AX# 39 Sample ACOS L2/3 Configuration vlan 11 tagged ethernet 1 router-­‐interface ve 11 vlan 12 tagged ethernet 1 router-­‐interface ve 12 interface ethernet 1 enable interface ve 11 ip address 100.0.1.11 255.255.255.0 interface ve 12 ip address 100.0.0.11 255.255.255.0 40 Server Load-Balancing Basics 41 Server Load Balancing (SLB) Share load among multiple servers (load balancing) Provide high availability of services 42 Server Load Balancing ACOS SLB configuration has three core elements ¿ Servers ¿ Service Groups ¿ Virtual Servers (VIPs) Service Group -­‐ Web Web DNS SMTP VIP Server Web DNS SMTP Server 43 SLB: Server Minimum configuration ¿ Name IP address (can use DNS name) ¿ Ports ¿ Server configuration ¿ WebUI: Config > SLB > Service > Server ¿ CLI: Thunder(config)# slb server <name> […] Server status and statistics ¿ WebUI: Monitor > Service > SLB > Server ¿ CLI: Thunder# show slb server […] Web DNS SMTP VIP Server Web DNS SMTP Server Sample Configuration slb server S1 100.0.0.201 port 80 tcp slb server S2 100.0.0.202 port 80 tcp 44 SLB: Service Group Minimum configuration ¿ Name ¿ Type (TCP/UDP) ¿ LB Algorithm ¿ At least one Server/Port Service Group -­‐ Web Service Group status and statistics Web DNS SMTP VIP ¿ WebUI: Monitor > SLB > Service > Service Group ¿ CLI: Thunder# show slb service-group […] Server Web DNS SMTP Server Sample Configuration slb service-group http1 tcp member S1:80 member S2:80 45 Load Balancing Algorithms Service group – load balancing algorithms ¿ Round Robin ¿ Fastest Response Time ¿ Least Connection ¿ Least Request ¿ Service Least Connection ¿ Round Robin Strict ¿ Weighted Round Robin ¿ Stateless ¿ Weighted Least Connection ¿ And more….. ¿ Service Weighted Least Connection 46 SLB: Virtual Server Minimum configuration ¿ Name ¿ IP address (accessed by end users) ¿ Virtual server ports (usually) ¿ Service Groups Virtual Server status and statistics ¿ WebUI: Monitor > SLB > Service > Virtual Server ¿ CLI: Thunder# show slb virtual-server […] Service Group -­‐ Web Web DNS SMTP VIP Server Web DNS SMTP Server Sample Configuration slb virtual-server "VIP1" 100.0.0.10 port 80 http service-group http1 47 Source IP Persistence When to use Source IP Persistence? ¿ Source IP persistence must be used when clients must have their future connections/traffic terminated on the same server Connection 1 Connection 2 48 Source IP Persistence Template Create Source IP Persistence Template ¿ Name Type ° ° ° ¿ ¿ ¿ Port (persistence per VIP:Port) Server (persistence per VIP) Service-Group (persistence per URL or Host) Timeout: How long inactive entries are saved (default = 5 minutes) Don't Honor Conn Rules: Ignore connection limits defined on Servers and Server Ports and connect new clients' connections to the Server (default = disabled) Netmask: Granularity of Client IP address hashing (default = 255.255.255.255 for the most granularity) Assign the Source IP Persistence Template to the Virtual Server Port Sample Configuration slb template persist source-ip srcip 49 SLB Source NAT Create IP Source NAT Pool ¿ Name ° Name of the template ° Start IP address (can be the ACOS interface IP) ° End IP address (can be the same as Start IP) Note: If the "Start" and "End IP address" are the same, the ACOS will NAT with one unique IP address and can NAT up to 64k flows ¿ Netmask (used by "IP Source NAT – Group" when servers are on different subnets) ¿ (optional) Gateway: Specify a gateway to use to reply to the clients' requests ¿ (optional) "HA Group": Specify the HA group to tie to the SLB source NAT pool Assign the SLB Source NAT Pool to the Virtual Server Port Sample Configuration ip nat pool sNAT1 100.0.0.50 100.0.0.50 netmask /24 50 Health-checks Service availability is checked using health monitors (HMs) Health monitors can be applied to ¿ ¿ ¿ ¿ ¿ ¿ Web DNS Health monitors can test server availability ¿ Service Group -­‐ Web Server Server:Port Service Group VIP On Layer 3: ping (ICMP) On Layer 4: TCP, UDP On Layer 7 (application): HTTP. HTTPS. FTP, SMTP, POP3, DNS, RADIUS, LDAP, RSTP, NTP, SIP Via manually created scripts SMTP Server Web DNS SMTP Server Multiple L3/L4/L7 tests can also be combined in a Boolean expression (and/or/ not) Sample Configuration health monitor http-hm method http 51 Applying a Health Monitor Physical server health monitor ¿ If HM fails, that server is considered down and service groups configured with that specific server stop using it for load balancing Note: Default Server HM type is ICMP Physical server port health monitoring ¿ If HM fails, that server port is considered down and service groups configured with that specific Server:Port stop using it for load balancing Note: Default TCP server port HM type is TCP handshake Service group health monitor ¿ If HM fails for a specific member, the service group stops using this member for load balancing Note: By default, no HM is configured on Service Group 52 Sample ACOS SLB Configuration ip nat pool sNAT1 100.0.0.50 100.0.0.50 netmask /24 health monitor http-hm method http slb server S1 100.0.0.201 port 80 tcp slb server S2 100.0.0.202 port 80 tcp slb service-group http1 tcp health-check http-hm member S1:80 member S2:80 slb template persist source-ip srcip slb virtual-server "VIP1" 100.0.0.10 port 80 http service-group http1 source-nat pool sNAT1 template persist source-ip srcip 53 Topology: One-Armed L2 (Switched) Mode VIP = 100.0.0.10 100.0.0.0/24 SNAT = 100.0.0.50 100.0.0.0/24 200.0.0.1 100.0.0.[100-­‐200] Source IP Dest IP Source IP Dest IP 200.0.0.1 100.0.0.10 100.0.0.50 100.0.0.101 Source IP Dest IP Source IP Dest IP 100.0.0.10 200.0.0.1 100.0.0.101 100.0.0.50 54 Topology: One-Armed L2 (Switched) Mode VIP = 100.0.0.10 SNAT = 100.0.0.50 100.0.0.0/24 100.0.0.0/24 200.0.0.1 100.0.0.[100-­‐200] Benefits: ¿ ¿ ¿ No change required on clients or servers Easy to test Clients can be in servers’ subnet Points to keep in mind: ¿ ¿ Servers lose Client IP visibility (can be partly remedied by IP header insertion in HTTP/TCP) Requires Source NAT on SLB if the servers don’t point to the A10 for their default gateway. 55 Topology: L3 (Routed) Mode with SNAT VIP = 100.0.0.10 100.0.0.0/24 SNAT = 100.0.1.50 100.0.1.0/24 200.0.0.1 100.0.1.[100-­‐200] Source IP Dest IP Source IP Dest IP 200.0.0.1 100.0.0.10 100.0.1.50 100.0.1.101 Source IP Dest IP Source IP Dest IP 100.0.0.10 200.0.0.1 100.0.1.101 100.0.1.50 56 Topology: L3 (Routed) Mode with SNAT VIP = 100.0.0.10 SNAT = 100.0.1.50 100.0.0.0/24 100.0.1.0/24 200.0.0.1 100.0.1.[100-­‐200] Benefits: ¿ ¿ No change required on clients or servers Easy to test Points to keep in mind: ¿ ¿ Servers lose Client IP visibility (can be partly remedied by IP header insertion in HTTP/TCP) Requires Source NAT (SNAT) on SLB 57 Topology: L3 (Routed) Mode without SNAT VIP = 100.0.0.10 100.0.0.0/24 100.0.1.0/24 200.0.0.1 100.0.1.[100-­‐200] Source IP Dest IP Source IP Dest IP 200.0.0.1 100.0.0.10 200.0.0.1 100.0.1.101 Source IP Dest IP Source IP Dest IP 100.0.0.10 200.0.0.1 100.0.1.101 200.0.0.1 58 Topology: L3 (Routed) Mode without SNAT VIP = 100.0.0.10 100.0.0.0/24 100.0.1.0/24 200.0.0.1 100.0.1.[100-­‐200] Benefits: ¿ No change required on clients Provides additional layer of security Points to keep in mind: ¿ Configure SLB as default gateway on servers 59 Topology: Direct Server Return (DSR) Mode VIP = 100.0.0.10 Loopback IP = VIP = 100.0.0.10 100.0.0.0/24 100.0.0.0/24 200.0.0.1 100.0.0.[100-­‐200] Source IP Dest IP Source IP Dest IP 200.0.0.1 100.0.0.10 200.0.0.1 100.0.0.10 Source IP Dest IP 100.0.0.10 200.0.0.1 60 Topology: Direct Server Return (DSR) Mode VIP = 100.0.0.10 Loopback IP = VIP = 100.0.0.10 100.0.0.0/24 100.0.0.0/24 200.0.0.1 100.0.0.[100-­‐200] Benefits: ¿ Highly scalable (SLB processes only incoming traffic) Points to keep in mind: ¿ ¿ Can’t use any Layer 7 features (aFleX can still be applied at virtual port level) Configure VIP IP as loopback on servers 61 VRRP-A High-Availability 62 VRRP-A VRRP-A (Virtual Router Redundancy Protocol) provides redundancy for up to 8 devices or L3V partitions Assigns Virtual MAC address for each VRID ¿ VRRP-A assigns a virtual MAC address to each VRID with the format 021f.a000.nnnn. The last 2 bytes of the address (nnnn) indicate the partition ID, set-id, and VRID. While server/application failure is covered by Health Monitors, VRRP-A covers A10 device or network Element or Link failures VRRP-A supports arbitrary N+M deployments where N is the number of active, and M is the number of standby devices VRRP-A was introduced in release 2.6 to replace Legacy HA ¿ Legacy HA is still supported for backwards compatibility but can't run in parallel with VRRP-A 63 VRRP-A: Selection of Active VRRP-A device Devices boot Weights equal? No Device with highest weight is elected acAve Yes PreempAon disabled OR prioriAes equal? Device with lowest ID is elected acAve Yes No Device with highest priority is elected acAve 64 VRRP-A: Design Options Active-Standby mode ¿ 1 Active A10 and 2 or more Passive AXs AX1 AX1: Standby#1 for all VIPs AX2: Active for all VIPs AX3: Standby#2 for all VIPs AX2 AX3 65 VRRP-A: Design Options (cont.) Active-Active mode: All AXs are active for some services (VIPs) N+1 deployment N+M deployment Note: N+M deployments means M boxes standby for higher availability AX1 AX1 AX2 AX2 AX3 AX3 AX1: Active for VIPs-Group1 AX2: Active for VIPs-Group2 AX3: Standby#1 for VIPs-Group1 Standby#1 for VIPs-Group2 AX1: Active for VIPs-Group1 Standby#1 for VIPs-Group2 Standby#1 for VIPs-Group3 AX2: Active for VIPs-Group2 Standby#1 for VIPs-Group1 Standby#1 for VIPs-Group3 AX3: Active for VIPs-Group3 Standby#1 for VIPs-Group1 Standby#1 for VIPs-Group2 66 VRRP-A: Active–Standby Mode Active-Standby Mode ¿ Active A10 processes all production traffic ¿ Standby A10 does not process any production traffic ¿ Standby A10 mirrors all session information from Active AX ° In case of "N Standby" deployments, only the primary standby mirrors the sessions ¿ One VRID (default) is sufficient to implement Active-Standby ¿ Reliability is scaled but not performance VIPs Floating IP SNAT IP Active Standby VIPs Floating IP SNAT IP 67 VRRP-A: Active–Standby Failover Active-Standby Failover ¿ ¿ ¿ ¿ ¿ Peer A10 elected as active Gratuitous ARPs for virtual, floating and NAT IPs are sent Existing mirrored sessions are picked up by newly elected active AX New sessions are served by newly elected active AX In case of "N Standby" deployments, the secondary standby becomes primary standby and mirrors the active sessions from the new Active AX Failed New Active VIPs Floating IP SNAT IP VIPs Floating IP SNAT IP 68 VRRP-A: Active–Standby Configuration VRRP-A Active–Standby Mode – configuration steps 1. Configure VRRP-A Set ID The Set ID is a unique identifier for all participating devices. All devices must be in the same layer 2 broadcast domain ¿ AX(config)# vrrp-a set-id 1 Note: Each VRRP-A/aVCS cluster in an L2 domain must have a unique set-id ¿ 2. Configure VRRP-A Device ID ¿ ¿ 3. The Device ID is a unique device identifier within the VRRP-A set AX(config)# vrrp-a device –id (AX1 = 1, AX2 = 2, etc) Enable VRRP-A ¿ AX(config)# vrrp-a enable 69 VRRP-A: Active–Standby Configuration (cont.) 4. Configure VRRP-A group options (called VRID) ¿ All functional resources not explicitly assigned to user-created VRIDs are automatically assigned to default VRID Default VRID number is 0. That number cannot be used to create a custom VRID ¿ Recommended settings: ¿ ° ¿ Optional settings: (Recommended values in "italic“) ° ° ° ° ¿ ¿ Floating IP (VRRP IP Address used as gateway by servers/routers) Preempt ("enabled ", default = enabled) Preempt Delay (“vrrp-a preemption-delay 60”) Priority ("AX-Active=200 / AX-Standby=199", default = 150) Tracking ² Gateway ("default gateway IP Address", no default) ² Interface ("production interfaces", no default) Deployment scenarios with more than one active device require at least as many VRIDs as active devices (including default) AX(config)# vrrp-a vrid default AX(config-vrid-default)# … 70 VRRP-A: Active–Standby Configuration (cont.) 5. Configure VRRP-A settings for VIPs ¿ No Configuration is required if using VRID default ¿ Optional settings ° ° ¿ Enable HA Connection Mirroring on the VIP ports: To synchronize SLB session table (available for TCP, UDP, RTSP, FTP, MMS and SIP VIP types) Note: For HTTP/HTTPS VIP types, the client session is terminated on the A10 device. HA Connection Mirroring is not available for these VIP types. AX(config)# slb virtual-server <name> AX(config-slb vserver)# port <#> tcp AX(config-slb vserver-vport)# ha-conn-mirror Optional settings – Not recommended ° Enable Dynamic Server Weight: Reduce the A10 VRRP-A priority when a server is down 71 VRRP-A: Active–Standby Configuration Example AX01-Active# AX02-Standby# slb server gw 10.0.1.1 ! vrrp-a device-id 1 vrrp-a set-id 1 vrrp-a enable vrrp-a vrid default priority 200 floating-ip 10.0.2.10 tracking-options interface ethernet 1 priority-cost 2 interface ethernet 2 priority-cost 2 gateway 10.0.1.1 priority-cost 2 ! slb virtual-server vip1 10.0.1.12 port 80 tcp ... ha-conn-mirror port 21 ftp ... ha-conn-mirror slb server gw 10.0.1.1 ! vrrp-a device-id 2 vrrp-a set-id 1 vrrp-a enable vrrp-a vrid default priority 199 floating-ip 10.0.2.10 tracking-options interface ethernet 1 priority-cost 2 interface ethernet 2 priority-cost 2 gateway 10.0.1.1 priority-cost 2 ! slb virtual-server vip1 10.0.1.12 port 80 tcp ... ha-conn-mirror port 21 ftp ... ha-conn-mirror 72 VRRP-A: Active–Active Mode Active-Active Mode ¿ ¿ ¿ All A10 units process the production traffic Sessions and state information are mirrored between Active & peer units for each Group-ID Performance is scaled in addition to reliability VIPs – Group1 Floating IP – Group1 SNAT IP – Group1 VIPs – Group1 Floating IP – Group1 SNAT IP – Group1 Active Active VIPs – Group2 Floating IP – Group2 SNAT IP – Group2 VIPs – Group2 Floating IP – Group2 SNAT IP – Group2 73 VRRP-A: Active–Active Failover Active-Active Failover ¿ Peer A10 is elected active for VIPs-group 2 and sends gratuitous ARPs for virtual IPs, floating IPs, and NAT IPs ¿ Existing mirrored sessions are picked up by peer AX ¿ Peer A10 serves requests for both VIPs groups ¿ In case of "N Standby" deployments, the secondary standby becomes primary standby and mirrors the active sessions from the new Active AX Failed Active VIPs – Group1+2 Floating IP – Group1+2 SNAT IP – Group1+2 VIPs – Group1+2 Floating IP – Group1+2 SNAT IP – Group1+2 74 VRRP-A: Active–Active Configuration VRRP-A Active-Active Mode – configuration steps 1. Configure VRRP-A ° 2. 3. Same as Active/Standby Configure VRRP-A group options (called VRID) ° Same as Active/Standby (configured for each VRRP-A VRID) ° Requires a unique VRID for each Group-ID Configure VRRP VRID for SLB-VIPs + NAT ° Associate the SLB-VIPs + NAT with a VRID Note: By default the SLB-VIPs + NAT are in the default VRID 75 VRRP-A: Active–Active Configuration Example AX01# AX02# slb server gw 10.0.1.1 ! vrrp-a device-id 1 vrrp-a set-id 1 vrrp-a enable vrrp-a vrid 1 floating-ip 10.0.2.2 priority 200 tracking-options interface ethernet 1 priority-cost 2 interface ethernet 2 priority-cost 2 gateway 10.0.1.1 priority-cost 2 vrrp-a vrid 2 floating-ip 10.0.2.3 priority 199 tracking-options interface ethernet 1/1 priority-cost 2 interface ethernet 1/2 priority-cost 2 gateway 10.0.1.1 priority-cost 2 ! slb virtual-server vip1 10.0.1.12 vrid 1 ... slb virtual-server vip2 10.0.1.13 vrid 2 … slb server gw 10.0.1.1 ! vrrp-a device-id 2 vrrp-a set-id 1 vrrp-a enable vrrp-a vrid 1 floating-ip 10.0.2.2 priority 199 tracking-options interface ethernet 1 priority-cost 2 interface ethernet 2 priority-cost 2 gateway 10.0.1.1 priority-cost 2 vrrp-a vrid 2 floating-ip 10.0.2.3 priority 200 tracking-options interface ethernet 1/1 priority-cost 2 interface ethernet 1/2 priority-cost 2 gateway 10.0.1.1 priority-cost ! slb virtual-server vip1 10.0.1.12 vrid 1 ... slb virtual-server vip2 10.0.1.13 vrid 2 … 76 VRRP-A: Troubleshooting VRRP-A status ¿ VRRP-A statistics ¿ CLI-only: AX# show vrrp CLI-only: AX# show vrrp detail VRRP-A manual failover ¿ A10 failover ° ¿ CLI-only: AX(conf)# vrrp force-self-standby A10 specific group (vrid) failover ° CLI-only: AX(conf)# vrrp force-self-standby vrid <#> 77 Virtual Chassis System - aVCS 78 aVCS aVCS (Virtual Chassis System) is a centralized configuration management layer aVCS can be combined with VRRP-A or legacy HA Combined with redundancy, aVCS facilitates clustering of ACOS devices Virtual Chassis aVCS vMaster vBlade vBlade vBlade VRRP-­‐A 79 aVCS: Benefits Centralized point (single IP) for management of all aVCS devices ¿ L4/7 configuration changes are automatically propagated to all devices ¿ L2/3 device configuration can be performed using device-specific ID ° A1-­‐Active-­‐vMaster[1/1](config)#vlan 2/300 A1-­‐Active-­‐vMaster[1/1](config-­‐vlan:2/300)#tagged ethernet 3 ° OR A1-­‐Active-­‐vMaster[1/1](config)#router device-­‐context 2 All the following router configuration will go to device 2 A1-­‐Active-­‐vMaster[1/1](config)#router ospf 1 Adding new devices to aVCS chassis is largely automated ¿ vMaster checks and upgrades vBlade if necessary ¿ vMaster pushes configuration to vBlade 80 aVCS: Requirements Topology ¿ aVCS uses Link Local UDP multicast for heartbeat messages ¿ Heartbeat messages are sent via multicast to all vBlades ° Multicast IP: 224.0.0.210 ° UDP Port: 41217 ¿ vMaster transfers data to vBlades (configuration, status, image files) via Unicast TCP ¿ Interfaces selected for aVCS need to be in the same layer 2 broadcast domain Software and hardware ¿ Devices should be the same model number and hardware and capable of running the same version of ACOS 81 aVCS: vMaster and vBlade vMaster ¿ ¿ All configuration is performed from here vMaster uses floating IP, so admin always logs in to the same management IP -- even after failover vBlade ¿ Device which acts as a blade in a virtual chassis ¿ Config privilege level is disabled ¿ vBlade can become vMaster when the device hosting the latter loses connectivity or admin forces vMaster takeover 82 aVCS: Device ID and Chassis ID Device ID ¿ Unique device identifier within the virtual chassis. It can be set using vrrp-­‐a command ° A1(config)#vrrp-­‐a device-­‐id 1 Chassis ID ¿ Unique chassis identifier. It can be set using vrrp-a command ° A1(config)#vrrp-­‐a set-­‐id 1 83 aVCS: vMaster Election Process No Yes 84 aVCS: Overriding vMaster Election vMaster device priority ¿ vMaster affinity ¿ A1-­‐Active-­‐vMaster[1/1](config)#vcs device 1 A1-­‐Active-­‐vMaster[1/1](config-­‐vcs-­‐dev)#affinity-­‐vrrp-­‐a-­‐vrid <vrid> vMaster takeover ¿ A1-­‐Active-­‐vMaster[1/1](config)#vcs device 1 A1-­‐Active-­‐vMaster[1/1](config-­‐vcs-­‐dev)#priority ? <1-­‐255> Device priority A2-­‐Standby-­‐vBlade[1/2]#vcs vmaster-­‐take-­‐over ? <1-­‐255> vMaster take over priority Note: Default vMaster device priority is 0 85 aVCS: Configuration Device 1 ¿ vrrp-­‐a device-­‐id 1 vrrp-­‐a set-­‐id 1 vcs enable vcs floating-­‐ip <ip_add> /<netmask> vcs device 1 interface <interface_id> interface <interface_id> enable vcs reload Device n ¿ vrrp-­‐a device-­‐id n vrrp-­‐a set-­‐id 1 vcs enable vcs device n interface <interface_id> interface <interface_id> enable vcs reload Note: You must issue a ‘vcs reload’ after each aVCS configuration change. Note: Use ‘vcs reload disable-merge’ for un-configured device (RMA) Note: You should configure more than one aVCS interface for redundancy 86 aVCS: Troubleshooting aVCS summary and status ¿ A1-­‐Active-­‐vMaster[1/1]#show vcs summary aVCS statistics ¿ A1-­‐Active-­‐vMaster[1/1]#show vcs stat ° Check vcs running config ¿ (over 100 lines of output per device in the chassis) A1-­‐Active-­‐vMaster[1/1]#show run | sec vcs Check ACOS versions ¿ A1#show bootimage ¿ A1#show version 87 aVCS: Best practices Configure aVCS before VRRP-A Set up redundant aVCS paths (data ports/trunk and management port) Use vcs vMaster-­‐maintenance <seconds> mode when making config changes on production networks in order to preserve integrity of the original configuration during maintenance Set vcs failure-­‐retry-­‐count -­‐1 to prevent aVCS timeouts Use staggered upgrade to install new ACOS on devices in an aVCS chassis 88 Troubleshooting 89 A10 Troubleshooting – Bottom Up Approach Basic Network – L1 / L2 / L3 ¿ L1; power, cabling, system core, logs ¿ L2/3: ping / traceroute / interface status / routing Server Status ¿ Health Checks, ¿ Server/Service-group status TCP / UDP - L4 ¿ SYN/SYN ACKs ¿ Ports Available / NAT HTTP ( HTTPS ) - L7 ¿ aFleX ? ¿ Rewrite Rules / Redirection / Response Codes ¿ Compression / Caching? Sessions / Persistence L4/7 ¿ Cookies / Source IP / Ports / LB Metric? Performance ¿ CPS / L4-7 / SSL ¿ Total Connections established 90 Log ACOS logs many informational, warning, and error messages. show log is the first place to check when experiencing issues. ¿ ¿ ¿ ¿ ¿ ¿ ¿ Port/Interface up/down messages L2 loop detection warnings Unicast/Multicast/Broadcast packet limit warnings MAC address movement warnings Duplicate IP warnings Server & service port up/down messages Application-specific error messages: SLB, PBSLB, HTTP, HA, AFLEX, […] Monitoring ¿ ¿ WebUI: Monitor > System > Logging > Logging CLI: ACOS# show log [ | inc <reg_ex> ] 91 Audit Log ACOS logs administrative actions with username, date, and time stamp. It also logs new administrative sessions. ¿ Example Sep 30 2013 12:21:04 [admin] web: add Source IP Persistence template [pers1] successfully. Sep 30 2013 11:41:54 [admin] cli: vcs device-­‐context device 2 Sep 30 2013 12:29:28 A web session[1] opened, username: admin, remote host: 10.254.102.12 Monitoring ¿ WebUI: Monitor > System > Logging > Audit ¿ CLI: ACOS# show audit [ | inc <reg_ex> ] 92 Examining running config Examine running config with the following tools ¿ ACOS# show run [ | sec ^[0-­‐z] ] ↑ the optional element at the end of this command strips blank lines from the output ¿ ACOS# show run | sec <config_element> ¿ ACOS# show run slb […] ↑ statistics for each configuration element ¿ ACOS# show ha [config] ¿ ACOS# show vrrp-­‐a [ config | detail ] ¿ ACOS# show vcs [ summary | message-­‐buffer ] 93 Correlating log to audit log Use built-in include and section utilities to find corresponding lines in log, audit log, and running config ¿ Thunder# show log :45 Warning [ACOS]:Duplicated IP 10.0.1.1 MAC 000c. 2976.5904 from Port 1 VLAN 3 detected ¿ ThunderX# show audit | inc ° Sep 24 2013 09:56:46 [admin] cli: port 80 http Sep 24 2013 09:56:28 [admin] cli: slb virtual-­‐server vip1 10.0.1.1 ¿ ThunderX(config)# show run | sec 10.0.1.1 ° ip route 0.0.0.0 /0 10.0.1.1 slb virtual-­‐server vip1 10.0.1.1 port 80 http 94 Server Health Check Display health check statistics ACOS# show health stat [long list of statistics] IP address Port Health monitor Status Cause(Up/Down) Retry PIN 10.0.2.18 default UP 11 /0 @0 0 0 /0 0 10.0.2.19 80 default UP 20 /0 @0 0 0 /0 0 10.0.2.18 80 web UP 10 /0 @0 0 0 /0 0 10.0.2.19 80 web UP 10 /0 @0 0 0 /0 0 (see CLI Reference manual for codes) Show running health monitors ACOS #show health monitor Idle = Not used by any server In use = Used by server Monitor Name Interval Retries Timeout Up-­‐Retries Method Status ping 5 3 5 1 ICMP In use web 5 3 5 1 HTTP In use 95 axdebug axdebug ¿ Captured files are in pcap format (Wireshark / tcpdump) ¿ Able to see every detail of the packets the A10 receives & sends axdebug is session based ¿ If one packet matches filter, dump all the following packets in the same session Packet 1 Client: 200.0.0.1 Src: 200.0.0.1 Dst: 100.0.0.10 Src: Port 35525 Dst: Port 80 Packet 2 AX-VIP: 100.0.0.10 NAT Pool: 100.0.0.100 Src: 100.0.0.100 Dst: 100.0.0.201 Src Port: 35525 Dst Port: 80 Server: 100.0.0.201 96 axdebug filters Build filters to fine tune your capture ¿ axdebug example ¿ ¿ ACOS# axdebug ACOS(axdebug)# count 3000 ACOS(axdebug)# filter 1 ACOS(axdebug-­‐filter:1)# ip 1.2.3.4 /32 ACOS(axdebug-­‐filter:1)# exit ACOS(axdebug)# capture save <file_name> NOTE: (make sure to use caution when printing output to the screen on a production system. Limiting the count number is good practice) Stop axdebug trace ¿ Multiple conditions within a filter are ANDed, multiple filters are ORed. ACOS# no axdebug Export axdebug trace ¿ ACOS# export axdebug <filename> [use-­‐mgmt-­‐port] <destination> 97 Session Filtering Fine-tune session monitoring by using filters ¿ ACOS(config)# session-­‐filter <filter_name> […] Example ACOS(config)# session-­‐filter c1 source-­‐addr 10.0.1.161 dest-­‐addr 10.0.1.12 dest-­‐port 80 ACOS# show session filter c1 Prot Forward Source Forward Dest Reverse Source Reverse Dest Age Hash Flags Type Tcp 10.0.1.161:36690 10.0.1.12:80 10.0.2.18:80 10.0.2.16:14075 0 1 NSe1 SLB-­‐L7 Tcp 10.0.1.161:36660 10.0.1.12:80 10.0.2.18:80 10.0.2.16:14045 0 1 NSe1 SLB-­‐L7 98 Layers 1-4 Layer 1-2 ¿ ACOS# show int […] Layer 3 ¿ ACOS# show arp ¿ ACOS# show ip route ¿ ACOS# show access-­‐list ¿ ACOS# show run | sec router Layer 4 ¿ ACOS# show slb l4 ¿ host# telnet <ip> <port> ¿ ACOS# axdebug 99 Layer 7: HTTP Troubleshooting Show enabled L7 features ¿ ACOS# show run | sec slb ¿ Try without the advanced features first (compression, connection reuse, and so on) Packet trace ¿ ACOS# axdebug ° Is server receiving the request sent by the ACOS device? ° Any standard HTTP header missing? (host, method, … and so on) ° Do all of the HTTP headers have desired values? ° Response Code from server’s response? ° Size of request / response payload? Is it taking a long time to process the request? ° What are the cookies? ° 100 Layer 7: HTTP (cont.) ACOS# show slb http debug DP0 DP1 Total ----------------------------------------------------Fwd req fail - buff 0 0 0 Fwd req fail - rport 0 0 0 Fwd req fail - route 0 0 0 Fwd req fail - persist 0 0 0 Fwd req fail - server 0 0 0 Fwd req fail - tuple 0 0 0 L4 switching (succ) 0 0 0 L4 switching (enQ) 0 0 0 Cookie switching (succ) 0 0 0 Cookie switching (enQ) 0 0 0 aFleX switching (succ) 0 0 0 aFleX switching (enQ) 0 0 0 URL switching (succ) 0 0 0 URL switching (enQ) 0 0 0 Host switching (succ) 0 0 0 Host switching (enQ) 0 0 0 Normal LB switching 0 63 63 Normal LB switch. (succ) 0 63 63 Normal LB switch. (enQ) 0 0 0 Client RST 0 3 3 Client RST - request 0 3 3 Client RST - connecting 0 0 0 Client RST - connected 0 0 0 Client RST - response 0 0 0 Server RST 0 0 0 Request 1.0 Request 1.1 Method GET Method HEAD Method PUT Method POST Method TRACE Method OPTIONS Method CONNECT Method DELETE Method UNKNOWN Resp 1.0 Resp 1.1 Resp content len Resp chunk encoding status code 1XX status code 2XX status code 3XX status code 4XX Resp <= 1K Resp <= 2K Resp <= 4K Resp <= 8K Status code 1XX Status code 100 Status code 101 Status code 102 Status code 2XX Status code 200 Status code 201 Status code 202 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 63 0 0 0 0 0 0 0 0 0 63 63 0 0 63 0 0 63 0 0 0 0 0 0 0 63 63 0 0 0 63 63 0 0 0 0 0 0 0 0 0 63 63 0 0 63 0 0 63 0 0 0 0 0 0 0 63 63 0 0 101 Layer 7: HTTP (cont.) DP0 DP1 Total -----------------------------------------------------------------Fwd req fail 0 0 0 Fwd req fail - buff 0 0 0 Fwd req fail - rport 0 0 0 Fwd req fail - route 0 0 0 Fwd req fail - persist 0 0 0 Fwd req fail - server 0 0 0 Fwd req fail - tuple 0 0 0 L4 switching 0 0 0 L4 switching (succ) 0 0 0 L4 switching (enQ) 0 0 0 Cookie switching 0 0 0 Cookie switching (succ) 0 0 0 Cookie switching (enQ) 0 0 0 aFleX switching 0 0 0 aFleX switching (succ) 0 0 0 aFleX switching (enQ) 0 0 0 URL switching 0 0 0 URL switching (succ) 0 0 0 URL switching (enQ) 0 0 0 Host switching 0 0 0 Host switching (succ) 0 0 0 Host switching (enQ) 0 0 0 Normal LB switching 0 34 34 Normal LB switch. (succ) 0 34 34 Normal LB switch. (enQ) 0 0 0 Connecting RST retran 0 0 0 Connecting RST ofo 0 0 0 Connecting ACK Packets retrans Packets ofo Stale sess Server re-select failed Large cookies Large cookie headers Huge cookies Huge cookie headers Parse cookie fail Parse set-cookie fail Assemble cookie fail Asm cookie header fail Assemble set-cookie fail Asm set-cookie hdr fail Invalid header Too many headers Line too long Header name too long Wrong response header Header insert Header delete Insert client IP Negative request remain Negative response remain Retry on 503 aFleX http retry aFleX lb reselect aFleX lb reselect (succ) Request 1.0 Request 1.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 102 Layer 7: HTTP (cont.) ACOS# show slb http-proxy Total -----------------------------------------------------------------Curr Proxy Conns 0 Total Proxy Conns 63 HTTP requests 63 HTTP requests(succ) 63 HTTP req (cache succ) 0 No proxy error 0 Client RST 3 Server RST 0 No tuple error 0 Parse req fail 0 Server selection fail 0 Fwd req fail 0 Fwd req data fail 0 Req retransmit 0 Req pkt out-of-order 0 Server reselection 0 Server premature close 0 Server conn made 63 Source NAT failure 0 Tot data before compress 0 Tot data after compress 0 Request over limit 0 Request rate over limit 0 103 Layer 7: HTTPS/SSL Troubleshooting Show enabled features ¿ ACOS# show run | sec slb ° Show SSL stats ° ° show slb ssl stat show slb ssl cert Packet trace ¿ ACOS# axdebug ° Is client able to finish SSL Handshake with VIP? Is ACOS device able to finish SSL Handshake with server? ° Analyze packet pcap in protocol analyzer tool. ° Any issues pertaining to redirect? ° Are client-ssl and server-ssl templates applied on vport? Decrypted trace ¿ Are there any absolute links in Javascripts / Links / Images (http://xxx)? 104 Session details #show session Traffic Type Total ------------------------------------------------TCP Established 1 TCP Half Open 10 UDP 0 Non TCP/UDP IP sessions 0 Other 0 Reverse NAT TCP 0 Reverse NAT UDP 0 Curr Free Conn 2031556 Conn Count 1387 Conn Freed 1354 TCP SYN Half Open 0 Conn SMP Alloc 0 Conn SMP Free 0 Conn SMP Aged 0 Conn Type 0 Available 3866622 Conn Type 1 Available 1933300 Conn Type 2 Available 966644 Conn Type 3 Available 483305 Forward Source: Client IP address when connecting to a VIP. • For DNS sessions, the client’s DNS transaction ID is shown instead of a protocol port number. • The output for connection-reuse sessions shows 0.0.0.0 for the forward source and forward destination addresses. Forward Dest: VIP to which the client is connected. Reverse Source: Real server’s IP address. Reverse Dest: IP address to which the real server responds. • If source NAT is used for the virtual port, this address is the source NAT address used by A10 device when connecting to the real server. • If source IP NAT is not used for the virtual port, this address is the client IP address. Age: Number of seconds since the session started. Hash: CPU ID. Flags: This value is used by A10 Technical Support. Prot Forward Source Forward Dest Reverse Source Reverse Dest Age Hash Flags ---------------------------------------------------------------------------------------------------------------------------------------------------------Tcp 192.168.4.1:60456 192.168.4.200:80 192.168.3.100:80 192.168.4.50:2344 0 1 NSe1 Tcp 192.168.4.1:60447 192.168.4.200:80 0.0.0.0 0.0.0.0 0 1 NSe1 ….. If 0.0.0.0 then connection has not been established yet (half-open) Total Sessions: 11 105 ACOS Performance Show memory utilization ¿ ACOS# show memory [ system ] System Memory Usage: Total(KB) Free Shared Buffers Cached Usage 16456546 8224340 0 2420 159084 49.0% ↑ Memory is pre-allocated based on system resource configuration. Show cpu utilization / Slb usage ¿ ACOS# show cpu [ interval […] ] ¿ ACOS# show slb performance [ interval […] ] ↑ shows utilization per cpu for the past minute. Customizable “interval” triggers continuous updates. Show resource limits ¿ ACOS# show system resource-­‐usage ↑ shows minimum, maximum, default, and currently set limits for configuration items 106 ShowTech ShowTech is a comprehensive collection of output from many troubleshooting utilities ¿ WebUI: generate new file and save to laptop ¿ Monitor > System > Diagnosis > Show Techsupport WebUI: view and save previously generated files ¿ When contacting A10 Tech Support you will be asked to generate one Monitor > System > Diagnosis > ShowTech File CLI: generate and export file to a remote server or view on the screen ¿ ACOS# show techsupport [export] [use-­‐mgmt-­‐port] [<remote_destination>] 107 The Power of Show Tech and Backup Logs What is ‘show tech’ and why you need it? ¿ ¿ Configuration, logging, crash, version, uptime, memory, and real time snapshot of various l2-l7 statistics of the system. Getting a diff of two show tech snapshots while a problem is happening can help identify underlying problems in the platform. ¿ Can greatly aid in offline debugging. ¿ CLI : (ACOS# sh tech export) ¿ GUI : Monitor > System > Diagnosis > ShowTech File Backup logs may also contain valuable information into the cause of the problem. ¿ Could be extremely helpful in post-network outage troubleshooting. ¿ CLI : (‘ACOS# export log’) ¿ GUI : Config > System > Maintenance > Backup 108 Useful Troubleshooting Commands– from Bottom-Up L1/System ¿ ¿ ¿ ¿ ¿ show interface eth <number>, show int stat show stat interface eth <number> show core, show version, show log, show tech show cpu, show hardware, show slb performance show mem, show mem system L2 L7 ¿ ° ° ° ¿ ¿ ¿ HTTP SSL/HTTPS ° show arp, show mac, show ipv6 neigh show switch mac (FPGA units) ° ° L3 ° ¿ ¿ ¿ ¿ show slb switch show ip route, sh ip fib (sh ipv6 route, sh ipv6 fib) debug packet l3-protocol <ip/ipv6> <ip address> capture tools (Axdebug, Debug Monitor) L4 ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ show session, Show session persist show slb server, Show slb virtual, show slb service show slb l4 <det> show ip nat pool stat show ip nat trans show slb persist debug tcp stack, show slb tcp stack debug packet l4-protocol <tcp/udp> <port> capture tools (Axdebug, Debug Monitor) show slb ssl stat show slb ssl cert debug ssl x.509 aFlex logging ¿ Capture tools (Axdebug, Debug Monitor) ¿ aFlex: ° ¿ show slb http debug show slb http-proxy debug http-proxy ° ° ° debug aflex, show aflex debug show aflex <aflex name> debug (aflex TCL logging) Helathcheck ° ° ° show health stat show health monitor debug hm 109 A10 Tech Support Resources 110 Experienced & Focused Organization Qualified Support Staff ¿ Engineering Background with industry experience Support Organization ¿ Japan and China Support ° ¿ Tier 2 and Tier 3 Support Engineers ° ¿ Case manager -> Support engineers Support QA Engineers ° ° ° ¿ Local language support available in Japan and China Patch and Maintenance testing Recreating CFD (Customer Found Defects) Verifying CFD fixes using customer profile Sustaining Engineers ° Integrated into Support 111 2014 Global Support and RMA Depots Netherlands San Jose, USA § 4 Technical Support Centers providing 24 x 7 x 365 support. § 60 Support Resources § Toll free numbers and local language support § China Dubai Tokyo, Japan Support Center 35 RMA depots worldwide and growing (99% OTD) 112 Hardware RMA Centers RMA Depots ¿ 4 hour Advance RMA ° ¿ ¿ US & Canada Next Business Day Advance Replacements ° US & Canada ° Japan ° Taiwan ° Hong Kong ° EU Countries ° Australia By Q4 2014 ° Colombia, Chile, New Zealand, China, South Korea, Singapore, Turkey, Saudi Arabia, Dubai, Switzerland 113 A10 Support Contact Guidelines If there is a network emergency or time-critical issue – Call the A10 Networks TAC: ¿ ¿ ¿ +1-888-TACS-A10 (888-822-7210) +1 (408) 325-8676 900 804 766 (Spain Toll Free) If you have a critical question on “How do I….” Contact A10 TAC via: Phone: 1-888-TACS-A10 (888-822-7210) Email: support@a10networks.com Support Web: http://a10networks.com/support You may refer to the following document for A10 TAC procedures: ¿ <https://www.a10networks.com/resources/files/A10-BR-Support.pdf> 114 Information Gathering When requesting A10 TAC assistance, be prepared to provide the following: ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ Product Serial number Customer contact information Partner/Reseller name Description of the problem in detail Priority level and impact of the problem Indication of the activity that was being performed when the problem occurred Software version Configuration and/or network topology information Show techsupport (output that provides the whole configuration and statistics) ° ° WebUI: Monitor > System > Logging > Show Techsupport CLI: AX# show techsupport 115 Additional Information required for RMA request For RMA requests, include the shipping information. ¿ Company ¿ Ship-to Address ¿ City, State, ZIP code ¿ Country (if outside of US) ¿ Contact person ¿ Contact phone number 116 Online Tech Support A10 TAC offers two online resources ¿ Support Web Portal: <https://www.a10networks.com/support-axseries/index.php> ¿ A10 User Community Forum: <https://www.a10networks.com/vadc/> 117 Severity Level Priority 1: Priority 3: Network Down Performance Impact, Installation Issue Priority 2: Priority 4: Serious Performance Degradation Information request Priority 1 and 2 issues should be reported via 1-888-TACS-A10 118 Service Level Agreement Response Time 119 Escalation Metrics Level 1 Level 2 (after 1hr) Level 3 (after 4hrs) Level 4 (after 24hrs) Priority 1, Critical TAC Engineer/ Manager Director, Technical Support VP, Engineering/ Sales CEO Priority 2, High TAC Engineer TAC Manager Director, Technical Support VP, Engineering/ Sales CEO Priority 3, Medium TAC Engineer TAC Engineer TAC Engineer TAC Manager Flagged Priority 4, Low TAC Engineer TAC Engineer TAC Engineer TAC Engineer Flagged (after 14 days) Escalation Level 5 (>7days) 120 Additional Online Resources 121 Online Resources A10 Support Portal: ¿ A10 Online Community: ¿ https://www.a10networks.com/resources/training.php A10 Deployment Guides: ¿ https://www.a10networks.com/support-axseries/faqs/category/121/0/10/aFleX/ A10 Training Programs: ¿ https://www.a10networks.com/vadc/ A10 A-Flex Support: ¿ https://www.a10networks.com/support-axseries/index.php http://www.a10networks.com/resources/deployment_guides.php A10 A10 ADC Resources: ¿ http://www.a10networks.com/products/axseries_adc.php 122 Thank You www.a10networks.com Do not distribute/edit/copy without the written consent of A10 Networks 123 A10 Software Release Cycle 124 Software Release Types Engineering Releases ¿ New features Support Releases ¿ Maintenance release 125 Engineering Release Type Architecture Release : 1.x , 2.x, 3.x ¿ ¿ Major Release: x.1.y to x.2.y ¿ ¿ Architectural Change Scheduled on average around 2 years Release for customer features and internal enhancements. Scheduled on average between 12-14 months. Minor Release: x.y.1 to x.y.2 ¿ ¿ Periodic bug fix release, with some minor feature enhancement. Schedule on average every 4 – 6 months. 126 Support Release Type Patch Release: x.y.z-P1 ¿ ¿ ¿ ¿ ¿ Release for bug fixes (mostly customer reported bugs) May include minor changes for supportability and reliability Scheduled between 2 – 6 Months Include previous patch releases’ bug fixes Signed off by Sustaining, QA, and Support Special Patch Release: x.y.z.-P1-SP1 ¿ ¿ ¿ ¿ Emergency release targeted for a specific customer. Full automation regression testing 2-3 days Limited manual functional testing Signed off by Engineering, Sustaining, QA, and Support 127 Software Release Type Gold Releases ¿ 2.6.1-GR1 as the First SLB Gold Release ° ¿ Released in February, 2012 2.6.6-GR1 as the First LSN/IPv6 Gold Release ° To be released in 2Q2013 ¿ Supported for a minimum of 4 years ¿ Additional QA resources for extended test cases ¿ Thorough code reviews on all code check-in ¿ Based on proven released branch with field exposure ¿ No major enhancement added ° Supportability, Compliance, and MIB changes may be added 128 Software Release Branch Diagram 2.6.6 p2 2.6.6-GR1 LSN 2.6.6 2.6.1 GA 2.6.1-GR1 2.6.1 p4 2.6.1 Main Trunk 2.7.0 2.4.3 .... 2.4.3-p14 129