Duplexitás és speed átállítása távolról TCL segítségével
A Cisco eszközök interfészeinek duplexitás és sebesség beállítására az a jól ismert gyakorlat, hogy a hálózati aktív eszközök között a manuális konfiguráció a javasolt, a végpontok felé viszont érdemes meghagyni az alapértelmezett auto beállítást, hiszen a notebookok, PC-k, szerverek, nyomtatók interfészei is így vannak beállítva. Ha két automatikus beállításra konfigurált eszközt összekötünk akkor a folyamat eredménye az elérhető legmagasabb sebesség és full-duplex érték lesz. Ellenben, ha két router közül az egyiket manuálisan állítjuk be, de a másikat auto beállításon hagyjuk, akkor az automatizált folyamat eredménye függetlenül a szemben levő eszköz manuális beállításától 10 megabit sebesség és half duplex érték lesz; az esetlegesen inkompatibilis eredményre figyelmeztet minket a CDP, de ha a sebesség is eltér a két eszközön akkor az interfészek állapota up/down lesz. A továbbiakban bemutatom, hogy milyen ellentmondásos helyzet kerekedhet ki az interfészek helytelen beállításából és mutatok egy megoldást, hogy miként lehet megoldani ezt a helyzetet biztonságosan, akár távolról is.
Az 1. ábrán egy ügyfél internet összeköttetését láthatjuk. A vonal sebessége 10 megabit, ezért a szolgáltató az iparági javaslatnak megfelelően manuálisan 10Mbps, full-duplex értékre állította be az ISP router G0/0 interfészét. Az ügyfélhez kiment egy field engineer, üzembe helyezte az R1 routert beállított egy alap konfigurációt, aminek segítségével távolról be tudtunk lépni az eszközre és véglegesítettük a beállításokat. Biztonsági okokból leállítottuk a CDP-t Gi0/0 interfészen, ezért semmi nem figyelmeztetett minket arra, hogy az interfész duplex/speed értékeit az alapértelmezett auto/auto értéken felejtettük és ennek megfelelően az R1 router Gi0/0 értékei 10Mbps sebesség, de half-duplex beállítás, ami nem kompatibilis az ISP oldal full-duplex értékével. Sajnos a hibára az interfészek állapota sem hívja fel a figyelmünket, hiszen a sebesség értékek megegyeznek a két oldalon, a teszt ping és traceroute működik, a field-engineer is hazamehet, viszont amikor az ügyfél megterheli a vonalat, akkor rögtön kiderül, hogy nem minden tökéletes. Nagy a csomagveszteség, nem elérhetőek a vállalati webszájtok, nem töltenek be az applikációk. Egy rövid hibakeresés után megtaláljuk a baj forrását, de távolról nem tudjuk megoldani, mert a duplexitás és a sebesség átállítása két parancs lenne az alábbiak szerint:
R1(config)#int gi0/0
R1(config-if)#duplex full
R1(config-if)#speed 10
Az első parancs kiadása után viszont elveszíthetjük a kapcsolatot, hiszen ezen az interfészen keresztül léptünk be a router CLI felületére.
A megoldást az jelentheti, ha visszaemlékezünk a CCNA tanfolyam konfiguráció menedzsmentről szóló részére: ha egy Cisco eszközön a running-config állományra másolunk egy fájlt copy paranccsal, akkor az nem lecseréli a running-config-ot – azt a configure replace parancs tenné, amiről egy másik cikkben lesz szó – hanem összefésüli a fájlunkkal, azaz soronként másol. Pont ez kell nekünk, a copy során talán megszakad az összeköttetés, de a másolás folytatódik és a végén minden rendben lesz. Igen ám, de hogy varázsolunk a flash-re egy ilyen fájlt, ha a vállalati hálózatot biztonsági okokból csak SSH protokollal érhetjük el a fájlmásolás távolról nem engedélyezett. Erre a megoldás a Cisco IOS Tool Command Language azaz TCL ami képes létrehozni egy fájlt a flash-en úgy, hogy a tartalmát is megadhatjuk az alábbiak szerint:
tclsh
puts [ open "flash:duplex.cfg" w+] {
version 15.9
!
interface GigabitEthernet0/0
duplex full
speed 10
end
}
tclquit
Ami a valóságban valahogy így fog kinézni:
R1(tcl)#puts [ open "flash:duplex.cfg" w+] {
+>version 15.9
+>!
+>interface GigabitEthernet0/0
+>duplex full
+>speed 10
+>end
+>}
R1(tcl)#tclquit
Ellenőrizzük, hogy a fájl tényleg létrejött:
R1#sh flash | i cfg
49 71 Jan 13 2023 16:08:36 +01:00 duplex.cfg
És ellenőrizzük a tartalmát is:
R1#more flash:duplex.cfg
version 15.9
!
interface GigabitEthernet0/0
duplex full
speed 10
end
A biztonság kedvéért konfigurálunk egy ütemezett újraindítást 10 percre. Ha valami mégsem sikerülne és elveszítjük az összeköttetést, akkor – mivel nem mentettünk – a startup-config visszatölti azt az állapotot, amivel még hozzáférünk távolról az eszközhöz.
R1#reload in 10
Reload scheduled in 10 minutes by console
Reload reason: Reload Command
Proceed with reload? [confirm]
R1#
Majd elindítjuk a másolást:
R1#copy flash:duplex.cfg running-config
Destination filename [running-config]?
71 bytes copied in 0.026 secs (2731 bytes/sec)
Ellenőrizzük a munkánkat:
R1#show running-config interface gigabitEthernet 0/0
Building configuration...
Current configuration : 110 bytes
!
interface GigabitEthernet0/0
ip address 1.1.1.2 255.255.255.0
duplex full
speed 10
end
A végén ne felejtsünk el menteni és elvetni az üzemezett újraindítást:
R1#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
R1#reload cancel
R1#
***
*** --- SHUTDOWN ABORTED ---
***
Szeretnél többet tudni?
Vedd fel velünk a kapcsolatot az alábbi elérhetőségen:
Gőgös Barnabás
Senior Systems Engineer
+36 30 162 0841
Barnabas.Gogos@alef.com