Lord2y.org
Technology, Programming, Design, Virtualization and anything else!
Technology, Programming, Design, Virtualization and anything else!
Mar 15th
Ho raggiunto una buona quantità di apparati cisco per cui ho deciso di prendere un 2610XM e farci un terminal server.
Il terminal server è molto semplice da realizzare. Oltre al router è necessario avere:
Sul router in mio possesso ho la seguente versione di IOS 12.2(13b).
La configurazione è piuttosto semplice.
Prima di tutto identifichiamo le LINE disponibili:
aus-comm-server#sh line | i TTY 33 TTY 9600/9600 - - - - - 3 11 8/16 - 34 TTY 9600/9600 - - - - - 0 0 0/0 - 35 TTY 9600/9600 - - - - - 0 0 0/0 - 36 TTY 9600/9600 - - - - - 5 1 0/0 - 37 TTY 9600/9600 - - - - - 0 0 0/0 - 38 TTY 9600/9600 - - - - - 0 0 0/0 - 39 TTY 9600/9600 - - - - - 0 0 0/0 - 40 TTY 9600/9600 - - - - - 0 0 0/0 - 41 TTY 9600/9600 - - - - - 0 0 0/0 - 42 TTY 9600/9600 - - - - - 0 0 0/0 - 43 TTY 9600/9600 - - - - - 0 0 0/0 - 44 TTY 9600/9600 - - - - - 0 0 0/0 - 45 TTY 9600/9600 - - - - - 0 0 0/0 - 46 TTY 9600/9600 - - - - - 0 0 0/0 - 47 TTY 9600/9600 - - - - - 0 0 0/0 - 48 TTY 9600/9600 - - - - - 0 0 0/0 -
definiamo poi un’interfaccia loopback 0 che ci servirà sucessivamente per effettuare i collegamenti sulle seriali:
interface Loopback0 ip address 10.0.98.1 255.255.255.0 no ip redirects
L’indirizzo della Loopback0 può essere qualsiasi di una classe privata.
Possiamo quindi definire le LINE:
line 33 48 no flush-at-activation transport preferred telnet transport input all stopbits 1 flowcontrol hardware
a questo punto possiamo configurare gli hostname per aprire le connessioni:
ip host R1 2033 10.0.98.1 ip host R2 2034 10.0.98.1
Nota: le connessione avvengono attraverso un collegamento telnet, come specificato nella tranport definita sulle LINE. Le conessioni telnet sono aperte su porte specifiche formate da 20XX dove XX è la porta TTY a cui l’apparato è fisicamente collegato.
Nel mio caso il cavo da 8 sarà definito come Etichetta 1 = 33, 2 = 34, 3 = 35 [...] 8 = 40. Quindi il mio router R1, collegato al cavo con etichetta 1, sarà attestato alla TTY 33 quindi devo aprire una connessione telnet sulla porta 2033.
A questo punto sarò in grado di collegarmi ad R1 usando il comando telnet come segue:
aus-comm-server#telnet 10.255.98.1 2033 Trying 10.255.98.1, 2033 ... Open R1>
Per ritornare al prompt del router è sufficiente utilizzare la macro ctrl+shit+6, x (insieme ctrl+shit+6 poi x).
Nota utenti Mac: su mac la combinazione di tasti non funziona (se qualcuno mi indica la macro sostitutiva mi fa un favore
), quindi per uscire dovrete dare:
aus-comm-server#line clear 33
Nota: questo comando è valido per la versione di IOS 12.2, su versioni superiori è possibile usare disconnect <connection number> or disconnect <hostname> .
A questo punto è sufficiente terminare la configurazione del router assegnando un indirizzo ip alla Fastethernet 0/0, hostname, domain name default etc.
Questa configurazione è scomoda perché sarà necessario dare uno show running-config per ricordarsi gli hostname, show line per eventuali linee occupate creando un notevole overhead sulle attività di gestione.
E’ possibile quindi definire un menù per una gestione più comoda. Per farlo è sufficiente imporre i seguenti comandi:
menu TS title ^ ********************************************************** MOMIT SRL Terminal Server To exit from a device, use CTRL+SHIFT+6 then press x ********************************************************** ^ menu TS prompt ^ Your selection : ^ menu TS text 1 Connect to R1 menu TS command 1 resume R1 /connect telnet R1 ! menu TS text s show all established sessions menu TS command s sh line | inc TTY menu TS options s pause menu TS text c clear the session by number ie: c5 menu TS text e menu-exit menu TS command e menu-exit menu TS text q Quit terminal server session menu TS command q exit ! menu TS command c1 c1 ! menu TS clear-screen menu TS line-mode menu TS single-space ! alias exec c1 clear line 33
Nota: è possibile aggiungere altre entry nel menù inserendo
menu TS text 2 Connect to Rack1-R2 menu TS text 3 Connect to Rack1-R3
a seguito vanno inseriti i comandi di connect/resume
menu TS command 2 resume R2 /connect telnet R2 menu TS command 3 resume R3 /connect telnet R3
Nota: nel menù sono presenti i seguenti switch:
E’ possibile attivare il menù dando al prompt:
aus-comm-server# menu TS
il risultato sarà il seguente:
********************************************************** MOMIT SRL Terminal Server To exit from a device, use CTRL+SHIFT+6 then press x ********************************************************** 1 Connect to R1 s show all established sessions c<no> clear the session by number ie: c1 e menu-exit q Quit terminal server session Your selection :
E’ possibile abilitare il menù ad ogni connessione telnet effettuata verso il router inserendo un autocommand nella line vty 0 15:
line vty 0 4 login local autocommand menu TS transport input telnet transport output telnet line vty 5 15 login local autocommand menu TS transport input telnet transport output telnet
Ogni volta che ci si collegherà al router sarà presentato il comodo menù.
Sep 14th
If you have to add a partition to a logical volume you can follow these steps:
/dev/sda6# pvcreate /dev/sda6
/dev/mapper/VolGroup00-LogVol01
# vgextend/dev/mapper/VolGroup00-LogVol01/dev/sda6
/home)
# umount /home
# lvextend -L+50G /dev/mapper/VolGroup00-LogVol01
# e2fsck -f /dev/mapper/VolGroup00-LogVol01
resize2fs /dev/mapper/VolGroup00-LogVol01
Remount partition and run df. Now can see the new added space.
May 4th
Malware targeting Mac OS X has been detected, though it is not widespread. Those spreading the malware are exploiting users’ interest in late breaking news about Bin Laden’s death. MacDefender claims to be security software and tries to trick users into paying up to US $80 for what amounts to useless software. This marks the first time that rogue antivirus software has targeted Mac users. The program generates a
stream of messages on users’ computers that malware has been detected on their machines, and urges them to download security software. Safari users who have selected the “open ‘safe’ files after downloading” setting will have the malware installed immediately upon visiting one of the malicious pages. In other cases, for users to become infected, they have to open a ZIP file and manually install the malware. There is a legitimate software developer with the same name as the malware; they are not in any way connected.
Internet Storm Center: http://isc.sans.edu/diary.html?storyid=10813 (ISC has reports of $99 (via Paypal) for a price on this in addition to the $80 from other sources.)
Quoted from: SANS NewsBites Vol. 13 Num. 35.
Apr 26th
Mi trovo spesso nella situazione in cui molti clienti non installano i vmware-tools, soprattutto su linux. Principalmente perché molti ritengono i vmware-tools dei “tools” inutili, mentre invece sono dei drivers MOLTO UTILI – soprattutto all’hypervisor, e perché molti non sanno come fare in mancanza dell’interfaccia grafica.
Scrivo quindi questo post per tutti coloro i quali ignorano come installare i vmware-tools su linux da linea di comando. Queste informazioni si adattano a tutte le distribuzioni. Da notare che per rhel, centos, debian, ubunto e suse i driver del kernel sono tutti pre-compilati, mentre per altre distribuzioni o per kernel compilati ad-hoc è necessario avere installato e conoscere il path del compilatore gcc.
L’installazione dei vmware tools deve essere effettuata, a mio avviso, dopo l’aggiornamento del sistema.
Dopo aver aggiornato il sistema avviate il vSphere client e puntate la macchina virtuale alla quale volete installare i vmware-tools, cliccate sul tasto destro e nella tendina scegliete guest > Install/Upgrade VMware Tools
Dopo aver effettuato questa operazione avviate la console del sistema; potete utilizzare la console di VMware oppure loggarvi via ssh al terminale.
Una volta avviato il terminale dove montare il lettore cd con questo comando:
[root@hst-linux ~]# mount /dev/cdrom /mnt/
montiamo il lettore cd in /mnt. Riceveremo un messaggio come questo
mount: block device /dev/cdrom is write-protected, mounting read-only
il sistema ci indica che il device /dev/cdrom è montato in sola lettura. Giusto è un CD, anche se virtuale
Il contenuto del cdrom è
[root@hst-linux ~]# ls /mnt/ manifest.txt VMwareTools-8.3.2-257589.tar.gz
a noi interessa il file
VMwareTools-8.3.2-257589.tar.gz
scompattiamo il file dentro /root con
[root@hst-linux ~]# tar xzvf /mnt/VMwareTools-8.3.2-257589.tar.gz -C /root/
cambiamo la directory creata da tar in root vmware-tools-distrib.
A questo punto lanciamo lo script di installazione
[root@hst-linux vmware-tools-distrib]# ./vmware-install.pl
L’installazione si avvierà e ci chiederà dove vogliamo installare i file binary
Creating a new VMware Tools installer database using the tar4 format. Installing VMware Tools. In which directory do you want to install the binary files? [/usr/bin]
possiamo lasciare la scelta di default oppure decidere di posizionare i file in un’altra posizione (p.es. /usr/local/bin).
Lasciamo il default e continuamo con l’installazione.
What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc/rc.d]
L’installer ci chiede in quale directory sono contenuti le directory init: sulle distro rhel based, come centos, il default è corretto.
What is the directory that contains the init scripts? [/etc/rc.d/init.d]
L’installer ci chiede quale directory contiene gli init scripts: sulle distro rhel based, come centos, il default è corretto.
In which directory do you want to install the daemon files? [/usr/sbin]
L’installer ci chiede una posizione in cui installare i deamon. Il default è corretto. Potete comunque scegliere un’altra posizione.
In which directory do you want to install the library files? [/usr/lib/vmware-tools]
Lasciamo le lib nella dir vmware-tools.
L’installer ci chiederà di creare la dir vmware-tools poiché non esiste. Confermiamo e procediamo.
In which directory do you want to install the documentation files? [/usr/share/doc/vmware-tools]
Lasciamo il default per la documentazione e confermiamo quando ci chiede di creare la directory.
The installation of VMware Tools 8.3.2 build-257589 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl". Before running VMware Tools for the first time, you need to configure it by invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want this program to invoke the command for you now? [yes]
A questo punto l’installazione è quasi completa. L’installer ci dice che possiamo disinstallare i driver usando /usr/bin/vmware-uninstall-tools.pl.
E’ necessario configurare i driver prima della vera conclusione dell’installazione; la configurazione è automatica e vengono installati i driver nel kernel.
Nel caso di distribuzioni supportate (rhel, centos, debian, ubuntu e suse) i driver sono pre-compilati e si installaranno nel kernel senza che sia necessario compilarli.
The configuration of VMware Tools 8.3.2 build-257589 for Linux for this running kernel completed successfully. You must restart your X session before any mouse or graphics changes take effect. You can now run VMware Tools by invoking the following command: "/usr/bin/vmware-toolbox" during an X server session. To enable advanced X features (e.g., guest resolution fit, drag and drop, and file and text copy/paste), you will need to do one (or more) of the following: 1. Manually start /usr/bin/vmware-user 2. Log out and log back into your desktop session; and, 3. Restart your X session. Enjoy, --the VMware team Found VMware Tools CDROM mounted at /mnt. Ejecting device /dev/cdrom ...
Non abbiamo X installato, per cui l’installazione può considerarsi conclusa. Riavviamo il sistema.
Durante il boot potremo notare l’avvio dei vmware-tools. A boot terminato troveremo conferma della correttezza dell’installazione nel vsphere client.
Apr 22nd
Ho fatto richiesta per una classe IPv6 al nostro fornitore di connettività per fare qualche test – e magari partecipare all’IPv6 world day – e mi è stata allocata una /64.
Vi ricordo che una classe IPv6/64 contiene 18.446.744.073.709.551.616. Una quantità “infinita” per le dimensioni di qualsiasi cliente, anche i più grossi.
C’è da dire che è tornato un po’ il mal costume che c’era una volta, infatti ho visto che gli operatori hanno la tendenza ad allocare /64 anche per delle semplici punto-punto sprecando quintillioni di indirizzi ip. Vabbè, adesso ce ne sono tanti…Vedremo tra due decenni cosa succederà.
La configurazione è la seguente: classe /64 sull’interfaccia outside, collegata quindi all’operatore e classe /64 sull’interfaccia inside. Tutte le classi sono globali, non esiste più – per ora – il concetto di classe privata.
Ho a disposizione un ASA5505, aggiorno l’IOS alla 8 e procedo nella configurazione.
Ho definito sulla vlan2, l’interfaccia outside, la prima classe /64 che mi è stata fornita come punto-punto e che mi collega all’operatore.
asa(config-if)# ipv6 address 2001:1450:xxx1::2/64 asa(config-if)# ipv6 enable
In questo modo riesco a pingare l’operatore
asa# ping 2001:1450:xxx1::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:1450:xxx1::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
A questo punto definisco il default gateway per instradare il traffico IPv6 verso l’operatore
ipv6 route outside ::/0 2001:1450:xxx1::1
In questo modo sono in grado di pingare altri host sulla Internet IPv6. Proviamo per esempio ipv6.google.com che risolve con 2a00:1450:8002::93
asa# ping 2a00:1450:8002::93 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2a00:1450:8002::93, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 30/30/30 ms
L’operatore mi instrada correttamente su InternetV6.
Ora devo configurare l’intefaccia inside per dare connettività IPv6 agli host della mia rete interna.
Configuro l’interfaccia inside in modo che gli indirizzi vengano configurati in formato eui-64.
asa(config-if)# ipv6 address 2001:1450:xxx1:1::/64 eui-64 asa(config-if)# ipv6 enable
Al’interfaccia inside viene assegnato quindi l’indirizzo 2001:1450:xxx1:1:21d:a2ff:fe72:8cxx. Spiegherò in un altro post il funzionamento di eui-64.
Ora devo passare alla configurazione degli host, ma con grande sorpresa scopro che ASA ha abilitato il Neighbor Discovery Protocol e quindi i miei host sono già configurati e in rete.
Verifico su icaro
[root@icaro ~]# ip -6 addr show dev eth0
2: eth0: mtu 1500 qlen 1000
inet6 2001:1450:xxx1:1:20c:29ff:fee7:c7xx/64 scope global dynamic
valid_lft 2591904sec preferred_lft 604704sec
inet6 fe80::20c:29ff:fee7:c776/64 scope link
valid_lft forever preferred_lft forever
e la macchina è in grado di raggiungere gli hosts IPv6 a me noti (p.es. ipv6.google.com, debian.org, ripe.net, isoc.org etc.)
Anche M$ Windows 2003 Server, dopo aver installato il protocollo IPv6 viene autoconfigurato. Vi ricordo che Windows 2003 non ha nessuna interfaccia grafica per configurare IPv6, deve essere fatto tutto da linea di comando.
Il funzionamento di ASA con IPv6 è identico al NAT IPv4 quindi tutto esce dalla outside ma niente ci entra se non esplicitamente permesso, quindi è necessario implementare alcune ACL per permettere il traffico.
Per esempio, se voglio abilitare ICMPv6
asa(config)# ipv6 access-list acl-out2in6 permit icmp6 host 2001:1450:xxx1:1:20c:29ff:fee7:c7xx host 2001:xxx8:100:3c8::2 echo-reply asa(config)# access-group acl-out26 in in interface outside
In questo modo l’host 2001:xxx8:100:3c8::2 potrà pingare 2001:1450:xxx1:1:20c:29ff:fee7:c7xx.
Ci sono diverse configurazioni che si possono attivare tunando il NDP e altre funzionalità date dal protocollo (sto approfondendo sulla documentazione).
Pensavo che l’apparato soffrisse implementando ulteriori ACL invece per ora cpu e ram sono ancora in limiti di utilizzo ordinario; sarebbe interessante provare a sottoporre a maggior traffico l’apparato.
Nei prossimi articoli cercherò di approfondire le altre funzionalità di ASA con IPv6. Per ora abbiamo visto che la configurazione è relativamente semplice e ricorda molto le attività che facciamo ora con IPv4.