www.SAMURAJ-cz.com 

25.04.2024 Marek Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Cisco CSS - Content Services Switch - základní konfigurace

Pátek, 02.10.2009 13:36 | Samuraj - Petr Bouška |
Dostal jsem se k tomu, že jsem potřeboval provést základní konfiguraci Content Switche (jednalo se o model Cisco CSS 11503 verze 8.20). Konfigurace CSS se provádí přes CLI, které je "jako" Cisco IOS, ale od IOSu na switchích se docela odlišuje. Pokud chceme provést základní konfoguraci (která je popsána zde), tak si vystačíme s pár příkazy. Musíme však znát základní princip a ty důležité příkazy (které jsou v oficiální dokumentaci popsány značně rozsáhle). Samozřejmě CSS obsahuje mnohem více funkcí a možností, zde je uvedena nejzákladnější konfigurace.

Princip funkce CSS

Content Switch je primárně zaměřen pro webovou infrastrukturu a slouží k zajištění vysokého výkonu (high-performance) a vysoké dostupnosti (high-availability). Zajišťuje robustní doručování aplikací na 4. až 7. vrstvě OSI. Vyšší modely jsou modulární a můžeme využívat funkce jako SSL, komprese, firewall. CSS funguje tak, že máme několik serverů, klienti se připojují na jednu virtuální adresu na CSS a ten zajišťuje vyvažování zátěže (odesílání požadavků) na různé servery podle zadané metody, zátěže, udržení session apod.

Dále je uváděný jednoduchý příklad, který konfiguruje následující situaci. Port 2/1 CSSka je nastaven do VLAN 10 a k němu je připojen klient. Port 2/2 je ve VLAN 20 a k němu je připojen switch, kde jsou připojeny 2 servery. VLAN 10 i 20 má nastavenu IP adresu z daného rozsahu, aby CSS mohl routovat mezi nimi. Ve VLAN 10 se nachází i VIP (virtual IP) adresa, což je adresa, kterou klient volá pro přístup na web server. Servery mají nastaveny adresy z VLAN 20 a jako GW mají nastavenu adresu CSS (v dané VLANě).

Schéma zapojení CSS

VIP adresa je přiřazena CSSku, po jejím zavolání klientem se na CSS najde odpovídající Content rule, tedy pravidlo, které podle obsahu (doménové jméno, IP, protokol, port, URL) a zvolené vyvažovací metody, přiřazuje odpovídající Service, službu s určenými parametry. Content rules jsou zařazeny pod Owner (vlastníka), což je pro rozdělení různých zákazníků (můžeme použít pouze jednoho Owner a k němu řadu Content rule). V našem příkladu ještě konfigurujeme (myslím, že běžnou situaci) to, že klient přistupuje na standardní port 80, to je uvedeno v Content Rule. Ale tento port se uvnitř CSS přesměrovává (překládá) na port 7010, kde běží aplikace na serverech, to je uvedeno u jednotlivých Service.

Schéma funkce CSS

Pro vyvažování zátěže mezi servery používáme nejjednodušší metodu Round Robin, kdy se střídavě obsluhují všechny servery (v uzavřeném kruhu). Tato metoda se konfiguruje u Content Rule. Protože toto je základ CSS, tak máme spoustu dalších možností, použít jinou metodu, sledovat zátěž jednotlivých serverů a k tomu přihlížet při vyvažování, udržovat informace o session, aby byla vždy směrována na stejný server.

Konfigurace CSS

K CSS se připojíme klasickým (modrým) sériovým kabelem, který zapojíme do System Control modulu, jedná se o neoznačený port. Druhá možnost je použít Ethernetový port nazvaný Management. Defaultní uživatel CSS je admin s heslem system.

Oproti IOSu můžeme show příkazy zadávat v jakémkoliv módu. Jinak se konfigurují VLANy a zařazování interfaců do VLAN. Řada příkazů zde chybí, například hromadná konfigurace interfaců.

Začneme nakonfigurováním portů, které zařadíme do VLAN 10 a 20. Tím se nám tyto VLANy i vytvoří.

CSS11503# configure terminal
CSS11503(config)# interface 2/1
CSS11503(config-if[ 2/1])# bridge vlan 10
CSS11503(config)# interface 2/2
CSS11503(config-if[ 2/1])# bridge vlan 20

Následně nastavíme SVI – interfacy pro VLAN, které se zde jmenují circuit.

CSS11503(config-if[ 2/1])# circuit VLAN10
CSS11503(config-circuit[VLAN10])# description "Clients"
CSS11503(config-circuit[VLAN10])# ip address 10.10.0.1 255.255.255.0 
CSS11503(config-circuit[VLAN10])# circuit VLAN20
CSS11503(config-circuit[VLAN20])# description "Servers"
CSS11503(config-circuit[VLAN20])# ip address 192.168.60.250 255.255.255.0
CSS11503(config-circuit-ip[VLAN20-192.168.60.250])# exit
CSS11503(config-circuit[VLAN20])# exit

Potom vytvoříme Service (služby) pro naše dva servery. Jejich parametrem je IP adresa, TCP protokol a port 7010. Nesmíme je zapomenout aktivovat.

CSS11503(config)# service server1
CSS11503(config-service[server1])# ip address 192.168.60.13
CSS11503(config-service[server1])# port 7010
CSS11503(config-service[server1])# protocol tcp
CSS11503(config-service[server1])# active
CSS11503(config-service[server1])# service server2
CSS11503(config-service[server2])# ip address 192.168.60.14
CSS11503(config-service[server2])# port 7010
CSS11503(config-service[server2])# protocol tcp
CSS11503(config-service[server2])# active

Když máme Service, tak vytvoříme Content rule, ale musíme začít s Owner. Nastavíme VIP adresu, přidáme služby a zvolíme na jakém protokolu a portu posloucháme. Tím se provede i přesměrování z portu 80 na 7010. Opět musíme pravidlo aktivovat.

CSS11503(config-service[server2])# owner servers-test
CSS11503(config-owner-content [servers-test])# content servers
CSS11503(config-owner-content[servers-test-servers])# vip address 10.10.0.10
CSS11503(config-owner-content[servers-test-servers])# add service server1
CSS11503(config-owner-content[servers-test-servers])# add service server2
CSS11503(config-owner-content[servers-test-servers])# protocol tcp
CSS11503(config-owner-content[servers-test-servers])# port 80
CSS11503(config-owner-content[servers-test-servers])# active

Na závěr si vše uložíme.

CSS11503# copy running-config startup-config
 Working..(\) 100%

Tím by mělo být vše hotovo a náš příklad by měl být funkční. Zmíním pouze pár drobností.

Když chceme provést nějakou změnu na Service nebo Content Rule, tak je musíme nejprve deaktivovat. A samozřejmě následně zas aktivovat.

CSS11503(config-service[server2])# suspend

V našem Content Rule jsme využili defaultní metodu vyvažování, což je Round Robin. Konfigurace se provádí následně.

CSS11503(config-owner-content[portal-servery])# balance roundrobin

Keepalives - ověření funkčnosti služby

Pro to, aby se ověřilo, že daná služba je funkční, se používají pravidelné zprávy tzv. keepalive message. Parametry keepalive můžeme nastavit globálně nebo specificky pro každou službu (ty přepisují globální konfiguraci). Určujeme frekvenci, s jakou se zprávy odesílají, počet chyb, po kterém se služba označí jako down (zprávy se posílají dále a pokud přijde správná odpověď, tak se služba opět začne používat). Typů/protokolů keepalive máme k dispozici několik, od základního pingu (ICMP) přes TCP, FTP, skript po HTTP, kde se kontroluje hlavička zadané stránky a volitelně hash obsahu.

CSS11503(config-service[vmz1portal1])# keepalive frequency 2
CSS11503(config-service[vmz1portal1])# keepalive maxfailure 1
CSS11503(config-service[vmz1portal1])# keepalive retryperiod 2
CSS11503(config-service[vmz1portal1])# keepalive type http
CSS11503(config-service[vmz1portal1])# keepalive uri "/portal/dostupnost"

Udržení session - Sticky

Standardně se příchozí požadavky rozhazují dle zvolené metody na servery tak, jak přichází. V řadě webových aplikací ale potřebujeme, aby se klient dostal vždy na ten server, kde se mu vytvořila Session. Proto musíme nastavit vlastnost, která se označuje jako Stickiness. Možností je více, ale asi nejběžnější je podle SessionID v Cookies. Základní konfigurace je jednoduchá, pouze se zapne v Content rule.

CSS11503(config-owner-content[portal-servery])# advanced-balance cookies

Zobrazení informací o sticky provedeme následujícím příkazem. Důležité je, že parametr sticky je dostupný pouze v konfiguračním módu pravidla.

CSS11503(config-owner-content[portal-servery])# show rule sticky
 Balance: Round Robin
 Advanced Balance: Cookies
   Sticky Mask: 255.255.255.255
   Sticky Inactivity timeout: 0 minutes
   Sticky No Cookie Found Action: Balance
   Sticky Server Down Failover: Balance
   ArrowPoint Cookie Path: /
   ArrowPoint Cookie Expiration: Browser Exit
   ArrowPoint Cookie CSS Expired
   ArrowPoint Cookie Service: Keep Current
   ArrowPoint Cookie Name: ARPT
 String Match Criteria:
   String Range: 1 - 100
   String Prefix: ""
   String Eos-Char: ""           String Ascii-Conversion: Enabled
   String Skip-Len: 0            String Process-Len: 0
   String Operation: Match-Service-Cookie
 Location-Cookie: Not Configured
 Location-Cookie Expiration: Browser Exit
 Cookie-Domain: Not Configured 

Informace – show příkazy

Potom co máme hotovou konfiguraci, a hlavně když máme problémy, se můžeme podívat na různé údaje. Souhrnné informace o pravidlech a službách. Zde je důležité, aby vše bylo aktivní a živé.

CSS11503# show rule-summary
VIP Address     Port  Prot  Url                 CntRuleName    OwnerName Stat Idx
--------------- ----- ----  ------------------ -------------- --------- ---- ---
10.10.0.10      80     TCP                      servers        servers-t Act  1
CSS11503# show service summary
Service Name                     State      Conn  Weight  Avg    State
                                                          Load  Transitions
server1                          Alive         0       1     2            0
server2                          Alive         0       1     2            0

Nebo se můžeme podívat na detail služby, kde vidíme její parametry a také to, zda tato služba dostává nějaké požadavky.

CSS11503# show service
Services (2 entries):
   Name: server1           Index: 0
   Type: Local            State:  Alive
   Rule ( 192.168.60.13  TCP  7010 )
   Session Redundancy: Disabled
   Redirect Domain:
   Redirect String:
   Keepalive: (ICMP   5   3   5  )
   Keepalive Encryption:       Disabled
   Last Clearing of Stats Counters: 06/04/2009 16:14:17
   Mtu:                       1500        State  Transitions:           0
   Total Local Connections:   10          Total Backup Connections:     0
   Current Local Connections: 0            Current Backup Connections:  0
   Total Connections:         10          Max Connections:              65534
   Total Reused Conns:        0           Weight Reporting:             None
   Weight:                    1           Load:                         2

Zobrazení záznamů z Content Service Database (CSD).

CSS11503# show content
Content Database:
 Pieces of content for slot: 1
                    subslot: 1
   -----------------------------------
                Total Content: 13
 SFP: 1/1    Index: 0      <10.0.1.29>  TCP Port 80    Streamed
   10.0.1.29/
 SFP: 1/1    Index: 1      <10.0.1.29>  TCP Port 80    Streamed
   10.0.1.29/portalmpsv/zverejneniapz/preSearch.do

Zobrazení kompletní konfigurace

CSS11503# show running-config
!Generated on 06/04/2009 16:17:09
!Active version: sg0820201
configure
 
!***************************  GLOBAL ***************************
   bridge spanning-tree disabled
   persistence reset remap
   ssl-l4-fallback disable

!*************************  INTERFACE *************************
interface  2/1
   bridge vlan 10
interface  2/2
   bridge vlan 20
interface  2/3
   admin-shutdown
interface  2/4
   admin-shutdown
interface  2/5
   admin-shutdown
interface  2/6
   admin-shutdown
interface  2/7
   admin-shutdown
interface  2/8
   admin-shutdown

!**************************  CIRCUIT **************************
circuit VLAN10
   description "Clients"
circuit VLAN20
   description "Servers"
   ip address 192.168.60.250 255.255.255.0

!**************************  SERVICE **************************
service server1
   ip address 192.168.60.13
   port 7010
   protocol tcp
   active
service server2
   ip address 192.168.60.14
   port 7010
   protocol tcp
   active

!*************************** OWNER  ***************************
owner servers-test
  content servers
    vip address 10.10.0.10
    add service server1
    add service server2
    protocol tcp
    port 80
    active

Konfigurace přístupu přes Ethernet Management Port

Pokud chceme přistupovat k management rozhranní přes síť, tak si musíme přiřadit adresu pro tento speciální port. Adresa musí být z jiného subnetu, než jaký je použit jinde na CSS. Po nastavení adresy je třeba provést restart.

CSS11503# conf t
CSS11503(config)# boot
CSS11503(config-boot)# ip address 192.168.100.174
%% System must be rebooted for IP  address to take effect
CSS11503(config-boot)# subnet mask 255.255.255.0
%% System must be rebooted for  subnet mask change to take effect
CSS11503(config-boot)# reboot

CSS11503# show boot-config

!************************ BOOT CONFIG ************************
 ip address 192.168.100.174
 subnet mask 255.255.255.0
 primary boot-file sg0820201
 primary boot-type  boot-via-dis

Odkazy na dokumentaci

zobrazeno: 8527krát | Komentáře [2]

Autor:

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] morgun

    Vieme aj nieco o Check point architekture?

    Vraj je celkom zaujimava podarilo sa mi o nej nieco malo nastudovat, no vsetko bolo len teoreticke.

    A jedna otazka na zaver. Co musi sietar vediet okrem funkcii switchov, routerov a firewallov?

    Napr Monitoring siete. Ci uz pomocou programov ako Nagios, popripade Openview alebo Mrtg.

    Co dalsie su take velmi potrebne a cenene znalosti?

    Dakujem

    Sobota, 03.10.2009 12:43 | odpovědět
  2. [2] Lobo

    @Morgun: No tak zalezi na co se chces specializovat, jak moc to chces do hloubky znat atd. Vezmi si jen funkci routeru a switchu - vsechny ty protokoly, architektury, qos, lan/wan, ap. - na urovni treba CCIE R&S toho mas fakt kopu!

    Pak samozrejme zalezi co delas, treba IP telefonie a cely Cisco Unified Communications je obrovska kapitola, nebo treba Wifi a controllery, Mobility sluzby, atd atd atd..

    A z bezpecnosti? To je tez obrovsky tema :)

    No a monitoring a provisioning je vec, ktera to cely zastresuje, nastroju je kopa .. (!) dalo by se to rozepsat na nekolik mnoho knih :)

    @Samuraj: Diky, zajimavy clanek, s CSS switchi jsem se v praxi jeste nesetkal.. coz me privadi jeste k myslence..

    @Morgun: ... a co treba sitove architektury pro datova centra? aaaj!? :)

    Sobota, 10.10.2009 22:30 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách