change mark to 0x9 and a few spelling errors

This commit is contained in:
kleph 2013-07-12 12:53:14 +02:00
parent cd29ce945f
commit 68a1fac727

View file

@ -15,9 +15,9 @@ Pour youtube, un simple proxy suffit. Mais pour les flux RTMP, j'ai joué un peu
# En pratique # En pratique
## Prérequis ## Prérequis
La mise en place du VPN n'est pas décrite ici, ce n'est pas l'objet. La mise en place du VPN n'est pas décrite ici, ce n'est pas l'objet.
N'importe quel type de VPN routable devrait faire l'affaire (j'utilise openvpn) N'importe quel type de VPN routable devrait faire l'affaire. (j'utilise openvpn)
Il faut aussi un noyau supportant le routage avance Il faut aussi un noyau supportant le routage avancé.
TODO: config kernel TODO: config kernel
## Marquage des paquets ## Marquage des paquets
@ -25,7 +25,7 @@ On va tout d'abord isoler et marquer les paquets que l'on souhaite rediriger. Je
iptables -t mangle -A OUTPUT -p udp --dport 1935 -j MARK --set-mark 0x9 iptables -t mangle -A OUTPUT -p udp --dport 1935 -j MARK --set-mark 0x9
Une fois ces paquets marqués, avec la marque /0x9/, ils vont être interceptésau moment du routage pour ne pas sortir par le même endroit que d'habitude. Une fois ces paquets marqués, avec la marque /0x9/, ils vont être interceptés au moment du routage pour ne pas sortir par le même endroit que d'habitude.
NOTE: Ici, j'utilise la chaîne **OUTPUT**, parce que la connexion est initialisée depuis la machine. Pour appliquer la marque aux paquets provenant d'une connexion routée par cette machine, il faut utiliser la chaîne **PREROUTING** (Voir plus bas). NOTE: Ici, j'utilise la chaîne **OUTPUT**, parce que la connexion est initialisée depuis la machine. Pour appliquer la marque aux paquets provenant d'une connexion routée par cette machine, il faut utiliser la chaîne **PREROUTING** (Voir plus bas).
# Les tables de routage du noyau linux # Les tables de routage du noyau linux
@ -47,11 +47,11 @@ Il reste ensuite à définir la règle pour associer les paquets marqués par ip
# conclusion # conclusion
Donc en résumé, les paquets seront reconnus par iptables, fonction de critères classiques tels que l'adresse et/ou le port de destination, mais sachez que tous les critères d'iptables peuvent être utilisés pour celà, adresse/port source, ipset, nom d'utilisateur, etc... Donc en résumé, les paquets seront reconnus par iptables, fonction de critères classiques tels que l'adresse et/ou le port de destination, mais sachez que tous les critères d'iptables peuvent être utilisés pour celà, adresse/port source, ipset, nom d'utilisateur, etc...
NOTE: les marques sont locales à la machine et ne sonit pas transmise sur le réseau NOTE: Les marques sont locales à la machine et ne sont pas transmises sur le réseau.
# Sur la passerelle VPN ## Sur la passerelle VPN
Cette passerelle me sert aussi de point d'accès wifi, avec la passerelle par défaut normale. Cette passerelle me sert aussi de point d'accès wifi, avec la passerelle par défaut normale.
J'ai donc ajouté le même script en modifiant l'IP de destination pour forcer ce type de trafic à passer par le VPN. Dans la chaine PREROUTING cette fois car le traffic d'origine n'est pas local (cf TODO: lien vers le cheminement dans les tables d'iptables) J'ai donc ajouté le même script en modifiant l'IP de destination pour forcer ce type de trafic à passer par le VPN, une adresse en 10.0.0.1 chez moi. Dans la chaine PREROUTING cette fois car le traffic d'origine n'est pas local (cf TODO: lien vers le cheminement dans les tables d'iptables)
# Le script # Le script
et voici donc cce que ça donne et voici donc cce que ça donne
@ -63,13 +63,14 @@ et voici donc cce que ça donne
# mark the packets # mark the packets
# RTMP # RTMP
iptables -t mangle -A OUTPUT -p udp --dport 1935 -j MARK --set-mark 0x1 iptables -t mangle -A OUTPUT -p udp --dport 1935 -j MARK --set-mark 0x9
iptables -t mangle -A OUTPUT -p tcp --dport 1935 -j MARK --set-mark 0x1 iptables -t mangle -A OUTPUT -p tcp --dport 1935 -j MARK --set-mark 0x9
# add route to redirect these packets # add route to redirect these packets
ip route add default via ${VPN_GATEWAY} table vpn ip route add default via ${VPN_GATEWAY} table vpn
ip rule add fwmark 1 pref 10 lookup vpn # add rule to detect marked packets and to send that trafic to the new routing table
ip rule add fwmark 9 pref 10 lookup vpn
# Liens # Liens
Les quelques liens cités dans cet article. Les quelques liens cités dans cet article.