Outils pour utilisateurs

Outils du site


anthony_messe:banana_pi:iptables_ipv4_classe_c

Lien vers l'accueil

Redirection du trafic avec iptables pour une classe C IPv4

Tor ne supporte pas le protocole UDP, excepté les requêtes DNS sur un port spécialement créé pour cela par le service Tor.

Rediriger uniquement le trafic de l'interface wifi

Créez un nouveau fichier bash

nano iptables_access_point.sh

Placez-y le code ci-dessous

ctrl + c pour copier et ctrl + maj + v pour coller dans nano dans un terminal

Script long en policy drop

#!/bin/sh
#Variables
_trans_port="9040"
_dns_port="5353"
_interface_wifi="wlx503eaa3d7d6c"
_tor_uid=`id -u debian-tor`
_router="192.168.0.254" #Adresse du router (adresse de la machine ayant le point d'accès wifi)
_reseau_wifi="192.168.0.0/24"
_interface_phy="eth0"
 
#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 connexions déja établies
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
#On autorise la boucle locale
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 autorise le trafic vers eth0
iptables -A INPUT -i $_interface_phy -j ACCEPT
ip6tables -A INPUT -i $_interface_phy -j ACCEPT
 
#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 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
iptables -A OUTPUT -o $_interface_phy -j ACCEPT
ip6tables -A OUTPUT -o $_interface_phy -j ACCEPT

Rendez-le exécutable

chmod +x iptables_access_point.sh

Exécutez-le

./iptables_access_point.sh

Vérification

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.

Par la suite on automatise le script iptables.

Ressources

anthony_messe/banana_pi/iptables_ipv4_classe_c.txt · Dernière modification: 2018/06/12 13:28 par Anthony Messé