[articles] ajout du lien vers le schémas du parcours des paquets réseau
dans netfilter
This commit is contained in:
parent
2aacdec545
commit
54ba7b6de4
2 changed files with 9 additions and 5 deletions
|
@ -42,13 +42,13 @@ iptables -t nat -o tun0 -A POSTROUTING -j MASQUERADE
|
|||
```
|
||||
|
||||
## nftables
|
||||
On trouve un peu de documentation sur le net, en particulier sur le [wiki de nftables](http://wiki.nftables.org/wiki-nftables/index.php/Main_Page), ainsi que celui de [gentoo](http://wiki.gentoo.org/wiki/Nftables) et d'[archlinux](https://wiki.archlinux.org/index.php/Nftables)
|
||||
On trouve un peu de documentation sur le net, en particulier sur le [wiki de nftables][1], ainsi que celui de [gentoo][2] et d'[archlinux][3]
|
||||
Parmis les changements notables dès que l'on commence à se documenter, il y a le fait que les tables et les chaînes classiques d'iptables ne sont pas créées par défaut.
|
||||
Il faut donc les déclarer, et comme il n'y a pas de chaînes, il n'y a pas non plus de politique par défaut.
|
||||
|
||||
La masquarade est un cas particulier de source NAT, l'adresse source n'est pas définie explicitement dans la règle. C'est l'adresse de l'interface de sortie qui va remplacer à la volée celle d'origine des paquets.
|
||||
Le choix est donc fait une fois la décision de routage prise, et s'opère donc en `postrouting`.
|
||||
[TODO lien vers le parcours au travers de netfilter]
|
||||
Pour rappel, voici le schémas du [parcours d'un paquet réseau au travers de netfilter][4].
|
||||
Comme les chaînes n'existent pas par défault, il faut aussi rajouter celle qui va venir s'accrocher au hook `prerouting` de netfilter, pour que le remplacement inverse soit effectué lorsque les paquets reviendront.
|
||||
|
||||
Voici donc ce que ça donne :
|
||||
|
@ -91,4 +91,7 @@ echo "1" > /proc/sys/net/ipv4/ip_forward
|
|||
|
||||
```
|
||||
|
||||
|
||||
[1]: http://wiki.nftables.org/wiki-nftables/index.php/Main_Page
|
||||
[2]: http://wiki.gentoo.org/wiki/Nftables
|
||||
[3]: https://wiki.archlinux.org/index.php/Nftables
|
||||
[4]: http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg
|
||||
|
|
|
@ -29,7 +29,7 @@ Une fois ces paquets marqués, avec la marque /0x9/, ils vont être interceptés
|
|||
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
|
||||
En plus de la table de routage principale que l'on obtient avec la commande "ip route", le noyau linux comporte d'autres tables. Je ne les décrirai pas en détail ici, le [LARTC][2] le fait déjà.
|
||||
En plus de la table de routage principale que l'on obtient avec la commande "ip route", le noyau linux comporte d'autres tables. Je ne les décrirai pas en détail ici, le [LARTC][2] le fait déjà (et en français, [ici][3]).
|
||||
|
||||
Sachez juste qu'il est possible de rajouter des tables, en plus de la table "main", et que le fichier `/etc/iproute2/rt_tables` permet de nommer ces tables pour rendre plus explicite les n°. Vous verez d'ailleurs que ce fichier contient déjà des alias vers les tables par défaut.
|
||||
|
||||
|
@ -54,7 +54,7 @@ NOTE: Les marques sont locales à la machine et ne sont pas transmises sur le r
|
|||
|
||||
## 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, 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)
|
||||
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. [Parcours des paquets dans netfilter][4])
|
||||
|
||||
# Le script
|
||||
Voici le script que j'utilise pour faire tout ça. Finalement il est plutôt simple.
|
||||
|
@ -83,6 +83,7 @@ Les quelques liens cités dans cet article.
|
|||
[1]: http://www.inetdoc.net/guides/iptables-tutorial/marktarget.html "MARK target"
|
||||
[2]: http://lartc.org/howto/lartc.rpdb.multiple-links.html "LARTC"
|
||||
[3]: http://www.inetdoc.net/guides/lartc/lartc.rpdb.multiple-links.html) "LARTC fr"
|
||||
[4]: http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg
|
||||
|
||||
<!---
|
||||
#vim: bg=light
|
||||
|
|
Loading…
Reference in a new issue