4. Zarządzanie systemem plików

Struktura pamięci flash

  • W urządzeniach Cisco występują dwa główne typy pamięci nieulotnych (w przełącznikach raczej bez karty flash), które pełnią różne, ale równie ważne funkcje. Pamięć flash, która najczęściej ma postać wymiennej karty CompactFlash, służy przede wszystkim jako magazyn dla obrazu systemu operacyjnego IOS/IOS XE oraz różnych plików dodatkowych, takich jak kopie zapasowe konfiguracji czy pliki głosowe dla telefonów IP. To właśnie z pamięci flash urządzenie ładuje system podczas procesu rozruchu.
  • Pamięć flash

  • Z kolei NVRAM to wbudowana pamięć nieulotna, zlokalizowana bezpośrednio na płycie głównej urządzenia. Jej głównym zadaniem jest przechowywanie konfiguracji startowej (startup-config) oraz różnych krytycznych parametrów potrzebnych do poprawnego uruchomienia urządzenia, takich jak wartość rejestru konfiguracyjnego. Podczas gdy pamięć flash można porównać do dysku twardego w komputerze, NVRAM pełni raczej rolę podobną do BIOS-u.

  • Różnice między tymi pamięciami są dość wyraźne. Pamięć flash oferuje znacznie większą pojemność (typowo od kilkudziesięciu MB do kilku GB), ale ma ograniczoną wytrzymałość pod względem liczby cykli zapisu. NVRAM jest znacznie mniejsza (zwykle kilka kB do MB), ale za to bardziej niezawodna i szybsza w dostępie. W praktyce administratorzy często używają poleceń "dir flash:" do przeglądania zawartości pamięci flash i "dir nvram:" do sprawdzania zawartości NVRAM.


  • Aby wyświetlić zawartość pamięci flash, używamy polecenia "show flash" w trybie uprzywilejowanym (Privileged EXEC). Polecenie to wyświetla listę wszystkich plików znajdujących się w pamięci, wraz z ich rozmiarami i datami modyfikacji. W nowszych urządzeniach zamiast "show flash" możemy użyć "dir flash:", które działa podobnie, ale oferuje bardziej szczegółowe informacje.
  • Zawartość pamięci flash

  • Podstawowa struktura pamięci flash jest hierarchiczna. Główny katalog zawiera zwykle plik obrazu IOS (o rozszerzeniu .bin) oraz ewentualnie dodatkowe pliki, takie jak kopie zapasowe konfiguracji czy pliki dzienników. W niektórych modelach urządzeń pamięć flash może być podzielona na partycje, co ułatwia zarządzanie różnymi wersjami oprogramowania.

  • Warto regularnie sprawdzać stan pamięci flash, szczególnie przed przystąpieniem do aktualizacji oprogramowania. Polecenie "show flash" pokaże nam ilość wolnego miejsca, co jest kluczowe przy planowaniu przesyłania nowych plików. Jeśli pamięć jest prawie pełna, możemy usunąć niepotrzebne pliki za pomocą polecenia "delete flash:nazwa_pliku", pamiętając, że operacja ta jest nieodwracalna.

Zarządzanie konfiguracją

  • Polecenie "show startup-config" pozwala wyświetlić konfigurację zapisaną w pamięci NVRAM, która zostanie załadowana przy kolejnym uruchomieniu urządzenia. To nieocenione narzędzie, gdy chcemy sprawdzić, jakie ustawienia będą aktywne po restarcie, szczególnie jeśli dokonaliśmy wielu zmian w bieżącej konfiguracji. Warto porównywać zawartość "startup-config" z "running-config" przed ważnymi aktualizacjami.
  • Zarządzanie konfiguracją

  • Komenda "copy running-config startup-config" to absolutna podstawa pracy administratora. Służy do zapisywania aktualnej konfiguracji (running-config) do pamięci NVRAM (startup-config). Warto wyrobić sobie nawyk używania tego polecenia po każdej istotnej zmianie w konfiguracji. W przeciwnym razie wszystkie wprowadzone modyfikacje zostaną utracone po restarcie urządzenia.
  • Zarządzanie konfiguracją

  • Dostępne jest również skrócone polecenie "write" (często używane w formie "wr"), które działa dokładnie tak samo jak "copy running-config startup-config". To klasyczne polecenie, pochodzące jeszcze z wcześniejszych wersji IOS, jest szczególnie lubiane przez administratorów ze względu na swoją zwięzłość. Warto jednak pamiętać, że w niektórych nowszych wersjach IOS może być dostępne tylko jako alias.
  • Zarządzanie konfiguracją

Server TFTP

  • Instalacja serwera TFTP na systemie Linux wymaga wykonania kilku prostych kroków. W dystrybucjach opartych na Debianie, takich jak Ubuntu, instalujemy pakiet tftpd-hpa za pomocą menedżera pakietów apt. Server TFTP Po instalacji należy odpowiednio skonfigurować plik /etc/default/tftpd-hpa, gdzie określamy katalog domowy serwera (u mnie /tftp), adres nasłuchiwania oraz opcje bezpieczeństwa. Server TFTP Ważne jest, by dodać regułę zapory ogniowej zezwalającą na ruch UDP na porcie 69, a następnie zrestartować usługę, aby zmiany zostały zastosowane (u mnie jest to: service tftpd-hpa restart, jednak na innych systemach może to być: sudo systemctl restart tftpd-hpa).
  • Server TFTP
  • W środowisku Windows proces jest jeszcze prostszy. Popularne darmowe rozwiązania takie jak SolarWinds TFTP Server czy Tftpd64 oferują intuicyjne interfejsy graficzne. Po pobraniu i zainstalowaniu wybranego programu, konfigurujemy główny katalog udostępniony przez serwer oraz upewniamy się, że Windows Defender lub inna zapora ogniowa nie blokuje połączeń przychodzących na porcie TFTP. Warto wybrać lokalizację katalogu inną niż domyślna, np. C:TFTP_Backups, dla lepszej organizacji plików.



  • Konfiguracja urządzeń Cisco do współpracy z serwerem TFTP obejmuje kilka podstawowych poleceń. Oczywiście, aby cokolwiek przesyłać pomiędzy urządzeniem Cisco, a komputerem musimy ustawić adresy IP na obu urządzeniach oraz fizycznie je połączyć. Pominę tutaj instrukcję ustawiania adresu IP, gdyż będzie to opisane osobno w temacie dla Routerów jak i Switchy.

    Aby przesłać aktualną konfigurację na serwer, używamy komendy copy running-config tftp:, po której podajemy adres IP serwera (w moim przypadku 192.168.1.10) i nazwę pliku docelowego. Server TFTP Server TFTP Analogicznie postępujemy przy pobieraniu konfiguracji z serwera na urządzenie, z tą różnicą, że używamy składni copy tftp: running-config. Server TFTP W przypadku aktualizacji oprogramowania IOS, procedura wygląda podobnie, z tym że jako miejsce docelowe wskazujemy pamięć flash urządzenia.



  • Kwestie bezpieczeństwa są szczególnie ważne przy korzystaniu z TFTP, ponieważ protokół ten nie zapewnia żadnego szyfrowania przesyłanych danych. W Linuxie warto używać opcji --secure w konfiguracji serwera, która ogranicza dostęp tylko do wyznaczonego katalogu. W przypadku przesyłania wrażliwych danych, lepiej rozważyć użycie bardziej bezpiecznych protokołów takich jak SCP lub SFTP, które są dostępne w nowszych wersjach Cisco IOS.