[articles] Ajout de liens - corrections de typo sur l'article nftables
This commit is contained in:
parent
4fb38ca1d4
commit
2aacdec545
1 changed files with 20 additions and 16 deletions
|
@ -7,18 +7,19 @@ Tags: Linux, Internet
|
|||
Lang: fr
|
||||
|
||||
|
||||
Un article qui va parler de la migration vers nftables de mon routeur.
|
||||
Un article qui va parler de la migration vers nftables de mon routeur.
|
||||
|
||||
# premier test : masquarade
|
||||
Avant de migrer le firewall du routeur principal, j'ai voulu commencer par plus petit. J'ai un VPN sur une autre machine qui fait de la masquarade en sortie.
|
||||
Ce qui tombe assez bien, la masquarade vient d'être ajoutée dans la version 3.18 du noyau.
|
||||
Avant de migrer le firewall du routeur principal, j'ai voulu commencer par plus petit. C'est donc la première partie d'une série de 2 ou 3 articles.
|
||||
Une des machines de mon LAN utilise de la masquarade pour donner accès à une machine distante à travers un VPN.
|
||||
Ce qui tombe assez bien, la masquarade vient d'être ajoutée dans la version 3.18 du noyau et cettte configuration simple est un bon exercice pour commencer.
|
||||
|
||||
|
||||
## Avant:
|
||||
Voici le script précédent que je vais remplacer :
|
||||
## iptables
|
||||
Voici le script précédent que je vais remplacer, c'est de la masquarade simple :
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
:::bash
|
||||
#!/bin/sh
|
||||
|
||||
# On efface les règles définies :
|
||||
iptables -t filter -F
|
||||
|
@ -40,18 +41,21 @@ iptables -t nat -o tun0 -A POSTROUTING -j MASQUERADE
|
|||
|
||||
```
|
||||
|
||||
## Après
|
||||
On trouve un peu de documentation sur le net [TODO: liens].
|
||||
Parmis les changements notables dès le départ, c'est que les tables et les chaînes classiques d'iptables ne sont pas créées par défaut. Ainsi que le système de politique par défaut.
|
||||
Il faut donc les déclarer.
|
||||
## 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)
|
||||
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.
|
||||
|
||||
Ensuite, la masquarade est un cas particulier de source NAT, l'adresse de remplacement n'est pas définie explicitement, mais c'est l'adresse de sortie qui est remplacée à la volée, une fois la décision de routage prise, donc dans la chaîne postrouting.
|
||||
[TODO lien vers le fonctionnement d'iptables]
|
||||
Du fait que les chaînes ne soient pas créer par défault, il faut aussi rajouter la chaîne prerouting, pour que la traduction inverse soit effectuée au retour des paquets.
|
||||
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]
|
||||
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 :
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
:::bash
|
||||
#!/bin/sh
|
||||
# activate masquerade
|
||||
|
||||
IF_OUTPUT=tun0
|
||||
|
@ -71,7 +75,7 @@ nft flush ruleset
|
|||
|
||||
# masquerade
|
||||
nft add table nat
|
||||
# add prerouting to translate back the address when packets come back
|
||||
# add prerouting to translate back the address when packets returns
|
||||
nft add chain nat prerouting { type nat hook prerouting priority 0\; }
|
||||
|
||||
# postrouting to translate source address
|
||||
|
|
Loading…
Reference in a new issue