[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