Magnifica giornata oggi per un giretto in bici. Percorso breve ma piacevole (cotone milanese a parte). Armato della mia vecchia nuzzi, ho fatto questo:
Grazie a Daniele, che mi ha portato la bici fino a casa, oggi ho potuto fare il primo giro/test.
Ovviamente, ho sperimentato il percorso per arrivare a lavoro. Altrettanto ovviamente, ho sbagliato strada un paio di volte e sono stato costretto a vedermela con mille piccoli dettagli sulle strade enormi di milano.
Alla fine, tutto compreso, ho impiegato 14 minuti circa…niente male, rispetto agli oltre 40 necessari con i mezzi pubblici
Percorso da casa a lavoro, in bici

Casetta casetta, un saluto prima di andarea dormireeeeee.
Dall’acquisto del server nuovo passato un sacco di tempo, moltissimi eventi mi hanno ulteriormente allontanato da esso…non per ultima, la “vaga” non-voglia di rimettermi a configurare mille cose.
…poi, inaspettatamente, ieri morto il server vecchio (e dire che l’avevo vantata da Gianfranco e Chiara, quella incredibile durata…).
In una notte di lavoro ho rimesso in funzione miracolosamente TUTTO…7 VM, ognuna con un compito quanto piu’ specifico possibile, tutte con ArchLinux (il mio ultimo amore).
Ho colto l’occasione per sistemare il sistema voip (dopo il passaggio alla Voice VLAN avvenuto ad ottobre circa).
Adesso asterisk sfrutta mysql (Asterisk Realtime) per buona parte della configurazione “dinamica” (peering, dialplan), i telefoni Cisco hanno il mio nuovo loghetto
.
…si, decisamente non un post “dal cuore romantico”
Finalmente, dopo qualche perplessit?, ieri ho montato il nuovo “futuro” serverino di casa. Hw di tutto rispetto:
- Processore Intel Core 2 Quad Q6600 (VT)
- 8Gb di Ram
- 2×160 Gb Maxtor HDD (questi avevo…)
- MoBo Asus P5K/EPU
Ieri ho installato Xen Server 5.5 ed ora sono alle prese con la prima guest machine (archlinux), cui poi verranno affiancate altre 8 macchine…bello sforzo !
Vediamo come va a finire
Oggi ho deciso di sperimentare linux come vlan router, collegando una scheda di rete ad una trunking port di un Catalyst 2950. L’esperimento ha dato ottimi frutti, permettendomi di pensare a modi interessanti per implementare sicurezza L2 nella mia rete casalinga.
Linux Kernel & Software
Dal punto di vista di linux, importante aver caricato il modulo 8021q mediante il solito comando
modprobe 8021q
In questo modo, la nostra interfaccia sar? in grado di trattare i 4 bytes in eccesso dell’incapsulazione IEEE 802.1Q. Il secondo passo consiste nell’installare la suite iproute2 e vconfig. La prima l’interfaccia “sostitutiva” di ifconfig allo stack ip di linux, mentre il secondo un programma che permette di gestire le vlan configurate.
Per permettere il routing, inoltre necessario permettere il packet forwarding con il comando
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
Linux Configuration
Nel mio caso, la eth0 connessa alla trunk port del Catalyst, su di lei andranno configurate le subinterfaces. La eth0 non dovr? avere alcun ip. Da essa verranno derivate le subinterfaces che gestiranno le vlans. Ipotizziamo di creare le vlan 2,3,4 (la vlan 1 presente di default in ogni switch).
[root@quasher ashura]# vconfig add eth0 2
Added VLAN with VID == 2 to IF -:eth0:-
[root@quasher ashura]# vconfig add eth0 3
Added VLAN with VID == 3 to IF -:eth0:-
[root@quasher ashura]# vconfig add eth0 4
Added VLAN with VID == 4 to IF -:eth0:-
A questo punto avremo la possibilit? di vedere le nuove interfacce:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1f:c6:00:00:fe brd ff:ff:ff:ff:ff:ff
4: eth0.2@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN link/ether 00:1f:c6:00:00:fe brd ff:ff:ff:ff:ff:ff
5: eth0.3@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN link/ether 00:1f:c6:00:00:fe brd ff:ff:ff:ff:ff:ff
6: eth0.4@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN link/ether 00:1f:c6:00:00:fe brd ff:ff:ff:ff:ff:ff
Tutte quante le interfacce virtuali sono DOWN, attiviamole e diamo loro degli ip:
[root@quasher ashura]# ip addr add 192.168.4.1/29 dev eth0.2
[root@quasher ashura]# ip addr add 192.168.4.9/29 dev eth0.3
[root@quasher ashura]# ip addr add 192.168.4.17/29 dev eth0.4
[root@quasher ashura]# ip link set eth0.2 up
[root@quasher ashura]# ip link set eth0.3 up
[root@quasher ashura]# ip link set eth0.4 up
Adesso abbiamo le nostre interfacce up e con ip delle relative subnets.
Cisco Catalyst configuration
Sullo switch sufficiente mettere la porta connessa a linux in trunking, definire le vlans ed eventuale security, configurare le access ports in portfast ed appartenenti alle relative vlans.
Non ho il supporto a ISL, ma non credo che sia implementato in linux, quindi converrebbe sempre utilizzare
encapsulation dot1q
nella trunking interface dello switch.
Nuova aquisizione in casa: due splendenti telefoni voip cisco 7940 che andranno ad aumentare il mio desiderio di voip domestico integrato
Appena arrivati, la domanda stata ovvia: come farli andare? Un rapido giro al sito cisco, seguito da uno su google e sono riuscito ad arrivare ad una soluzione.
Fase 1: Firmware
I telefoni Cisco 7940 possono operare in due modalit?: SCCP (o Skinny protocol) nel caso figli di CUCM o SIP nel caso di altri centralini. Innanzitutto bisogna prendere il Firmware adeguato per il telefono (serve l’abbonamento Cisco Smart Net o simili).
L’archivio comprender?:? (solo i files per noi vitali)
- P0S3-8-12-00.loads
- P0S3-8-12-00.sb2
- P003-8-12-00.bin
- P003-8-12-00.sbn
- OS79XX.TXT
Nel mio caso, ho dovuto usare il firmware P0S, ossia quello per il protocollo SIP (P00 Skinny).
Fase 2: Server DHCP
Questa fase piuttosto semplice, dato che gi? utilizzo ISC Dhcpd per l’autoconfigurazione di tutto quello che posso attaccare alla mia rete. Nel caso specifico, bisogna aggiungere le voci necessarie a far riconoscere ai telefoni l’indirizzo del server TFTP da usare per il provisioning di firmware e configurazione (nel mio caso, 10.0.1.1).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | option option-150 code 150 = ip-address; subnet 10.0.1.0 netmask 255.255.255.0 { option ntp-servers time.ien.it; option subnet-mask 255.255.255.0; option routers 10.0.1.1; option broadcast-address 10.0.1.255; option domain-name-servers 10.0.1.1; option ip-forwarding off; default-lease-time 86400; max-lease-time 86400; deny unknown-clients; next-server 10.0.1.1; range dynamic-bootp 10.0.1.1 10.0.1.254; host phone01 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.2; } host phone02 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.3; } host phone03 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.4; } host cisco7940-1 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.5; } host cisco7940-2 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.6; } } |
Fase 3: Server TFTP
Anche in questo caso, mi andata piuttosto bene, dato che gi? me lo trovo pronto e configurato per il backup della mia roba cisco. Nella fattispecie, ho configurato tftpd-hpa per esporre /var/tftpboot.
Qualunque sia la directory esposta, dovremmo copiarvi all’interno i files estratti dall’archivio del firmware e dovremmo aggiungervi anche i files di provisioning della configurazione:
- SIPDefault.cnf (configurazione di default per i telefoni non specificati)
- SIPMACADDRESS.cnf (per ogni telefono da configurare, sostituendo MACADDRESS con il mac del proprio telefono, senza separatore)
Il contenuto di SIPDefault.cnf (case sensitive, su linux…) il seguente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | image_version: P0S3-8-12-00 proxy1_address: "10.0.1.1" ; Can be dotted IP or FQDN proxy2_address: "" ; Can be dotted IP or FQDN proxy3_address: "" ; Can be dotted IP or FQDN proxy4_address: "" ; Can be dotted IP or FQDN proxy5_address: "" ; Can be dotted IP or FQDN proxy6_address: "" ; Can be dotted IP or FQDN proxy_register: 1 messages_uri: "1" phone_password: "cisco" ; Limited to 31 characters (Default - cisco) sntp_mode: unicast sntp_server: "time.ien.it" time_zone: "GMT" ; assuming you're in GMT time_format_24hr: 1 ; to show the time in 24hour format date_format: "Y/M/D" ; format you would like the date in dial_template: dialplan |
In generale, qui basta modificare l’indirizzo dei vari proxy utilizzabili.
Contenuto di SIPMACADDRESS.cnf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # SIP Configuration Generic File (start) # Proxy Server proxy1_address: "10.0.1.1" proxy2_address: "10.0.1.1" proxy3_address: "10.0.0.129" proxy4_address: "10.0.0.1" proxy5_address: "10.0.0.1" proxy6_address: "10.0.0.1" # Line 1 Settings line1_name: "1007" ; Line 1 Extension\User ID line1_displayname: "1007" ; Line 1 Display Name line1_authname: "1007" ; Line 1 Registration Authentication line1_password: "password" ; Line 1 Registration Password # Line 2 Settings line2_name: "1008" ; Line 2 Extension\User ID line2_displayname: "1008" ; Line 2 Display Name line2_authname: "1008" ; Line 2 Registration Authentication line2_password: "password" ; Line 2 Registration Password # Emergency Proxy info proxy_emergency: "" proxy_emergency_port: "5060" # Backup Proxy info proxy_backup: "" proxy_backup_port: "5060" # Outbound Proxy info outbound_proxy: "" outbound_proxy_port: "5060" # NAT/Firewall Traversal nat_enable: "1" nat_address: "" voip_control_port: "5060" start_media_port: "16384" end_media_port: "32766" nat_received_processing: "1" # Phone Label (Text desired to be displayed in upper right corner) phone_label: "Ash-terisk 2" ; Has no effect on SIP messaging #preferred_codec: "g711alaw" # Time Zone phone will reside in time_zone: "GMT" # Telnet Level (enable or disable the ability to telnet into this phone telnet_level: "1" ; 0-Disabled (default), 1-Enabled, 2-Privileged # Phone prompt/password for telnet/console session phone_prompt: "Go Away" ; Telnet/Console Prompt phone_password: "baco" ; Telnet/Console Password # Enable_VAD (1-enabled, 0-disabled) enable_vad: "0" # Network Media Type (auto, full100, full10, half100, half10) network_media_type: "auto" user_info: phone # URL for external Directory location logo_url: "http://10.0.1.1/asterisk-tux.bmp" ; URL for branding logo to be used on phone display # SIP Configuration Generic File (stop) |
Questo conterr? attualmente TUTTA la reale configurazione offerta ai telefoni ed andr? modificata in accordo a quella che la nostra configurazione su asterisk.
Rapidissimo passaggio solo per…?Oh Mr Chuuuck <—- YEAH!
In formato suoneria, leggerissimo!
Non potr? fare il pilota di caccia!!!



