Crea sito

Just some notes to work on cisco equipments

0

These are just some useful notes to work on Cisco equipments.

The above link is really well written and with lots of information.

If you know almost nothing about network (like me) or if you are sure to know everything about it, it’s better if you take some time to study this field and keep your hands far from switches and routers.

How to set your “terminal emulator program

  • VT100 Emulation
  • 9600 Baud
  • No Parity
  • 8 Data Bits
  • 1 Stop Bit

Enter Privileged Exec Mode

Submit the commad enable (or just ena)

To go back in User Mode disable or just dis.

Set line passwords

  • Console port

Router# configure terminal
Router(config)# line console 0
Router(config-line)# login
Router(config-line)# password your-line-password-here

  • Aux port


Router# configure t
Router# line aux 0
Router(config-line)# login
Router(config-line)# password your-aux-password-here

  • Virtual ports from 0 to 4


Router# configure t
Router# line vty 0 4
Router(config-line)# login
Router(config-line)# password your-vty-password-here

  • “Enable” password

Router# configure t
Router(config)# enable password your-enable-password-here


Show Commands

Router# show interfaces
Router# show startup-config
Router# show conf
Router# show run

Copy, restore and save commands

Router# copy run start
Router# reload

In the next part some useful commands to configure interfaces.


Secure Passwordless Logins with SSH Part 3

0

Secure Passwordless Logins with SSH Part 3

How to create passwordless logins to allow remote administration tasks securely with SSH – restricting possible actions for SSH identities.

Life with CPAN

0

Life with CPAN: “Reconfiguring CPAN”

Remember to reconfigure the CPAN you can manually edit the Config.pm file or just execute:

cpan> o conf init

Tunneling cvs through http proxy

0

As I usually work in environments where firewalls are configured to block access to cvs servers, I need to set my cvs client to tunneling the connection through an http proxy server.

Before to take advantage of this feature check your company policies!!! Ask before to risk your carer!

First of all, what do you need?

1. A cvs version that support the http proxy tunneling, the posted link should give you an idea on which version you need. Actually I’m using cvs client 1.12.12 .
2. You need an http proxy that support http tunneling.

Now, if you have an http proxy that support http proxy tunneling you can set your CVSROOT.

export CVSROOT=:pserver;proxy=192.168.10.10;proxyport=8080:[email protected]:/cvsroot/elc

And finally you can
play with your source code.

cvs checkout elc

The next time hopefully I’ll explain how to do the same with ssl.

Attivare l’ACPI con DSDT bacati

0

“ATTENZIONE : Quanto di seguito esposto può provocare gravi danni al proprio PC. Non mi ritengo responsabile di guasti e/o perdita di dati in conseguenza, diretta o indiretta, dall’esecuzione delle operazione suggerite in questa mini guida. Questa guida è in gran parte ispirata da Jetblack di gentoo.org che ha scritto “HOWTO: Fix Common ACPI Problems (DSDT, ECDT, etc.)”

Nonostante in rete ci siano delle buone guide sull’argomento, mi sono imbattuto in alcuni problemi finora risolti da nessun’altro (a quanto pare) e così voglio rendere partecipe la rete della mia esperienza, caso mai possa essere utile ad altri.

Ho un portatile HP Omnibook XE3 GF ma quanto segue può essere utilizzato come linea guida per altri portatili.

L’ACPI è suportato, infatti dmidecode mi riporta
(scaricabile da http://www.nongnu.org/dmidecode/)

BIOS Information
Vendor: Phoenix Technologies LTD
Version: GF.M1.14

ACPI Supported

Ho abilitato il supporto ACPI da kernel ma, riavviato il PC, dai messaggi del kernel comparivano nefasti “Warning”

ACPI-0178: *** Warning: The ACPI AML in your computer contains errors, please nag the manufacturer to correct it.
ACPI-0181: *** Warning: Allowing relaxed access to fields; turn on CONFIG_ACPI_DEBUG for details.

Ho eseguito un pò di ricerche e i risultati mi hanno inizialmente avvilito. Si trattava di dover disassemblare il DSDT e ricostruirne uno nuovo con le opportune modifiche/aggiunte.

Per risolvere il problema mi hanno aiutato 4 ottime guide.

HOWTO: Fix Common ACPI Problems (DSDT, ECDT, etc.)
http://forums.gentoo.org/viewtopic.php?t=122145&highlight=acpi+dsdt+aml

Linux ACPI Howto (Advanced Configuration and Power Interface)
http://www.cpqlinux.com/acpi-howto.html

ACPI Component Architecture Programmer Reference
http://www.intel.com/technology/iapc/acpi/downloads/ACPICA-ProgRef.pdf

Advanced Configuration and Power Interface Specification
http://www.acpi.info/DOWNLOADS/ACPIspec-2-0c.pdf

Le prime due sono un “must”, in particolare l’HOWTO postato sul forum di gentoo è essenziale.
Le altre due sono molto tecniche e interessanti dal punto di vista accademico, ma nella maggior parte dei casi potrebbe non essere utile studiarsele. Io le ho trovate gustose 🙂

– DEBUG

Prima di tutto occorre capire quli sono i problemi e per farlo è fondamentale che abilitiate l’ACPI dal kernel 😉
Procuratevi il compilatore Intel iasl, nella sezione “Tool” all’indirizzo
http://developer.intel.com/technology/iapc/acpi/downloads.htm

Createvi una directory di appoggio e posizionatevi al suo interno.

tar -xvzf iasl-linux-20030228.tar.gz
cd iasl-linux-20030228
ls >> AslCompiler.pdf iasl

A questo punto facciamo un pò di “hack” al nostro dsdt:

cat /proc/acpi/dsdt > dsdt.dat

Avrete un file dsdt.dat compilato del vostro attuale ACPI bacato.
Per disassemblarlo digitate

iasl -d dsdt.dat

E otterrete così dsdt.dsl.

Per vedere dove stanno i problemi si procede con il provare a ricompilarlo.

iasl -tc dsdt.dsl

Otterrete dsdt.hex e DSDT.aml.
Ecco fatto se il vostro dsdt è bacato otterrete un’ output come il seguente (il mio nell’esempio).

Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20030918 [Sep 18 2003]
Copyright (C) 2000 – 2003 Intel Corporation
Supports ACPI Specification Revision 2.0b

dsdt.dsl 173: Method (_WAK, 1, NotSerialized)
Warning 2026 – ^ Reserved method must return a value (_WAK)
dsdt.dsl 806: Method (_DOD, 0, NotSerialized)
Warning 2019 – ^ Not all control paths return avalue (_DOD)
dsdt.dsl 806: Method (_DOD, 0, NotSerialized)
Warning 2026 – ^ Reserved method must return a value (_DOD)
dsdt.dsl 1443: SRST, 1,
Error 1051 – ^ Access width of Field Unit extends beyond region limit dsdt.dsl 1446: ACPW, 1
Error 1051 – ^ Access width of Field Unit extends beyond region limit dsdt.dsl 2959: Field (ERAM, AnyAcc, Lock, preserve)
Error 1048 – ^ Host Operation Region requires ByteAcc access dsdt.dsl 3714: Name (PBUF, Buffer (0x14)
Warning 2079 – Statement is unreachable ^
ASL Input: dsdt.dsl – 4486 lines, 160784 bytes, 2090 keywords
Compilation complete. 3 Errors, 4 Warnings, 0 Remarks, 480 Optimizations

iasl vi dice molte cose interessanti.
Ha riscontarto 3 errori, 4 warning, 0 Remarks e ha identificato 480 possibili ottimizzazioni (le fa in automatico)
Inoltre per ogni Warning e Error avete il dettaglio, messaggio di errore più il numero della linea che restituisce l’errore.

Iniziamo a correggere il dsdt.dsl

Warning 2026 : Nella procedura indicata manca un “Return Package…”.
Questo è un errore molto comune, la soluzione è di aggiungere

Return(Package(0x02){0x00, 0x00}) appena prima della fine del metodo

Method (_WAK, 1, NotSerialized)
{


Return(Package(0x02){0x00, 0x00})
}
####################################################
Warning 2019 – ^ Not all control paths return avalue (_DOD)

Warning 2026 – ^ Reserved method must return a value (_DOD)
Come sopra si sono dimenticati di un pezzo, non avendo trovato riscontri in rete ho dovuto andare particolarmente a fondo.
_DOD viene utilizzato per descrive e “istanziare” le uscite video della scheda grafica, Nel mio caso LCD, CRT e TV.
Quindi ho estrapolato dal codice i valori corretti e ho aggiunto in fondo al metodo

Return (Package (0x03)
{
0x00010400,
0x00010100,
0x00010200
})

Non è una soluzione propriamente brillante, infatti ho eliminato il Warning ma non ho eliminato i problemi che avevo con la gestione delle uscite video (se qualcuno avesse qualche idea…).
####################################################
SRST, 1,
Error 1051 – ^ Access width of Field Unit extends beyond region limit

ACPW, 1
Error 1051 – ^ Access width of Field Unit extends beyond region limit

Qui c’è un errore di concetto.

OperationRegion (GPIO, SystemIO, 0x1180, 0x3B)
Field (GPIO, WordAcc, Lock, Preserve)
{
AccessAs (DWordAcc, 0x00),
Offset (0x0F),
, 4,
LV28, 1,
Offset (0x2D),
, 5,
LPOL, 1,
Offset (0x38),
, 1,
SRST, 1,
Offset (0x39),
, 2,
ACPW, 1
}

L’ OperationRegion è troppo piccola e quindi SRST e ACPW lavorano al di fuori di essa, essendo praticamnte impossibile, questa è una delle fonti rpincipali dei miei problemi e della maggiorparte dei possessori di un portatile.
Per risolvere entrambi i problemi con il minimo sforzo basta aumentare la dimensione della OP da 0x3B a 0x3C

OperationRegion (GPIO, SystemIO, 0x1180, 0x3C)
####################################################
Field (ERAM, AnyAcc, Lock, Preserve)
Error 1048 – ^ Host Operation Region requires ByteAcc access

Questo il più semplice (ma fonte di grossi problemi)

OP vuole ByteAcc e noi gli diamo ByteAcc

(ERAM, ByteAcc, Lock, Preserve)
####################################################

Name (PBUF, Buffer (0x14)
Warning 2079 – Statement is unreachable ^

Qui le cose sono state complicate per me, non ho trovato riscontri in rete e il tipo di errore non è documentato quanto basta.

Method (_GTM, 0, NotSerialized)
{
Return (Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x00, 0x00
})
Name (PBUF, Buffer (0x14)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
})

Appena prima di “Name (PBUF, Buffer (0x14)” c’è un Return di troppo e quindi è bastato togliere

Return (Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x00, 0x00
})
####################################################

Ecco fatto le correzioni sono state fatte…
Durante la fase di correzione potete lanciare iasl -tc dsdt.dsl per verificare come procedono le cose.

Alla fine dovreste ottenere:

Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20030918 [Sep 18 2003]
Copyright (C) 2000 – 2003 Intel Corporation
Supports ACPI Specification Revision 2.0b

ASL Input: dsdt.dsl – 4487 lines, 160622 bytes, 2091 keywords
AML Output: DSDT.aml – 19330 bytes 584 named objects 1507 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 482 Optimizations

Bene dsdt e aml corretti come si fà a sfruttarli?

Io ho preferito usare initrd, in quanto già lo uso per il bootsplash, se non usate initrd vi rimando alle due guide iniziali… Sono molto chiare.

1) Abilitare “relaxed aml” nel kernel
Occorre scaricare una patch appropriata al proprio kernel da http://gaugusch.at/kernel.shtml
La patch è molto semplice e quindi, se avete un kernel ultra patchato, aprite la patch con un editor (vim, nano, emacs, kate, etc.) e apportate le modifiche a mano.

cd /usr/src/linux
patch -p1 < /path/to/acpi-dsdt-initrd-patch-v0.3-2.4.22-acpi-2003-09-18.diff E abilitate quanto segue dal kernel. Device Drivers --->
Block Devices —>
<*> RAM disk support
[*] Initial RAM disk (initrd) support

Power management options (ACPI, APM) —>
ACPI (Advanced Configuration and Power Interface) Support —>
[*] Read DSDT from initrd

make dep && make clean bzImage modules modules_install

Come ho detto sopra uso bootsplash e quindi mi è bastato fare

cp /boot/initrd-1024×768 /boot/initrd-1024×768-dsdt
echo “INITRDDSDT123DSDT123” >> /boot/initrd-1024×768-dsdt
cat /path/to/DSDT.aml >> /boot/initrd-1024×768-dsdt

e modificare /etc/lilo.conf (o grub.conf) per il nuovo initrd

initrd=/boot/initrd-1024×768-dsdt

Infine ho eseguito

lilo

Se non avete un bootsplash ma volete usare initrd

cp /path/to/DSDT.aml /boot

e aggiungere a /etc/lilo.conf (o grub.conf)

initrd=/boot/DSDT.aml

eseguire

lilo

Incrociate le dita e riavviate.

Ho postato il dsdt.dsl a acpi.sourceforge.net e ho reso partecipe HP delle fix (sono molto propensi ad appoggiare questo tipo di iniziative)

SSH Senza password

0

La rete è piena di guide su come utilizzare l’agent di ssh e spesso la grande quantità di informazioni ne complica la comprensione.
Io ne scrissi una su LinuxDesktop un pò di mesi fà e lo scopo, più che altro, era di avere sempre a mia disposizione degli appunti veloci da utilizzare, spero che possa essere utile anche a voi.

Eccola con alcune modifiche sull’originale:

In ambienti sicuri l’accesso alle macchine di produzione, solitamente, avviene passando da una macchina “ponte” situata fuori dalla DMZ o via VPN. Cio’ permette agli amministratori di rendere le operazioni di monitoraggio e di gestione molto piu’ semplici e molto piu’ complicate per cracker, hacker e noi poveri utenti. Con ssh e’ possibile automatizzare il processo di autenticazione, vediamo come…

Chiamerò l’host da cui ci si collega “macchina ponte”

– Operazioni preliminari. 1. Generazione della chiave privata e della chiave pubblica. Collegarsi alla macchina ponte

[email protected]# ssh-keygen -t dsa -f ~/.ssh/id_dsa -C “[email protected]

-t dsa : specifica l’algoritmo da utilizzare per la generazione delle chiavi
-f ~/.ssh/id_dsa: il percorso e il file in cui salvare le chiavi (~ sta per $HOME)
-C “[email protected]” : e’ un commento Questo e’ il risultato del comando:

Generating DSA keys: Key generation complete.
Enter passphrase (empty for no passphrase): !!!! DIGITARE UNA PASSPHRASE !!!!
Enter same passphrase again: !!!! RIDIGITARE LA PASSPHRASE !!!!
Your identification has been saved in ~/.ssh/id_dsa
Your public key is:
1024 35 [really long string] [email protected]
Your public key has been saved in ~/.ssh/id_dsa.pub

2. Copia delle chiavi pubbliche sui server remoti Dalla macchina ponte:

[email protected]# cat ~/.ssh/id_dsa.pub | ssh [email protected] ‘cat – >> ~/.ssh/authorized_keys’

Idem per la authorized_keys2

[email protected]# cat ~/.ssh/id_dsa.pub | ssh [email protected] ‘cat – >> ~/.ssh/authorized_keys2’

5. Configurazione agent. – Inserire le seguenti linee in ~.bashrc (.profile per ksh e cugine)

SSHAGENT=/usr/bin/ssh-agent SSHAGENTARGS=”-s”
if [ -z “$SSH_AUTH_SOCK” -a -x “$SSHAGENT” ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap “kill $SSH_AGENT_PID” 0
fi

– Eseguire ssh-add per aggiungere la chiave all’agent

[email protected]# ssh-add

A questo punto se fate

[email protected] # ssh-add
Enter passphrase for /home/user/.ssh/id_dsa: Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)

Non vi verrà chiesta la password Sicurezza: La cartella .ssh deve avere permission 700 e i file al suo interno 600

[email protected]# chmod 700 .ssh
[email protected]# chmod 600 .ssh/*

Conservate la chiave privata gelosamente!!!”

Securing History File

0

I’ve set some different options to securing the history file in comparison with the original document.

data=`date +%EY%m%d_%H%M%S`
control=`who -m |tr -s ‘_’ ‘!’ |tr -s ‘ ‘ ‘_’|tr -s ‘ ‘ ‘_’|tr -s ‘(‘ ‘_’ |tr -s ‘)’ ‘_’ |cut -d ‘_’ -f 1,6 | tr -s ‘!’ ‘_’`

HISTFILE=/var/tmp/history/sh_history_$control.$data
HISTSIZE=100000000000000000
HISTFILESIZE=10000000000000000
readonly HISTFILE
readonly HISTSIZE
readonly HISTFILESIZE
export HISTFILE HISTSIZE HISTFILESIZE

Hope this can help!

Go to Top