Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Besoin d'un éclaircissement sur iptables

1 réponse
Avatar
Patrice OLIVER
Bonjour,


Je dispose d'un parefeu qui fonctionne avec Debian 3.1r1.
La soci=E9t=E9 qui a install=E9 le parefeu s'appuie sur netfilter.

actuellement, eth2 est mon interface 'Internet', eth1 est ma DMZ et
eth3 est une interface connect=E9e =E0 un r=E9seau tr=E8s haut d=E9bit,
disposant lui aussi d'une sortir sur Internet.

Sur ma DMZ, il y a une ressource dont j'ai besoin (ex : @IP
192.168.100.4) et =E0 laquelle je souhaiterait acc=E9der via eth3 car
l'acc=E8s est bcp plus v=E9loce que sur eth2 (li=E9 =E0 l'abonnement).

j'ai donc =E9crit les 2 r=E8gles suivantes :

iptables -t nat -A PREROUTING -d 80.118.10.6 -i eth3 -p tcp --dport
443 -j DNAT --to 192.168.100.4
iptables -A RHD-DMZ -p tcp --dport 443 -j ACCEPT

la r=E8gle RHD-DMZ r=E9git les =E9changes entre le r=E9seau haut d=E9bit et=
la dmz.

Lorsque je tente un acc=E8s =E0 ma source via https://extranet.maboite.fr,
les paquets arrivent sur l'interface, puis j'ai un Feb 5 14:19:40
nufw kernel: martian source 80.118.11.142 from 201.11.92.124, on dev
eth3

L=E0, j'ai besoin d'une explication.

Merci,
Patrice.

1 réponse

Avatar
Pascal Hambourg
Salut,

Patrice OLIVER a écrit :

Je dispose d'un parefeu qui fonctionne avec Debian 3.1r1.
La société qui a installé le parefeu s'appuie sur netfilter.

actuellement, eth2 est mon interface 'Internet', eth1 est ma DMZ et
eth3 est une interface connectée à un réseau très haut débit,
disposant lui aussi d'une sortir sur Internet.

Sur ma DMZ, il y a une ressource dont j'ai besoin (ex : @IP
192.168.100.4) et à laquelle je souhaiterait accéder via eth3 car
l'accès est bcp plus véloce que sur eth2 (lié à l'abonnement).

j'ai donc écrit les 2 règles suivantes :

iptables -t nat -A PREROUTING -d 80.118.10.6 -i eth3 -p tcp --dport
443 -j DNAT --to 192.168.100.4
iptables -A RHD-DMZ -p tcp --dport 443 -j ACCEPT

la règle RHD-DMZ régit les échanges entre le réseau haut débit et la dmz.



Dans les deux sens ? Le trafic retour est pris en compte ?

Lorsque je tente un accès à ma source via https://extranet.maboite.fr,
les paquets arrivent sur l'interface, puis j'ai un Feb 5 14:19:40
nufw kernel: martian source 80.118.11.142 from 201.11.92.124, on dev
eth3

Là, j'ai besoin d'une explication.



Je suppose que
- la route par défaut du pare-feu est via eth2 ;
- la vérification d'adresse source est activée sur eth3
(/proc/sys/net/ipv4/conf/eth3/rp_filter=1).

Dans ces conditions, tout paquet IP reçu par eth3 provenant d'"internet"
est rejeté par le routage d'entrée pour cause d'adresse source invalide
après avoir traversé les chaînes PREROUTING. Pour l'éviter, il faut
mettre rp_filter pour eth3 à 0.

Mais ce n'est pas suffisant. Le paquet original va bien atteindre le
serveur dans la DMZ, mais le paquet de réponse va emprunter la route par
défaut via eth2. S'il doit repartir par eth3, il faut mettre en place du
routage avancé :
- marquage des paquets à router par eth3 avec la cible MARK d'iptables ;
- création d'une règle de routage dirigeant les paquets marqués vers une
table de routage alternative (ip rule add fwmark xx lookup tt) ;
- création d'une route par défaut via eth3 dans la table de routage
alternative (ip route add default via gg table tt).

La reconnaissance par iptables des paquets à marquer peut être réalisée
de plusieurs manières. En vrac :
- par marquage de la connexion et des paquets appartenant à cette
connexion (-j CONNMARK et -m connmark) ;
- par recherche des paquets sortants appartenant à une connexion DNATée
depuis eth3 (-m conntrack --ctstate DNAT --ctorigdst 80.118.10.6) ;
- utilisation d'une adresse IP différente sur le serveur pour les
connexions DNATées depuis eth3.

La troisième possibilité n'impose d'ailleurs pas le marquage puisque la
règle de routage avancé peut être basée sur l'adresse source (ip rule
add from ss lookup yy).

Cf. le LARTC HOWTO et le manuel d'ip/iproute pour les détails.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact