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
|
# 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
|
||||||
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].
|
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
|
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.
|
||||||
|
|
Loading…
Reference in a new issue