ciscotips

Hier staan losse cisco tips.

Glaslink komt niet op na vervangen switch

Bij het vervangen van een switch door een 9300L kwam de glaslink niet op. De transceiver werd herkend, er werd aan beide kanten licht gezien en toch kwam de link niet op. De interface was routed dus geen stp issues oid.
Bij terugprikken van de sfp en de vezels in de oude switch kwam de link direct weer op. Een software update was de eerste stap maar hielp niets.
Uiteindelijk bleek dit opgelost door aan beide kanten "speed nonegotiate" op de interfaces te zetten. Heel vreemd want de 1000base module kan niet anders maar blijkbaar heeft die 9300 dat nodig.
[boven]

Hoelang is een poort up of down

Ik log altijd link status van switchpoorten naar syslog en bewaar die een half jaar. Er worden namelijk wel altijd patches bij gezet maar zelden opgeruimd. Zo kun je dus snel van een poort zien hoe lang die al niet gebruikt is en dus de patches eventueel opruimen.
In de praktijk hoef je dan niet snel switches bij te plaatsen maar volstaat opschonen.
De nieuwe cisco switches hebben de optie om, MITS de switch power houdt dus liefst achter een UPS zit, te bekijken wat die poort status is met het volgende commando
show interface link module 1
Waarbij de module de switch in de stack is.
[boven]

access-list op tijd

We kunnen in een access-list ook restricties aanbrengen in de tijden dat verkeer doorgelaten of geblokkeerd wordt. Dit gebeurt door eerst een time-range te definieren en dan in een acl regel aan te geven dat hij voor deze time-range geldt.
We loggen hier de denies om te zien wat men verder probeert. Verder mag alleen web verkeer er door binnen werktijden.

access-list 100 permit tcp 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 eq 80 time-range tijden
access-list 100 deny ip any any log
time-range tijden
 periodic weekdays 8:00 to 17:00
!  
[boven]

vlan database

Het oude commando "vlan database" is niet meer actueel al werkt het soms nog wel. Nadeel hiervan was dat het in een aparte file stond dus niet in de opgeslagen config. Nu zijn er twee opties voor vlan configuratie.
interface vlan 100
  description test
  ip address 10.0.0.1 255.255.255.0

vlan 100
  name test
het eerste commando zorgt voor een eventuele routering tussen de vlan's. Werkt uiteraard alleen op een layer 3 switch zoals de 4000/6500/3560/3750.

Het tweede commando maakt het vlan aan in de vlan database en zorgt bijvoorbeeld ook voor verspreiding via vtp. Het tweede commando is puur voor op laag 2 zodat het vlan in trunks opgenomen kan worden.

[boven]

capture filters

Op de ASA is het mogelijk om een capturefilter aan te maken om bepaald verkeer te debuggen.
Ik deed dat voorheen door een access-list aan te passen met extra regels die tevens gelogd werden maar het kan eenvoudiger.

Maak een extra access-list aan met daarin permits op het verkeer dat je wilt debuggen. Maak dan een capture aan met deze access-list en koppel deze aan een interface.

Na enige tijd kan met een show commando bekeken worden of er pakketten aan de acl voldaan hebben.
#conf t
(config)#access-list testje extended permit tcp host 81.169.145.99 192.168.1.0 255.255.255.0 eq 25       
(config)#access-list testje extended permit tcp host 81.169.145.100 192.168.1.0 255.255.255.0 eq 25       
(config)#access-list testje extended permit tcp host 81.169.145.101 192.168.1.0 255.255.255.0 eq 25       
(config)#access-list testje extended permit tcp host 81.169.145.102 192.168.1.0 255.255.255.0 eq 25       
(config)#access-list testje extended permit tcp host 213.75.3.30 192.168.1.0 255.255.255.0 eq 25       
(config)#access-list testje extended permit tcp host 94.124.120.73 192.168.1.0 255.255.255.0 eq 25       
exit

#capture mailtest access-list testje interface inside
#show capture mailtest
#clear capture mailtest

[boven]

Verwijder gehele access-list op een ASA

Op een ASA werkt het commando "no access-list [naam]" niet. Hier moet met onderstaand commando een hele access-list verwijderd worden.
Denk er aan dat dit in de config mode moet gebeuren.
(config)#clear configure access-list [naam]

[boven]

5. Snel poort instellingen resetten of instellen op een host

met het "switchport host" commando kun je snel een poort instellen als host dwz spanning tree op portfast en mode access. Tevens worden channels uitgeschakeld.
switchport host

 switchport mode access
 spanning-tree portfast 
Met het "default" commando kun je de instellingen van een poort terugzetten.
Met het "range" commando kun je snel bij een reeks poorten dezelfde settings instellen.
default int Gi0/1
default int range Gi1/0/1 - 48

[boven]

Clear counters op ASA

Om op een ASA de counters van een access-list of van de interfaces te clearen moet een clear commando in de config mode gegeven te worden.
conf t
 clear access-list [name] counters
 clear interface
[boven]

Mode button reset tegengaan op cisco switches

Cisco switches hebben een kleine en vrij onbekende onhebbelijkheid. Als je de mode knop voor op de switch 10 seconden ingedrukt houdt dan wordt de config en de vlan database hernoemd en de switch geboot zonder enige config. Waarom die optie er in zit is vaag, cisco gaat er blijkbaar van uit dat niemand fysieke toegang heeft tot een switch maar dat is maar de vraag. In dat geval zou een console paswoord ook niet nodig zijn.
Bij mij gebeurde het dat een bos kabels tegen de knop gedrukt werd bij een aktiviteit in de patchkast. Daarna heb je een switch die niet werkt en op de syslog server zag ik de volgende regels:
Sep 29 09:50:50 10.14.110.120 502: Sep 29 09:50:49: %EXPRESS_SETUP-6-CONFIG_IS_RESET: The configuration is reset and the system will now reboot
Sep 29 09:50:50 10.14.110.120 503: Sep 29 09:50:50: %SYS-5-RELOAD: Reload requested
Na googelen kwam ik erachter dat de mode knop de boosdoener was. Als je niet extern logt snap je er niks van.
De oplossing als dit gebeurt is eenvoudig, log in op de console en geef deze commando's:
rename flash:config.text.renamed flash:config.text
rename flash:vlan.dat.renamed flash:vlan.data
copy flash:config.text running-config
Om te voorkomen dat dit gebeurt is er een optie die die functie van de mode knop uitschakelt:
no setup express
[boven]

snmp alleen toestaan vanaf bepaalde subnetten

Het is vaak gewenst switches en routers uit te lezen, of zelfs te wijzigen, via snmp. De toegang is te controleren door aparte community strings te geven maar het is ook mogelijk om de toegang met snmp alleen toe te staan vanaf bepaalde subnetten/vlans.
Hiervoor wordt een kleine access-list gemaakt met bijvoorbeeld het management vlan erin en bij het snmp-server commando wordt het nummer van deze access-list meegegeven:
access-list 98 permit 10.100.0.0 0.0.255.255
snmp-server community public RO 98

gebruik van non-cisco gbics

Bij een verhuizing hadden we een oude core gekocht en hadden we tijdelijk flink wat gbics nodig terwijl we wisten dat we ze daarna niet meer nodig hadden en gbics er zowiezo uitgaan. We hebben toen third-party gbics gekocht die een fractie kosten (SX 18 euro ipv 3xx en LX 24 euro ipv 5xx) van die van cisco. Cisco kan hier moeilijk over doen bij support issues maar het was maar voor een korte tijd.
Deze modules gingen alleen op err-disabled als ze gebruikt werden en gaven wel de volgende melding in de logs:
SYS-3-TRANSCEIVER_NOTAPPROVED:Transceiver on port [dec]/[dec] is not supported
Er is een ongedocumenteerde oplossing hiervoor:
service unsupported-transciever
no errdisable detect cause gbic-invalid
[boven]

remarks in een acl op een layer 3 switch

acl's op een layer 3 switch ondersteunen ook remark regels, deze zijn niet te zien in een "sh access-list" maar alleen in een "sh run | incl access-list" waar dan weer geen sequence nummers in staan.
De vraag is dan wat er gebeurt met de remark regels als je op verschillende plekken extra regels (via "ip access-list extended") invoert.
Ik heb dit even uitgetest en het is eigenlijk heel logisch, zoals het zou moeten zijn. Een remark regel "kleeft" aan de regel er direct na. Je kunt dus overal inserten (ip access-list extended) maar de remark blijft altijd staan direct boven de regel waar hij al boven zat.
[boven]

logging van uitgevoerde commando's

Wanneer meer mensen config changes aanbrengen op switches is het prettig om te weten welke changes door welke personen wanneer zijn uitgevoerd. En dat kan.
Handig hierbij is om meerdere users te gebruiken, via radius of anders via lokale users.
Met onderstaande commando's wordt elke config aanpassing gemeld in de lokale en, mits gebruikt, de rsyslog. Omdat we die logs niet steeds bekijken en we ze ook meestal niet lang bewaren kun je een eenvoudige cronjob maken die elke avond tegen middernacht de log van die dag doorloopt en zoekt op de tekst "PARSER" en die output sla je op in een aparte file. Desnoods is de file naar de admin te mailen elke nacht zodat die wijzigingen in beeld houdt.
archive
 log config
  logging enable
  notify syslog contenttype plaintext
!
[boven]

Website door Wouter Barendsen, 2005-2024