change mark to 0x9 and a few spelling errors
This commit is contained in:
parent
cd29ce945f
commit
68a1fac727
1 changed files with 11 additions and 10 deletions
|
@ -15,17 +15,17 @@ Pour youtube, un simple proxy suffit. Mais pour les flux RTMP, j'ai joué un peu
|
|||
# En pratique
|
||||
## Prérequis
|
||||
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
|
||||
TODO: config kernel
|
||||
Il faut aussi un noyau supportant le routage avancé.
|
||||
TODO: config kernel
|
||||
|
||||
## Marquage des paquets
|
||||
On va tout d'abord isoler et marquer les paquets que l'on souhaite rediriger. Je l'ai fait avec iptables qui a une cible spécialement prévu à cet effet, [MARK][1].
|
||||
|
||||
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).
|
||||
|
||||
# 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
|
||||
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.
|
||||
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
|
||||
et voici donc cce que ça donne
|
||||
|
@ -63,13 +63,14 @@ et voici donc cce que ça donne
|
|||
|
||||
# mark the packets
|
||||
# RTMP
|
||||
iptables -t mangle -A OUTPUT -p udp --dport 1935 -j MARK --set-mark 0x1
|
||||
iptables -t mangle -A OUTPUT -p tcp --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 0x9
|
||||
|
||||
# add route to redirect these packets
|
||||
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
|
||||
Les quelques liens cités dans cet article.
|
||||
|
|
Loading…
Reference in a new issue