Outils pour utilisateurs

Outils du site


anthony_messe:banana_pi:iptables_ipv4_classe_a

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
anthony_messe:banana_pi:iptables_ipv4_classe_a [2018/05/07 11:27]
Anthony Messé [Explications sur le code]
anthony_messe:banana_pi:iptables_ipv4_classe_a [2018/06/12 13:29] (Version actuelle)
Anthony Messé
Ligne 1: Ligne 1:
 +Lien vers [[anthony_messe:​anthony_messe|l'​accueil]]
 +
 ====== Redirection du trafic avec iptables pour une classe A IPv4 ====== ====== Redirection du trafic avec iptables pour une classe A 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 ===== ===== Rediriger uniquement le trafic de l'​interface wifi =====
  
 Créez un nouveau fichier bash Créez un nouveau fichier bash
-  nano bridge.sh+  nano iptables_access_point.sh
  
 Placez-y le code ci-dessous Placez-y le code ci-dessous
 > ctrl + c pour copier et ctrl + maj + v pour coller dans nano dans un terminal > ctrl + c pour copier et ctrl + maj + v pour coller dans nano dans un terminal
 +
 +==== Script long en policy drop ====
  
 <​code=bash>​ <​code=bash>​
Ligne 15: Ligne 21:
 _dns_port="​5353"​ _dns_port="​5353"​
 _interface_wifi="​wlx503eaa3d7d6c"​ _interface_wifi="​wlx503eaa3d7d6c"​
-#Adresse du router (adresse de la machine ayant le point d'​accès wifi) +_tor_uid=`id -u debian-tor` 
-_router="​10.255.255.254"​+_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"​ _reseau_wifi="​10.0.0.0/​8"​
-#Adresse dont on empêche l'​accès +_interface_phy="eth0" 
-_unreachable="192.168.200.0/​24"+
 #On efface toutes les règles iptables #On efface toutes les règles iptables
 iptables -F iptables -F
Ligne 27: Ligne 33:
 iptables -t mangle -F iptables -t mangle -F
 iptables -t mangle -X iptables -t mangle -X
-iptables -P INPUT ACCEPT+ 
 +#On met les policy 
 +iptables -P INPUT DROP
 iptables -P FORWARD DROP iptables -P FORWARD DROP
-iptables -P OUTPUT ​ACCEPT +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 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 iptables -t nat -A PREROUTING -i $_interface_wifi -p udp --dport 53 -j REDIRECT --to-ports $_dns_port
-iptables -A INPUT -$_reseau_wifi ​-d $_unreachable ​-j DROP+ 
 +#On log le trafic entrant 
 +iptables -A INPUT -$_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
 </​code>​ </​code>​
  
 Rendez-le exécutable Rendez-le exécutable
-  chmod +x bridge.sh+  chmod +x iptables_access_point.sh
  
 Exécutez-le Exécutez-le
-  ./bridge.sh+  ./iptables_access_point.sh
  
 ==== Vérification ==== ==== Vérification ====
Ligne 48: Ligne 83:
  
 {{ :​anthony_messe:​android_tor.png?​250 |}} {{ :​anthony_messe:​android_tor.png?​250 |}}
-==== Explications sur le code ==== 
- 
-<​code=bash>​ 
-iptables -A INPUT -s $_reseau_wifi -d $_unreachable -j DROP 
-</​code>​ 
-> On bloque l'​accès à l'​adresse de notre interface eth0 : 192.168.16.20. 
- 
-<​code=bash>​ 
-iptables -t nat -A PREROUTING -i $_interface_wifi -p udp --dport 53 -j REDIRECT --to-ports $_dns_port 
-</​code>​ 
-> On redirige le trafic DNS vers le port DNS de Tor 
- 
-<​code=bash>​ 
-iptables -t nat -A PREROUTING -i $_interface_wifi -p tcp --syn -j REDIRECT --to-ports $_trans_port 
-</​code>​ 
-> On redirige le trafic TCP 
- 
  
  
anthony_messe/banana_pi/iptables_ipv4_classe_a.1525685241.txt.gz · Dernière modification: 2018/05/07 11:27 par Anthony Messé