Old revisionsBacklinksExport to PDFODT exportBack to top Recent ChangesPrintPermalink × Table of Contents Hardware Setup Config Buyable solutions Name Tor Hotspot Description Build a WiFi AP which tunnels TCP connections through Tor Status Concluded Contact virii Participants: virii Want a Tor Router out of a raspberry pi?! Well here we go! Hardware We need the following: Raspberry Pi (Modell B, REV1 or REV2) ~40€ A case for our Pi ~10€ Transcend Extreme-Speed SDHC 16GB SDCARD ~12€ Micro-USB 5V 1500mA Power Supply ~4€ LAN Cable ~1€ TP-Link TL-WN722N Wireless adapter ~12€ D-Link DUB-H4 USB HUB ~18€ Makes a total of ~97€ for a ready-to-go Tor Hotspot. (amazon prices!) Setup Prepare the SDCard with the latest version of Raspbian. wget -O /tmp/raspbian.img http://downloads.raspberrypi.org/raspbian_latest dd if=/tmp/raspbian.img of=/dev/<YOUR SDCARD> bs=4M Plug the SDcard into the Pi Connect it with the LAN cable to your router/switch Connect the Pi with an HDMI cable to a monitor Connect the USB Hub to the Pi. On the HUB, connect an USB Keyboard and the Wireless adapter. Connect the USB Hub and the Pi to their power supplies and fire it all up. Config When raspi-config opens, tell it to expand the filesystem to the full size of your SDcard. Next, go and enable the SSH daemon. Now you can change the hostname to something like "TorRouter". Switch to the root user! sudo su Install Hostapd (does the Hotspot/Access Point) stuff, the DCHP server and Tor. apt-get update && apt-get install isc-dhcp-server tor For our setup we must compile Hostapd by hand as our TP-Link TL-WN722N uses a driver that's not enabled by the default raspbian hostapd. apt-get install libssl-dev libnl-dev wget http://w1.fi/releases/hostapd-2.0.tar.gz tar xzvf hostapd-2.0.tar.gz cd hostapd-2.0/hostapd cp defconfig .config nano .config Uncomment the following line #CONFIG_DRIVER_NL80211=y Compile it! make make install Edit dhcpd.conf nano /etc/dhcp/dhcpd.conf Comment the following lines out # option domain-name "example.org"; # option domain-name-servers ns1.example.org, ns2.example.org; Uncomment the following line # authoritative; Now add the following block of lines to the config (at the end of the file) 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.8.4; } Edit /etc/default/isc-dhcp-server nano /etc/default/isc-dhcp-server Change the INTERFACES value to this INTERFACES=wlan0 Now open /etc/network/interfaces and edit it to the following lines iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 #iface wlan0 inet manual #wpa-roam /etc/wpa_supplicant/wpa_upplicant.conf #iface default inet dhcp iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0 Enable wlan0 ifup wlan0 Now we create /etc/hostapd/hostapd.conf nano /etc/hostapd/hostapd.conf Fill it with the following lines interface=wlan0 driver=nl80211 ssid=TorRouter hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=YOURSECRETPASSWORDGOESHERE wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP Enable DAEMON mode in hostapd. nano /etc/default/hostapd Edit it DAEMON_CONF="/etc/hostapd/hostapd.conf" Now we need to download some more firmware for the chipset on our TP-Link wget -O /etc/driver/htc_9271.fw http://wireless.kernel.org/download/htc_fw/1.3/htc_9271.fw Go ahead and start the 2 services! service hostapd start service isc-dhcp-server start Enable autostart update-rc.d hostapd enable update-rc.d isc-dhcp-server enable Add the following line to /etc/sysctl.conf net.ipv4.ip_forward=1 Activate the changement sysctl -p Delete any old IPtables rule (if any) iptables -F iptables -t nat -F Add the following ip-forwarding rules iptables -t nat -A PREROUTING -i wlan0 -p tcp –dport 22 -j REDIRECT –to-ports 22 iptables -t nat -A PREROUTING -i wlan0 -p udp –dport 53 -j REDIRECT –to-ports 53 iptables -t nat -A PREROUTING -i wlan0 -p tcp –syn -j REDIRECT –to-ports 9040 iptables-save > /etc/iptables.ipv4.nat Add the following line to /etc/network/interfaces but after a newline. up iptables-restore /etc/iptables.ipv4.nat Config Tor! Add the following lines after this line ## https://www.torproject.org/docs/faq#torrc 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 Start Tor service tor start Enable Tor in autostart update-rc.d tor enable Now your Hotspot is ready to be used! Go ahead and connect to it. Then go to https://check.torproject.org. It will tell you that you are using Tor! Have fun with it! Buyable solutions If you want to buy a package with everything you need then have a look at Adafruit. But you still need do configure everything by your own! Costs: $94.95 projects/howtos/tor-hotspot.txt Last modified: 2021/10/10 23:05by wc3lmin