Ceci est une ancienne révision du document !
Créez un nouveau fichier bash
nano bridge.sh
Placez-y le code ci-dessous
ctrl + c pour copier et ctrl + maj + v pour coller dans nano dans un terminal
#!/bin/sh #Variables _trans_port="9040" _dns_port="5353" _interface_wifi="wlx503eaa3d7d6c" #Adresse du router (adresse de la machine ayant le point d'accès wifi) _router="10.255.255.254" _reseau_wifi="10.0.0.0/8" #Adresse dont on empêche l'accès _unreachable="192.168.200.0/24" #On efface toutes les règles iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -t nat -A PREROUTING -i $_interface_wifi -p tcp --syn -j REDIRECT --to-ports $_trans_port iptables -t nat -A PREROUTING -i $_interface_wifi -p udp --dport 53 -j REDIRECT --to-ports $_dns_port iptables -A INPUT -s $_reseau_wifi -d $_unreachable -j DROP
#!/bin/sh #Variables _trans_port="9040" _dns_port="5353" _interface_wifi="wlx503eaa3d7d6c" _tor_uid=`id -u debian-tor` _router="10.255.255.254" #Adresse du router (adresse de la machine ayant le point d'accès wifi) _reseau_wifi="10.0.0.0/8" _unreachable="192.168.16.20/24" #Adresse dont on empêche l'accès #On efface toutes les règles iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X #On met les policy iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP ip6tables -P INPUT DROP ip6tables -P FORWARD DROP ip6tables -P OUTPUT DROP #On redirige le traffic TCP vers Tor iptables -t nat -A PREROUTING -i $_interface_wifi -p tcp --syn -j REDIRECT --to-ports $_trans_port #On redirige les requêtes DNS vers Tor iptables -t nat -A PREROUTING -i $_interface_wifi -p udp --dport 53 -j REDIRECT --to-ports $_dns_port #On log le trafic entrant iptables -A INPUT -i $_interface_wifi -m state --state NEW -j LOG --log-prefix "New input connection: " #On autorise les requêtes DHCP à entrer iptables -A INPUT -i $_interface_wifi -p udp --dport 67:68 --sport 67:68 -j ACCEPT #On autorise les connexion SSH iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -j ACCEPT #On autorise les connexions déja établies iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT #On autorise la boucle locale iptables -A INPUT -i lo -j ACCEPT #On autorise les requêtes vers le routeur et le port DNS iptables -A INPUT -d $_router -i $_interface_wifi -p udp -m udp --dport $_dns_port -j ACCEPT #On autorise les requêtes vers le routeur pour le traffic TCP iptables -A INPUT -d $_router -i $_interface_wifi -p tcp -m tcp --dport $_trans_port --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT #On log le trafic sortant iptables -I OUTPUT -m owner --uid-owner $_tor_uid -j LOG --log-prefix "New output connection: " #On drop le paquet si il n'est pas dans l état new, established, ou related iptables -A OUTPUT -m state --state INVALID -j DROP #On autorise ls connexions déja établies iptables -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT #On autorise les requêtes DHCP à sortir iptables -A OUTPUT -o $_interface_wifi -p udp --dport 67:68 --sport 67:68 -j ACCEPT #On autorise le traffic issu de la carte et de l'utilisateur root iptables -A OUTPUT ! -s $_reseau_wifi -m owner --uid-owner 0 -j ACCEPT
Rendez-le exécutable
chmod +x bridge.sh
Exécutez-le
./bridge.sh
Ici on utilise un téléphone (One Plus X) en tant que client du points d'accès. Avec ce dernier on se rend sur myresolver.net et on constate que la redirection vers Tor fonctionne.
iptables -A INPUT -s $_reseau_wifi -d $_unreachable -j DROP
On bloque l'accès à l'adresse de notre interface eth0 : 192.168.16.20.
iptables -t nat -A PREROUTING -i $_interface_wifi -p udp --dport 53 -j REDIRECT --to-ports $_dns_port
On redirige le trafic DNS vers le port DNS de Tor
iptables -t nat -A PREROUTING -i $_interface_wifi -p tcp --syn -j REDIRECT --to-ports $_trans_port
On redirige le trafic TCP
Par la suite on automatise le script iptables.