[Soci SLIP] Re: Raspberry pi onion router

Lim Linux marco.lisciandrello a gmail.com
Gio 18 Feb 2016 11:54:28 CET


Personalmente l'ho provato e funziona, se interessa a questo punto
potrei portarlo la prossima volta all'incontro mensile. In ogni caso ho
seguito le guide da te linkate utilizzando il Pi2 è una dongle
compatibile. Mi ero scritto anche una guida che magari può essere
utile. Consiglio comunque di usare le guide linkate da adafruit.

avevo anche trovato altri info sul web. li posto qui:

https://www.maketecheasier.com/set-up-raspberry-pi-as-wireless-access-point/
http://elinux.org/RPI-Wireless-Hotspot
http://www.lucadentella.it/2014/11/12/raspberry-pi-come-access-point/
http://www.glgprograms.it/?p=tricks/raspspot
http://www.opengeek.it/linux/come-settare-il-raspberry-per-renderlo-un-access-point-wifi/
http://elinux.org/RPi_USB_Wi-Fi_Adapters
http://www.raspberry-pi-geek.com/Archive/2013/02/Raspberry-Pi-as-a-Tor-router-and-web-filter







-- 
Marco LIM
Please don't print this message
3R
-------------- parte successiva --------------
# Requisiti:
# - Raspberry Pi
# - SD card con caricato una qualsiasi distribuzione (io ho usato il debian jessie).
# - Cavo ethernet.
# - Connessione ad internet.
# - Wi-fi dongle (consigliata TP-LINK TL-WN725N).
# Possibili problemi:
# Quando si collegano più utenze ho notato che il Rasp assorbe più corrente quindi il segnale del Wi-fi
# diventa molto debole e la distanza che può ricomprire diventa molto bassa



#0. Installare la Wi-fi dongle e verificare con ifconfig -a se viene vista. Dovrebbe essere wlan0

#1. Installare i sw necessari:
#
#	a. 'hostapd':		questo è il sw che permette di far diventare un access point la propria wi-fi dongle
#	b. 'isc-dhcp-server':	questo è un server dhcp che servirà per assegnare gli indirizzi IP della nuova rete creata.
#	Comandi:
	sudo apt-get update
	sudo apt-get install hostapd isc-dhcp-server

#2. Editare file di configurazione del server DHCP:

	sudo nano /etc/dhcp/dhcpd.conf

#	cercare le righe dove sono scritte i seguenti parametri:
#	option domain-name "example.org";
#	option domain-name-servers ns1.example.org, ns2.example.org;
#	una volta trovate le facciamo diventare commenti inserendo '#' prima della riga in modo che non vengono processate.

#	cercare le righe dove sono scritte i seguenti commenti:
	# If this DHCP server is the official DHCP server for the local
	# network, the authoritative directive should be uncommented.
	#authoritative;

#	e rimuovere '#' da la scritta "#authoritative;"

#	adesso andare all'ultima riga e inserire questo codice:

	subnet 192.168.42.0 netmask 255.255.255.0 {
	range 192.168.42.10 192.168.42.50;
	option broadcast-address 192.168.42.255;
	option routers 192.168.42.1;
	default-lease-time 600;
	max-lease-time 7200;
	option domain-name "local";
	option domain-name-servers 8.8.8.8, 8.8.4.4;
	}

#	L'indirizzo è a piacimento (es. 192.168.20.x) in quanto sarà la piccola rete dell'access point.
#	Salvare il file con CTRL+X e Y e invio.

#3. Editare file di configurazione del server DHCP:

	sudo nano /etc/default/isc-dhcp-server

#	Andare alla riga in cui si trova:
#	INTERFACES="" e sostituirla con INTERFACES="wlan0"

#4. Impostare la connessione wlan0 per IP statico:
#	Inanzitutto bisogna disattivare la scheda wlan0 con il comando:
	
	sudo ifdown wlan0

#	dopodichè bisogna impostare la wlan0 in modo che abbia un IP statico fisso. Lo facciamo modificando il seguente file:
	
	sudo nano /etc/network/interfaces

	Aggiungere le seguenti righe di codice:

	iface wlan0 inet static
	address 192.168.42.1
	netmask 255.255.255.0

#	bisogna eliminare qualsiasi vecchia configurazione della wlan0 mettendo '#' su ogni riga esistente. Le veccie configurazioni
#	dipendono dall'uso fatto dalla Wi-fi dongle. Ogni rasp potrebbe averlo diverso. In ogni caso il file dovrebbe risultare circa
#	uguale a questo:
--------------------------------------------------------------
# Please note that this file is written to be used with dhcpcd.
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'.

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet manual

auto wlan0
allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0
#gateway 192.168.0.1

#auto wlan1
#allow-hotplug wlan1
#iface wlan1 inet manual
#wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
---------------------------------------------------------------

#	Salvare il file con CTRL+X e Y e invio.
#	Far ripartire la wlan0 assegnandole già l'indirizzo IP:

	sudo ifconfig wlan0 192.168.42.1

#5. Configurare l'access Point
#	Adesso c'è da configurare l'access point e mettere (se si vuole) una password per far connettere i pc.

#	creare un nuovo file:

	sudo nano /etc/hostapd/hostapd.conf

#	e scrivere il contenuto del file:


interface=wlan0
driver=rtl871xdrv
#driver=nl80211 (scegliere il tipo di driver della scheda wi-fi dongle)
ieee80211n=1
hw_mode=g
device_name=mt7601u
manufacturer=Mediatek
hw_mode=g
ssid=LIMsiula
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=siula12321
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

#	Salvare il file con CTRL+X e Y e invio.
#	ora bisogna impostare sul programma di access point su che file di configurazione puntare:

	sudo nano /etc/default/hostapd

#	cercare la riga con
	#DAEMON_CONF="" e sostituirla con
	DAEMON_CONF="/etc/hostapd/hostapd.conf"

#	Salvare il file con CTRL+X e Y e invio.

#6. Configurazione NAT
# Settare il NAT serve per permettere ai clients di connettersi tramite Wi-fi e farli incanalare
# nella rete ethernet a cui è collegato il Raspberry.

#	aprire il file di configurazione:

	sudo nano /etc/sysctl.conf

#	aggiungere la una riga con:

	net.ipv4.ip_forward=1

#	Salvare il file con CTRL+X e Y e invio.
#	Questo comando farà l'inoltro al boot.
#	eseguire inoltre il seguente comando per far partire immediatamente il 'forwarding':

	sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

#	creare il NAT tra la porta ethernet eth0 e la porta wi-fi wlan0, tramite il comando 

	sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
	sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
	sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

#	per verificare cosa nella tabella di iptables si fa:

	sudo iptables -t nat -S
	sudo iptables -S

#	per avere la seguente tabella ad ogni riavvio del Pi scrivere:

	sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

#	Aprire il file di configurazione delle schede di rete:

	sudo nano /etc/network/interfaces

#	e aggiungere la seguente riga:

	up iptables-restore < /etc/iptables.ipv4.nat

#7. Update di hostapd (non è detto che sia necessario)
# probabilmente se non funziona l'hostapd sarà da aggiornare, ma se invece funzionasse passare direttamente al punto seguente:

	wget http://adafruit-download.s3.amazonaws.com/adafruit_hostapd_14128.zip
	unzip adafruit_hostapd_14128.zip
	sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.ORIG
	sudo mv hostapd /usr/sbin
	sudo chmod 755 /usr/sbin/hostapd

#8. Primo test
# Far partire hostapd con il suo file di configurazione:

	sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

# a questo punto con un qualsiasi altro PC si può verificare se l'access point è funzionante 
#(il forwarding con la rete ethernet non sarà ancora funzionante

#9. Rendere i sw configurati daemon, in modo da farli partire al boot:

	sudo service hostapd start
	sudo service isc-dhcp-server start

#	Questo li farà partire, per verificarne lo stato:

	sudo service hostapd status
	sudo service isc-dhcp-server status

#	Verificare che daemon non diano errori e a questo punto li inseriamo per ogni avvio del Raspberry.

	sudo update-rc.d hostapd enable
	sudo update-rc.d isc-dhcp-server enable

#	Se necessario eseguire il punto 10 altrimenti eseguire un reboot.

#10. Extra: Rimuovere WPA-Supplicant
# Dipende dalla Distro utilizzata, potrebbe essere necessario rimuovere il WPASupplicant tramite il comando

	sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~/

# Eseguire un reboot.

#11. Installazione TOR
# A questo punto dobbiamo installare il servio TOR. Per farlo entrare nel raspberry come si preferisce (solito ssh) e eseguire:

	sudo apt-get update
	sudo apt-get install tor

#	Editare il file di configurazione di tor:

	sudo nano /etc/tor/torrc

#	Scrivere le seguenti righe all'inizio del file:

	Log notice file /var/log/tor/notices.log
	VirtualAddrNetwork 10.192.0.0/10
	AutomapHostsSuffixes .onion,.exit
	AutomapHostsOnResolve 1
	TransPort 9040
	TransListenAddress 192.168.42.1
	DNSPort 53
	DNSListenAddress 192.168.42.1

#	L'indirizzo  dipende da quello scelto in precedenza.
#	A questo punto bisogna risettare le tabelle del firewall iptables, come prima cosa facendo un flushing di quelle esistenti.

	sudo iptables -F
	sudo iptables -t nat -F

#	Rendiamo di nuovo disponibile la connessione ssh sulla porta 22 (TCP)

	sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -j REDIRECT --to-ports 22

#	Inseriamo porta del DNS 53 (UDP) configurata prima nel file di configurazione.

	sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53 
	
#	inoltre settare la porta Transport 9040 (TCP)

	sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040

#	Ora si può verificare le tabelle se sono corrette con:

	sudo iptables -t nat -L

# Se è tutto corretto si può salvare tutto nel file del NAT:

	sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

# Ora creiamo i nostri log, pratici per il debugging

	sudo touch /var/log/tor/notices.log
	sudo chown debian-tor /var/log/tor/notices.log
	sudo chmod 644 /var/log/tor/notices.log

# Controlliamo  se sono stati creati:

	ls -l /var/log/tor

# Adesso eseguiamo il tor.

	sudo service to r start

# 	Ne verifichiamo lo stato

	sudo service to r status

# e lo inseriamo per ogni boot del raspberry:

	sudo update-rc.d to r enable

# Ora provare con un altro pc se ci si collega su internet e verificare con whois se l'indirizzo IP
# è diverso da quello fornito dal proprio provider

#Fine


____________________________________________________________________________________________________
link e info:
https://www.maketecheasier.com/set-up-raspberry-pi-as-wireless-access-point/
http://elinux.org/RPI-Wireless-Hotspot
http://www.lucadentella.it/2014/11/12/raspberry-pi-come-access-point/
http://www.glgprograms.it/?p=tricks/raspspot
http://www.opengeek.it/linux/come-settare-il-raspberry-per-renderlo-un-access-point-wifi/

http://www.raspberry-pi-geek.com/Archive/2013/02/Raspberry-Pi-as-a-Tor-router-and-web-filter




Maggiori informazioni sulla lista Soci