Skip to content

regisu blog

Blog z notatkami …

Żeby zresetować hasło w switchu Extreme 48si trzeba:

  • Podłączyć się kablem konsolowym do switcha (standard 9600 8n1)
  • Odpalić konsolę w minicomie albo innym ulubiony emulatorze terminala.
  • Trzymając spację podłączyć switcha do prądu
  • Powinno pokazać się się BootMenu. Jeśli wciśniemy h to pokażą się dostępne komendy:
    • 1: Select primary code image
    • 2: Select secondary code image
    • 3: Select primary configuration
    • 4: Select secondary configuration
    • b: Change baud rate
    • d: Force default configuration
    • f: Boot on board flash
    • h: Help
    • k: Erase selected configuration
    • p: Boot PCMCIA card
    • s: Load code image from serial port using XMODEM
  • Wpisujemy 1 ( wybiera pierwszy obraz z systemem)
  • Wpisujemy k – czyści konfig danego obrazu
  • Wpisujemy d – wymusza domyślną konfigurację
  • Wpisujemy f – ładuje system
  • I to już koniec. Teraz można się zalogować z defaultowym loginem: admin i brakiem hasła

Kurde ostatnio tak grzebałem w pliku konfiguracyjnym, że w końcu nie wiem co pozmieniałem, ale nie działa 🙂 Wpadłem na świetną myśl, by wziąć sobie pakiecik *.deb, rozpakować go i skopiować niezmodyfikowaną wersje skryptu z powrotem na jej miejsce w /etc.

Polecenie które to umożliwia jest bardzo proste:

dpkg-deb -x nazwa_pakietu.deb /sciezka/katalogu/docelowego

I po tym w katalogu docelowym będą wszystkie pliczki z pakietu .deb ładnie rozpakowane czekały na nas 🙂

Kolega rozie podał jeszcze prostszy sposób na grzebanie w plikach .deb – użycie mc(Midnight Commander), który dla wielbicieli linuksowego klona Norton Commandera będzie zapewne najwygodniejszy. Dzięki za trafny i pomocny komentarz 🙂

Jakoś nie mogę zapamiętać jakich pakietów potrzeba w debianie by kompilować i instalować programy ze źródeł. Na szczęście znalazłem wirtualny pakiet build-essential, który dzięki zależnościom doinstaluje takie pakiety jak:

  • make
  • g++
  • libc-dev
  • dpkg-dev
  • i inne

Potem już spokojnie można kompilować 🙂 Chyba, że instalowany przez nas program ma jakieś bardziej wydumane potrzeby.

Po przeczytaniu mojego posta jeszcze kilka razy doszedłem do wniosku, że przydało by się jeszcze napisać jak się kompiluje programy dla tych co nie wiedzą. Oczywiście wszystko należy wykonać jako root inaczej ma marne szanse zadziałać.

  • Na początek ściągamy paczkę do /usr/local/src
  • Rozpakowujemy używając polecenia(w zależności od rozszerzenia): tar -xvzf nazwa_pliku.tar.gz lub tar -xvjf nazwa_pliku.tar.bz2
  • Teraz wchodzimy do nowo utworzonego katalogu i czytamy plik README, a potem INSTALL i postępujemy zgodnie z zaleceniami 🙂
  • Dla niecierpliwych!!!
    Szybka instalacja z domyślnymi parametrami polega z reguły na wykonaniu trzech poleceń w katalogu ze źródłami(zakładając, że nie brakuje nam żadnych bibliotek itp.):

    • ./configure
    • ./make
    • ./make install
  • Jeśli nie było żadnych błędów to cieszymy się nowo zainstalowanym oprogramowaniem! 🙂
  • W przeciwnym przypadku, procedura jest następująca:
    • zaznaczamy linijkę z błędem i kopiujemy do schowka
    • wchodzimy na http://google.pl i wklejamy to co skopiowaliśmy 🙂
    • grzebiemy w wynikach wyszukiwania i czytamy tak długo aż znajdziemy potencjalne rozwiązanie
    • doinstalowujemy paczki, biblioteki czy cokolwiek wyczytaliśmy, że trzeba zrobić
    • wpisujemy w konsoli polecenie ./make clean (które czyści wcześniejszą konfigurację wygenerowaną przez skrypt configure) i potem procedurka z ./configure ./make itp. rozpoczyna się od nowa
    • i tak do momentu aż nie będzie już żadnego błędu 🙂

Kolega rozie w komentarzu poniżej posta poleca też korzystanie z managera pakietów o nazwie wajig, zachęcam do odwiedzenia jego bloga i przeczytania arta.

Mam nadzieje, że się komuś przyda 🙂 Zachęcam do komentarzy i uwag.

Mamy już swoją publiczną podsieć IP. Teraz przydałoby się skonfigurować dla niej revDNS’y.

  1. Na początek trzeba dodać do naszego obiektu inetnum dodatkowe pole mnt-domains, które informuje o tym, kto może stworzyć obiekt domain dla tej sieci. Wskazujemy tu nasz obiekt maintainer. Robimy update bazy RIPE i sprawdzamy czy wszystko jest ok.
  2. Teraz trzeba się wziąć za konfigurację serwera DNS. Dzielimy naszą klasę adresową na bloki o wielkości /24. Teraz dla każdego bloku trzeba na serwerze DNS stworzyć nową domenę revDNS w formacie x.x.x.in-addr.arpa.
    Rekord musi zawierać:
    – dwa wpisy NS po jednym dla każdego serwera DNS
    – rekord SOA
  3. Teraz trzeba dodać obiekty domain w RIPE dla każdego bloku /24
  4. Jeśli nie popełniliśmy błędu to wszystko powinno być ok.
  5. Weryfikujemy jeszcze czy nasz rekord został utworzony: whois x.x.x.in-addr.arpa

Konfiguracja Apache

Zakładam, że SSL jako taki jest już w Apache2 skonfigurowany.

Żeby działała weryfikacja po certyfikatach użytkownika trzeba tylko dorzucić w pliku /etc/apache2/sites-enabled/nazwa_strony następujące linijki:

SSLVerifyClient require
SSLVerifyDepth  1

Generowanie CA

Na początek tworzymy prywatny klucz RSA dla naszego CA:

openssl genrsa -des3 -out ca.key 2048

Potem generujemy request o klucz CSR (Certificate Signing Request):

openssl req -new -key ca.key -out ca.csr

Następnie podpisujemy request prywatnym kluczem CA dzięki czemu staje się on certyfikatem CA:

openssl x509 -days 3650 -signkey ca.key -in ca.csr -req -out ca.crt

Generowanie certyfikatu serwera

Najpierw trzeba wygenerować prywatny klucz dla serwera:

openssl genrsa -out server.key 1024

Potem mając już klucz można przystąpić do generowania CSR, na podstawie klucza serwera:

openssl req -new -key server.key -out server.csr

Teraz trzeba jeszcze podpisać utworzony wcześniej klucz przy pomocy certyfikatu CA:

openssl x509 -days 3650 -CA ca.crt -CAkey ca.key -in server.csr -req -out server.crt

Generowanie certyfikatu klienta

Najpierw trzeba wygenerować prywatny klucz dla klienta(musi być 1024 bo inaczej mi firefox nie chciał go zaimportować, jeśli ktoś wie czemu tak się dzieje to dajcie znać):

openssl genrsa -out regisu.key 1024

Potem mając już klucz można przystąpić do generowania CSR, na podstawie klucza klienta:

openssl req -new -key regisu.key -out regisu.csr

Teraz trzeba jeszcze podpisać utworzony wcześniej klucz na serwerze:

openssl x509 -days 3650 -CA ca.crt -CAkey ca.key -in regisu.csr -req -out regisu.crt

I na koniec z niego wygenerować klucz w postaci pk12(bo taki klucz się importuje do firefoxa):

openssl pkcs12 -export -in regisu.crt -inkey regisu.key -name "regisu" -out regisu.p12

Import do firefox’a

Teraz jeszcze potrzebujemy zaimportować odpowiednie rzeczy do firefoxa. Interesują nas pliki ca.crt oraz regisu.p12(czy jak tam go nazwaliście).

I to by było na tyle. Jeśli ktoś zna lepszy lub tez prostszy sposób to chętnie go poznam.

Resetowanie aironet 1200 do fabrycznych ustawień:

  1. Odłączamy accesspointa od prądu
  2. Wciskamy przycisk MODE na obudowie i podłączamy prąd
  3. Czekamy aż dioda Status zaświeci się na pomarańczowo i puszczamy przycisk MODE
  4. Podłączamy się kablem konsolowym do accesspointa. Po resecie hasło do enable to Cisco

Features:

Są dwa interfejsy radiowe w aironetach 1200:

  • interfejs dot11Radio 0  – 2,4GHz
  • interfejs dot11Radio 1 – 5GHz

A także:

  • fizyczny interfejs FastEthernet 0
  • wirutalny interfejs zarządzający BVI 1

Aironet 1200 obsługuje do 16 SSID. Każdy SSID to osobny VLAN.

Konfiguracja interfejsu zarządzania:

Niestety na aironet 1200 nie można użyć tagowanego VLANu do zarządzania accesspointem. Dlatego też na porcie w switchu do którego jest podłączony punkt dostępowy trzeba nasz VLAN zarządzający ustawić jako natywny(nietagowany). Można to zrobić wpisując na porcie przełącznika polecenia:

switch(config-if)#switchport trunk native vlan numerek_nativeVLANu
switch(config-if)#switchport trunk allowed vlan numerek_nativeVLANu

To nam załatwia sprawę switcha, został jeszcze accesspoint. Aironet ma do zarządzania przewidziany specjalny interfejs BVI1, na którym wystarczy skonfigurować adres IP oraz maskę podsieci. O tak:

ap(config)#int bvI 1
ap(config-if)#ip address x.x.x.x y.y.y.y
ap(config-if)#no shutdown

I już można pingać naszego accesspointa z sieci managementowej, a także(w zależności od tego co skonfigurowaliśmy) telnetować lub SSHować się na niego.

Konfiguracja mutliSSID:

Cisco aironet 1200 umożliwia skonfigurowanie do 16 SSID, każdy SSID to osobny VLAN, a co za tym idzie osobna podsieć.

Najpierw trzeba skonfigurować port na switchu do którego podłączony jest punkt dostępowy tak by przepuszczał nasze VLANy do accesspointa. Przypuśćmy, że jest to VLANy X.

switch(config-if)#switch mode trunk
switch(config-if)#switch trunk allowed vlan add X

I jeśli chodzi o switcha to wszystko(zakładam, że na przełączniku są już dodane VLANy, które chcemy przekazać do APka).

Musimy zając się jeszcze konfiguracją aironeta. Na początek podobnie jak się to robi w routerach, trzeba na porcie FastEthernet 0 dodać wirtualne interfejsy z naszymi VLANami i przypisać je do odpowiednich bridge-grup. Każdy VLAN to osobna bridge-grupa.

ap(config)#interface FastEthernet 0.X
ap(config-if)#encapsulation dot1Q X
ap(config-if)#bridge-group 2

Potem trzeba jeszcze utworzyć SSID i przypisać numer VLAN. Żeby uprościć przykład konfigurujemy uwierzytelnianie otwarte(czyli każdy ma dostęp).

ap(config)#dot11 ssid NazwaSSID
ap(config-ssid)#vlan X
ap(config-ssid)#guest-mode
ap(config-ssid)#authentication open

Ok mamy skonfigurowany interfejs fizyczny, mamy SSID to teraz jeszcze trzeba skonfigurować wirtualny interfejs radiowy z naszym VLANem i przypisać bridge-grupę.

ap(config)#interface Dot11Radio0.X
ap(config-if)#encapsulation dot1Q X
ap(config-if)#bridge-group 2

Ostatnia rzecz to przypisanie SSID do interfejsu Dot11Radio0

ap(config)#interface Dot11Radio0
ap(config-if)#ssid NazwaSSID

I teraz już jeśli wszystko dalej na switchu i routerze mamy skonfigurowane dobrze, to powinniśmy mieć dostęp do naszego VLANu.

Jakby ktoś miał coś ciekawego do dodania albo poprawienia to zachęcam do komentowania 🙂

Od jakiegoś czasu zamiast GNOME Panel używam na moim ubuntu  AWM. Miałem tylko mały problem z usunięciem wszystkich paneli GNOME. Został jeden, którego nijak nie umiałem wyłączyć. Grzebałem sporo na ten temat w necie, ale nic nie chciało działać. W końcu na forum ubuntuforums.com trafiłem na wątek, w którym było proste i za razem skuteczne rozwiązanie polegające na odebraniu praw wykonywania dla programu gnome-panel.

sudo chmod -x /usr/bin/gnome-panel

Napisany na szybko skrypt do pobierania w kółko pliku z serwera FTP przy pomocy programu lftpget. FTP musi umożliwiać dostęp anonymous. Serwer ftp.task.gda.pl idealnie nadaje się do testowania przepustowości za pomocą tego skryptu. Mi udało się pobrać z niego plik ls-lR, który ma około 263MB, z prędkością 150Mbit/s.

#!/bin/bash

for i in {1..100}
do
lftpget ftp://adres_serwera/nazwa_pliku
rm nazwa_pliku
done

Generalnie zasada działania jest prosta. Pobiera plik, potem go usuwa i znowu pobiera … i tak x razy(w tym wypadku 100).
Należy nadmienić, że lftpget pokazuje przepustowość w MB/s, a nie Mbit/s co może być mylące. Na szczęście 1MB/s = 8Mbit/s. Czyli aby otrzymać prędkość w Mbit/s należy pomnożyć wartość w MB/s x 8, dzięki czemu otrzymujemy wartość w Mbit/s.

Może się komuś przyda w potrzebie:)

Ku pamięci. Konfiguracja strefy czasowej oraz zmiany czasu z letniego na zimowy i odwrotnie dla Polski na urządzeniach Cisco:

configure terminal
clock timezone CET 1
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00

Przydatne także są dwa polecenia podane przez kolegę cbr’a. Dzięki nim w logach oraz komunikatach debug będzie widać datę i godzinę wystąpienia zdarzenia:

service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime

Oprócz sprzętu Cisco miałem okazję zarządzać też paroma switchami Della z serii 6000. Niestety producent nie pomyślał w nich totalnie o tym, że nawet<a może zwłaszcza!> sprzęt sieciowy wymaga backupu. Niby jest opcja w CLI przełącznika by zapisać obecny konfig jako backup, ale … na przełączniku. A to nijak nie pomoże w przypadku padu urządzenia, czy innej katastrofy, która spowoduje, że nie będzie można odczytać z niego tej konfiguracji.

Dlatego tez postanowiłem sam napisać sobie skrypt, który mi ten backup zrobi. Wykorzystałem do tego: pythona z biblioteką telnetlib i serwer tftp. Pewną rolę odegrał tu także plik /etc/hosts. 🙂

kontynuuj czytanie …