[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