Oggi mi sono posto una domanda….. Ma perché avendo una adsl a casa devo pagare anche l’accesso wap dal cellulare?

Il mio cellulare (K610i della sony ericsson), non dispone di wifi, ma ha il bluetooth….

Bhe, dov’è il problema allora? Basta collegare il cellulare via bluetooth al pc e poi sfruttare questa connessione per navigare…..

Bene, ecco come:

Intanto installiamo quello che ci serve: bluetooth e bluez-utils sono il supporto per il bluetooth su Linux, mentre il server dhcp ci serve per assegnare un ip al cellulare (quello che stiamo facendo è un accrocchio, non è una cosa standard, per cui nel telefono non esiste la possibilità di settare un ip statico….) iptables invece ci serve per nattare la connessione creata dal cellulare

apt-get install bluetooth bluez-utils dhcp3-server iptables

…do per scontato che siano già riconosciuti tra di loro telefono e pc….

Bhe, inziamo:

Per prima cosa andiamo ad editare il file  /etc/bluetooth/hcid.conf

ed andiamo a modificare la riga che contiene

lm accept;

e la facciamo diventare:

lm accept, master;

Nel file/etc/default/bluetooth modifichiamo i parametri:

PAND_ENABLED=0

in

PAND_ENABLED=1

e

PAND_OPTIONS=”

in

PAND_OPTIONS=”–listen –role=NAP –devup /etc/bluetooth/pan/dev-up”

Creiamo la directory “pan” ed il file dev-up

mkdir /etc/bluetooth/pan
touch /etc/bluetooth/pan/dev-up

Nel file dev-up inseriamo quanto segue:

#!/bin/sh
echo “1″ > /proc/sys/net/ipv4/ip_forward                 # Abilitiamo il forward dei pacchetti a livello kernel
ifup bnep0                                                                        # Abilitiamo l’interfaccia bnep0 (il tunnel bluetooth)
ifconfig bnep0 10.0.254.1 netmask 255.255.255.240    # Configuriamo a mano l’interfaccia

sleep 2                                                                               # Aspetta 2 secondi
/etc/init.d/dhcp3-server restart                                     # Riavvia il server dhcp

N.B. Solo 2 righe [oltre ai commenti] di spiegazione del file…..

Che succede?! Allora, il cellulare si aggancia al pc via bluetooth, a questo punto si attiva pand, che attiva il tunnel (bnep0) e, una volta che il device è attivo, richiama il file /etc/bluetooth/pan/dev-up che, come si vede dai commenti, configura un pò ri boba e poi fa ripartire il server dhcp (che poi configureremo per agganciarsi SOLO sull’interfaccia bnep0) che assegna l’ip al cellulare e fine….

In teoria basterebbe “ifup bnep0″ che legge il file di configurazione dell’interfaccia….. A volte non mi funzionanva, così facendo invece non mi ha mai dato problemi…..

Vabbè, continuiamo….
Rendiamo eseguibile il file appena creato

chmod +x /etc/bluetooth/pan/dev-up

Andiamo a definire l’interfaccia bnep0 in/etc/network/interfaces

iface bnep0 inet static
address 10.0.254.1
netmask 255.255.255.240
post-up iptables -t nat -A POSTROUTING -s 10.0.254.0/24 -j MASQUERADE
pre-down /etc/init.d/dhcp3-server stop

il “post-up” come dice il nome esegue quel comando appena attivata l’interfaccia, in questo caso crea solamente un nat tra le interfacce

Ora resta solamente da definire il range di ip nel dhcp, quindi nel file /etc/dhcp3/dhcpd.conf aggiungiamo

subnet 10.0.254.0 netmask 255.255.255.240 {
range 10.0.254.2 10.0.254.10;
option domain-name “bluetoot.casa.mia”;
option routers 10.0.254.1;
option domain-name-servers IP_DNS;
option broadcast-address 10.0.254.255;
default-lease-time 600;
max-lease-time 7200;
}

e nel file /etc/default/dhcp settiamo

INTERFACES=”bnep0″  #  In questo modo il server dhcp risponde solo a richieste provenienti su bnep0

Riavviamo il demone bluetooth in modo che rilegga la configurazione e creiamo la connessione sul telefono….

Impostazioni -> Connettività -> Impostazioni Internet -> Nuovo Profilo

Come nome mettete quello che volete, io (con grande fantasia ho messo PC )

e come “Connetti con” selezionate il pair bluetooth che avete fatto col vostro pc…. Ricordatevi nel pc, di settare anche “permetti connessioni dal dispositivo”…

Settate questo profilo di default per Connessione Internet, Java e Streaming….

In caso di problemi un’occhiatina a /var/log/syslog e /var/log/message puo essere mooolto utile….

P.S. Si, so che impaginato così fa veramente schifo…. Se qualcuno ha qualche plugin per wordpress da consigliarmi per rendere bene l’idea dei parametri da scrivere in shell…..

Poco tempo fa, quando avevo bisogno di fare assistenze “al volo” su macchine con problemi, usavo una knoppix, poi, col passare del tempo, knoppix è stata soppiantata da una ubuntu
Mi sono accorto però che, alla fine, ubuntu era fatta per tutt’altro scopo, knoppix non mi soddisfava più, sopprattutto per la mancanza di un supporto serio per scrivere su ntfs, e quindi….
Bhe, ho deciso di farmi la mia distribuzione personale, livecd, basata su linux….
Per ora si chiama MyLive (non c’ho fantasia per i nomi, si accettano suggerimenti)….
E’ studiata per un approccio sistemistico alla cosa, non ha (ovviamente) interfaccia grafica, ma dispone di moltissimi programmi utili per la gestione della rete, server web, mysql, gestione raid e supporto ntfs.
Per chiunque fosse interessato a provarla basta mi contatti, gli darò un linkk da cui scaricarla dato che ora come ora pesa 400M e il webserver non mi da molto spazio……

Qualche dato della Live:
O.S. : Gnu/Linux
Distibuzione: Based on Gentoo Linux
Pacchetti installati: pacchetti

Bene, invece per il portatile con Linux basta installare i pacchetti wpasupplicant ed utilizzare un file di configurazione come questo:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
fast_reauth=0

network={
ssid=”DEI”
scan_ssid=1
proto=RSN
key_mgmt=WPA-EAP
pairwise=CCMP
eap=TTLS
identity=”USERNAME”
password=”PASSWORD”
ca_cert=”/etc/ssl/certs/Go_Daddy_Class_2_CA.pem”
phase2=”auth=PAP”
id_str=”"
}

Poi salvate il file come wpa_supplicant.conf e mettete il file in /etc/wpa_supplicant/wpa_supplicant.conf

lanciate il demone con

wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

e poi lanciate

wpa_gui

Connessione ok ;)

Finalmente è stato rilasciato G.I.M.P. 2.6, per le note di rilascio, novità etc vi rimando alla pagina ufficiale qui.

Sfortunatamente non è ancora disponibile in deb…. Io me lo sono ricompilato ed installato… se qualcuno è interessato mi contatti, ho disponibili i deb sia per AMD64 che per 686 (386)

Stefano

UPDATE: E’ gia presente il pacchetto deb su debian ;)

Si, lo ammetto…. Ububtu sul mio pc è durato meno di 4-5 giorni, poi sono passato a Debian….

Ho avuto solo un piccolo problema nell’installazione dei driver proprietari…

Scaricati i driver dal sito nvidia, chiuso X mi dava un errore del tipo “Non compatibile con kernel Xen”…. poi ho scoperto che i kernel bigmem di debian sono compilati con supporto xen….

Come fare?! Bhe, dato che il pc è sostanzialmente una macchina stupida….. facciamogli credere che non ci sia il supporto… Come ?! Facile :D

  • cd /lib/module/$kernel_version
  • grep CONFIG_XEN . -Rl | xargs -i sed -i -e ’s/CONFIG_XEN/CONFIG_MIO/g’ {}

E fino a qui nulla di che, basta che facciate un copia incolla (da root) e sostituiate $kernel_version con la versione del vostro kernel (la potete sapere dando un “uname -a” su una shell….

Ora, dovete chiudere X, loggarvi su una shell e dare

  • export IGNORE_XEN_PRESENCE=1
  • sh NVIDIA-Linux-x86-173.08-pkg1.run

…Mi raccomando, con export IGNORE_XEN_PRESENCE=1 esportate una variabile d’ambiente che poi viene letta dallo “script” di NVIDIA…. quella variabile nasce e muore all’interno della shell in cui la scrivete….quindi scrivetela sulla shell da cui poi lanciate lo script ;)

Stefano

Una delle più grandi “rogne”  che ho avuto con Linux è stata la gestione della wireless.

Ho trovato un programmino che automatizza la cosa… wicd

Per chi avesse gentoo basta dare un bel “emerge -av wicd

per chi invece ha Debian/Ubuntu:

  1. A questo indirizzo è disponibile un deb adatto a tutte le versioni.
  2. Con un bel “apt-get install python-glade2” risolviamo le dipendenze (al 90% è gia installato)
  3. Poi un bel dpkg -i wicd_1.5.1_all.deb
  4. A questo punto un wicd da root per far partire il demone e un wincd-client da utente per far partire la sys-ico.

Dato che ho sfruttato per l’ennesima volta dd

dd è un’utility di Linux che permette la copia di cd, hd, partizioni, file etc…..

Ammettiamo per un attimo di dover fare un backup di una partizione di un hd (nel caso di dischi danneggiati etc…).

Per fare il backup di una partizione basta eseguire

dd if=/dev/sdXn of=/mnt/Disco/Immagine.img

dove X è la “lettera” che indica il disco e n è la partizione in uso….

per ripristinare il backup poi

dd if=/mnt/Disco/Immagine.img of=/dev/sdXn

Per il backup di un disco intero

dd if=/dev/sdX of=/mnt/Disco/Immagine.img

oppure

dd if=/dev/sdX | gzip > /mnt/Disco/Immagine.img.gz

per il restore

dd if=/mnt/Disco/Immagine.iso of=/dev/sdX

oppure

gzip -dc /mnt/Disco/Immagine.img.gz | dd of=/dev/sdX

Dobbiamo fare il backup dell’mbr?

dd if=/dev/sdX of=mbr.bin bs=512 count=1

e ovviamente per ripristinare

dd if=mbr.bin of=/dev/sdX bs=512 count=1

Hehe… leggevo su punto-infomatico… anche qui sono riusciti a mettere Linux….

Bellissimo il passo:

Ciò rende la piattaforma di Phoenix particolarmente adatta sia per eseguire antivirus e altri software per la sicurezza, sia per consentire agli utenti di navigare sul web senza rischiare di infettare il resto del sistema con worm o altri malware.

….ma installarsi un Linux era troppo complicato?

Un mio pdf che spiega Cos’è Linux?

Questo è uno stupidissimo script bash che tramite poche domande configura un firewall generico.

#!/bin/bash
#
#
IPTABLES="/sbin/iptables"
INTERFACE="0"
SSH_PORT=""
WWW_PORT=""
FTP_PORT=""

echo -e "\n\n ***********************************"
echo " * Read README.TXT before use it ! *"
echo -e " *********************************** \n\n"
if [ $INTERFACE = "0"  ]
then
echo "Enter by with interface you are connect to the net"
echo " Exemple : eth0 ppp0...."
read answer
INTERFACE=answer
echo -e "\n\n Enter here if you want to open ssh port"
echo " Enter [Y]es \ [N]o "
read answer
if [ $answer = "Y" ] || [ $answer = "y" ]
then
SSH_PORT="ACCEPT"
else
SSH_PORT="DROP"
fi
echo -e "\n\n Enter here if you want to open www port"
echo " Enter [Y]es \ [N]o "
read answer
if [ $answer = "Y" ] || [ $answer = "y" ]
then
WWW_PORT="ACCEPT"
else
WWW_PORT="DROP"
fi

echo -e "\n\n Enter here if you want to open ftp server port"
echo " Enter [Y]es \ [N]o "
read answer
if [ $answer = "Y" ] || [ $answer = "y" ]
then
FTP_PORT="ACCEPT"
else
FTP_PORT="DROP"
fi
fi
###   Flush Rules
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT

###   Drop All
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

###   INPUT Rules
$IPTABLES -A INPUT -i $INTERFACE -p tcp --dport 22 -j $SSH_PORT
$IPTABLES -A INPUT -i $INTERFACE -p tcp --dport 80 -j $WWW_PORT
$IPTABLES -A INPUT -i $INTERFACE -p tcp --dport 21 -j $FTP_PORT
$IPTABLES -A INPUT -i $INTERFACE -s 0.0.0.0/0 -p icmp --icmp-type echo-reply -j ACCEPT
$IPTABLES -A INPUT -i $INTERFACE -s 0.0.0.0/0 -p tcp ! --syn -j ACCEPT
$IPTABLES -A INPUT -i $INTERFACE -s 0.0.0.0/0 -p udp -j ACCEPT

$IPTABLES -L

## End Bash Script

ATTENZIONE !!!!!

*********************************************
* !! Read this before use Open_Firewall !! *
*********************************************

This is a firewall to protect yours system on the net.
If you run Open_Firewall ( as root ) it ask you all configuration parameters.
If you what to run it, in yous Pc without asking every times the configurations, you can *****modify***** the line 2-3-4-5 in files Open_Firewall.

In line call
INTERFACE=”0″ you can write INTERFACE=”eth0″ if you are using eth0 interfaces or INTERFACE=”ppp0″ if you use a connection by ppp0.
In line SSH_PORT=”" , WWW_PORT=”", FTP_PORT=”", you put ACCEPT if you whant to open the port, esle DROP.

DONT LEAVE IT BLACK IF YOU MODIFY INTERFACE=”0″

For example you can write

INTERFACE=”ppp0″
SSH_PORT=”ACCEPT”
WWW_PORT=”DROP”
FTP_PORT=”DROP”

or

INTERFACE=”eth3″
SSH_PORT=”ACCEPT”
WWW_PORT=”DROP”
FTP_PORT=”DROP”

Have a nice day….

Open Firewall (tar.gz)