oschvr

a blog about software, programming, business, travelling and life.

← Posts

Cómo hacer un Proxy de Tor

Cómo hacer un Proxy de Tor

over 1 year ago

 28/08/2017

Descarga el PDF


Video

IMAGE ALT TEXT HERE

rpi

Requisitos

  • Raspberry Pi (2 o 3)
  • ISO de Raspbian Jessie (Debian) Descargar
  • Tarjeta SD > 8Gb (SDCard)
  • Tarjeta Inalámbrica (Wifi Dongle)
  • Conexión a Router por Ethernet
  • Periféricos (Teclado, Mouse, Monitor, Cable HDMI)

Iniciando

  1. Flashear el ISO de Raspbian a la SDCard. Yo usé ApplePi Baker. Aquí hay un excelente tutorial
  2. Conectar todos los periféricos (mouse, teclado, monitor) y el micro Usb para encender el Raspberry
  3. Abrir una terminal y escribir bashsudo raspi-config
  4. Ir a 'Interfacing Options' > 'SSH' y habilitar el server de SSH y salir.
  5. Escribir ifconfig y copiar la dirección IP que está a un lado de inet en la parte de eth0

ssh

Tutorial

Primero que nada, establecemos la conexión a nuestro RaspberryPi por medio de SSH

Abrimos nuestra terminal y tecleamos:

1
ssh pi@<dirección IP que conseguimos en el paso anterior>

en mi caso es:

1
ssh pi@192.168.100.5

Y escribimos la contraseña, que por default es raspberry.

Actualizamos los paquetes

1
sudo apt-get update

HOSTAPD y ISC-DHCP-SERVER

Instalamos hostapd y isc-dhcp-server

1
sudo apt-get install hostapd isc-dhcp-server

Instalamos iptables-persistent

1
2
sudo apt-get install iptables-persistent
sudo nano /etc/dhcp/dhcpd.conf

Encontrar las lineas que dicen

1
2
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

Comentarlas (ponerles un # al principio)

1
2
 # option domain-name "example.org";
 # option domain-name-servers ns1.example.org, ns2.example.org;

Encontrar las lineas que dicen

1
2
3
 # If this DHCP server is the official DHCP server for the local
 # network, the authoritative directive should be uncommented.
 #  authoritative;

Y quitar el #

1
2
3
 # If this DHCP server is the official DHCP server for the local
 # network, the authoritative directive should be uncommented. 
  authoritative;

Baja, agrega lo siguiente y guarda:

1
2
3
4
5
6
7
8
9
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;
}
1
sudo nano /etc/default/isc-dhcp-server

Baja a INTERFACES="" y actualiza a INTERFACES="wlan0"

1
2
sudo ifdown wlan0
sudo nano /etc/network/interfaces

Cambia manual por dhcp en iface eth0

Quita cualquier configuracion de wlan0, agrega lo siguiente y guarda:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
auto lo

iface lo inet loopback 
iface eth0 inet dhcp

allow-hotplug wlan0

iface wlan0 inet static
 address 192.168.42.1
 netmask 255.255.255.0

 #iface wlan0 inet manual
 #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
 #iface default inet dhcp

Asignale la ip estatica a wlan0

1
2
sudo ifconfig wlan0 192.168.42.1
sudo nano /etc/hostapd/hostapd.conf

Copia y pega la siguiente configuración de hostapd, recuerda cambiar el ssid y el wpa_passphrase.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
interface=wlan0
 #driver=rtl871xdrv
ssid=TORNet
country_code=US
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=Raspberry
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1
1
sudo nano /etc/default/hostapd

Encuentra #DAEMON_CONF="" para que diga DAEMON_CONF="/etc/hostapd/hostapd.conf"

1
sudo nano /etc/init.d/hostapd

Vuelve a hacer lo mismo en, DAEMON_CONF="" para que diga DAEMON_CONF="/etc/hostapd/hostapd.conf"

1
sudo nano /etc/sysctl.conf

Descomenta la linea: net.ipv4.ip_forward=1

Cambia las tablas de IP a lo siguiente:

1
2
3
4
5
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
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
sudo sh -c "iptables-save > /etc/iptables/rules.v4"

Levantamos para probar nuestro punto de acceso:

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

Deberíamos ver nuestro ssid en la lista de redes.

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

Reiniciamos hostapd e isc-dhcp-server y con update-rc.d para iniciarlos al reiniciar el raspberry

1
2
3
4
5
6
sudo reboot
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo service hostapd start
sudo service isc-dhcp-server start
sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable

Revisamos si ambos estan arriba.

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

services

TOR

1
2
3
sudo apt-get update
sudo apt-get install tor
sudo nano /etc/tor/torrc

e inserta lo siguiente en alguna parte de arriba del archivo:

1
2
3
4
5
6
7
8
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

Cambia las tablas de IP para rutear hacia el puerto 9040 de TOR.

1
2
3
4
5
6
7
sudo iptables -F
sudo iptables -t nat -F
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -j REDIRECT --to-ports 22
sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040
sudo iptables -t nat -L
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Reconfiguramos iptables-persistent para usar las reglas actuales

1
sudo dpkg-reconfigure iptables-persistent

Creamos los logs de tor y les cambiamos el owner y el mode

1
2
3
4
sudo touch /var/log/tor/notices.log
sudo chown debian-tor /var/log/tor/notices.log
sudo chmod 644 /var/log/tor/notices.log
ls -l /var/log/tor

Iniciamos el servicio de tor y lo hacemos automático al inico del RPi.

1
2
3
sudo service tor start
sudo service tor status
sudo update-rc.d tor enable

Prueba

ssid

Nos conectamos a la red desde otra computadora o teléfono para probar, y visitamos https://check.torproject.org/ para comprobar conexión a internet y que en efecto nuestro tráfico esta siendo routeado por Tor.

--

¿Qué es y cómo usar Tor?

hexagons


Comments

Send