logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 12-05-2018 20:12:03

Henry33
Membre
Inscription : 23-12-2016

[Résolu] Configuration iptables à 4 réseaux

La solution se trouve en page 3 au message #69


Bonjour à vous,


Dans le cadre de ce projet https://debian-facile.org/viewtopic.php?id=21410, je rencontre des difficultés à configurer iptables.

Je vous en fait le résumé : j'ai le projet d'utiliser un Raspberry Pi comme routeur sécurisé pour partager une connexion Internet provenant soit d'un réseau wifi publique (wlan1) soit d'une clé 4G (eth1) vers deux réseaux privés (eth0 et wlan0). Grâce à Raleur (merci encore) j'ai pu faire le partage (hostapd) de wlan1 (actuellement une box, mais considéré comme publique) vers eth0 et wlan0 (privés). Ca marche aussi avec la clé 4G (eth1).

Sauf que : lorsque que je configure les règles par défaut pour INPUT, OUTPUT et FORWARD en DROP, je perds la connexion Internet et SSH (par eth0, wlan0 et par la box). Ce qui signifie que les règles que j'ai configuré ne sont pas bonnes... Je me suis tapé pas mal de lecture à propos de iptables et je ne trouve pas où est l'erreur...

Quand les règles par defaut sont en ACCEPT, en étant branché uniquement sur eth0, je peux me connecter en SSH et naviguer sur Internet en utilisant les adresses wifi de wlan0 (192.168.200.1) et wlan1 (192.168.1.18)...

Précision : j'ai fait l'erreur d'installer Fail2Ban avant d'avoir terminé de tout configurer. Dans le doute qu'il entre en conflit avec iptables, je l'ai désinstallé (apt-get remove) mais il en restait encore un peu dans iptables donc je l'ai réinstallé...

D'où vient mon problème ?

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.201.101  Bcast:192.168.201.255  Mask:255.255.255.0
          inet6 addr: fe80::ba27:ebff:fe8c:d57c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:551 errors:0 dropped:0 overruns:0 frame:0
          TX packets:860 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:58050 (56.6 KiB)  TX bytes:416908 (407.1 KiB)

eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.8.100  Bcast:192.168.8.255  Mask:255.255.255.0
          inet6 addr: fe80::e5b:8fff:fe27:9a64/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1046 errors:0 dropped:0 overruns:0 frame:0
          TX packets:440 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:549975 (537.0 KiB)  TX bytes:55094 (53.8 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.200.1  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fe80::dc89:835f:636c:12a9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:8339 (8.1 KiB)

wlan1     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.1.18  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2a01:cb06:24e:dd00:46d3:56e3:6df7:f104/64 Scope:Global
          inet6 addr: 2a01:cb06:24e:dd00:62e3:27ff:fe19:9d7c/64 Scope:Global
          inet6 addr: fe80::62e3:27ff:fe19:9d7c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1015 errors:0 dropped:41 overruns:0 frame:0
          TX packets:79 errors:0 dropped:1 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:186156 (181.7 KiB)  TX bytes:12273 (11.9 KiB)
 



iptables-save

# Generated by iptables-save v1.4.21 on Sat May 12 15:29:04 2018
*filter
:INPUT DROP [150:14710]    
:FORWARD DROP [2:738]    
:OUTPUT DROP [200:22096]
:fail2ban-ssh - [0:0]
-A INPUT -s 192.168.201.0/24 -j ACCEPT
-A INPUT -s 192.168.200.0/24 -j ACCEPT
-A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o wlan1 -j ACCEPT
-A FORWARD -i wlan1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan1 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i wlan0 -o eth1 -j ACCEPT
-A OUTPUT -d 192.168.201.0/24 -j ACCEPT
-A OUTPUT -d 192.168.200.0/24 -j ACCEPT
-A fail2ban-ssh -j RETURN
COMMIT
# Completed on Sat May 12 15:29:04 2018
# Generated by iptables-save v1.4.21 on Sat May 12 15:29:04 2018
*nat
:PREROUTING ACCEPT [873:283274]
:INPUT ACCEPT [25:2190]
:OUTPUT ACCEPT [200:22096]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o wlan1 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Sat May 12 15:29:04 2018
 



Merci pour votre aide !

Dernière modification par Henry33 (22-05-2018 10:21:03)

Hors ligne

#2 13-05-2018 10:26:18

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Il manque des règles dans INPUT et OUTPUT pour autoriser le trafic entre le routeur lui-même et l'extérieur, notamment les requêtes DNS relayées par dnsmasq.

Note : le filtrage par adresse n'est pas très fiable car une adresse est facile à usurper. Il vaut mieux se baser sur l'interface d'entrée et/ou de sortie, comme tu l'as fait dans FORWARD.

Il vaut mieux montrer que raconter.

Hors ligne

#3 13-05-2018 10:57:51

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

Salut,

Et ça, c'est pas bon ? :


-A INPUT -s 192.168.201.0/24 -j ACCEPT
-A INPUT -s 192.168.200.0/24 -j ACCEPT
...
-A OUTPUT -d 192.168.201.0/24 -j ACCEPT
-A OUTPUT -d 192.168.200.0/24 -j ACCEPT
 



J'ai voulu le configurer avec les noms d'interfaces mais il refuse pour les règles OUTPUT

iptables v1.4.21: Can't use -i with OUTPUT



D'ailleurs, là ce sont des règles de filtrage, est-ce qu'il ne vaudrait mieux pas que je fasse des règles NAT ? De ce que j'ai lu et de ce que j'en comprends, ça correspond plus à ce que je veux faire mais j'ai un peu de mal à bien bien comprendre la configuration des PREROUTING, INPUT, OUUTPU et POSTROUTING.

Est-ce que des règles NAT ne permettent pas un meilleur filtrage/protection que des filtres classiques ?

Hors ligne

#4 13-05-2018 11:03:59

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Henry33 a écrit :

Et ça, c'est pas bon ?


Quand la machine communique avec l'extérieur via eth1 ou wlan1, ce n'est pas avec des adresses de tes réseaux privés.

Henry33 a écrit :

Can't use -i with OUTPUT


Normal. Dans OUTPUT on ne peut spécifier que l'interface de sortie (-o) et dans INPUT l'interface d'entrée (-i).

Henry33 a écrit :

est-ce qu'il ne vaudrait mieux pas que je fasse des règles NAT ?


Les seules règles de NAT nécessaires sont déjà présentes.
On ne fait pas de la sécurité avec du NAT.

Dernière modification par raleur (13-05-2018 11:08:34)


Il vaut mieux montrer que raconter.

Hors ligne

#5 13-05-2018 11:19:28

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Henry33 a écrit :

j'ai un peu de mal à bien bien comprendre la configuration des PREROUTING, INPUT, OUUTPU et POSTROUTING.


Voir le diagramme "packet flow" dans https://fr.wikipedia.org/wiki/Netfilter (seulement la couche verte "network layer").
Il y a trois types de paquets IP :
- ceux qui entrent et sont destinés à la machine
- ceux qui entrent mais ne sont pas destinés à la machine et vont ressortir (si la machine est un routeur)
- ceux qui sont émis par la machine elle-même.

Les chaînes PREROUTING voit passer tous les paquets qui entrent avant qu'on regarde s'ils sont destinés à la machine ou pas.
Les chaînes INPUT voient passer les paquets entrants passés par PREROUTING destinés à la machine.
Les chaînes FORWARD voient passer les paquets entrants passés par PREROUTING destinés à une autre machine.
Les chaînes OUTPUT voient passer les paquets émis par la machine.
Les chaînes POSTROUTING voient passer tous les paquets passés par FORWARD ou OUTPUT avant de sortir.

La table filter n'a que des chaînes INPUT, FORWARD et OUTPUT, chacune traitant un des trois types de paquets ci-dessus.

Dernière modification par raleur (13-05-2018 11:22:00)


Il vaut mieux montrer que raconter.

Hors ligne

#6 13-05-2018 11:22:07

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

Mais oui...! Pourtant c'était logique... Au temps pour moi...

Mais même avec ces règles corrigées, je ne peux plus accéder à Internet ni me connecter en SSH une fois que les règles par défaut sont en DROP.

Hors ligne

#7 13-05-2018 11:23:27

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Peut-on voir ces règles corrigées ?
Comment testes-tu l'accès à internet ?
Se connecter en SSH à quoi et depuis où ?

Dernière modification par raleur (13-05-2018 11:24:19)


Il vaut mieux montrer que raconter.

Hors ligne

#8 13-05-2018 11:27:17

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

Je me posais la question sur NAT ou pas NAT car j'aimerai ne faire apparaitre qu'une adresse IP pour l'extérieur, quoi qu'il arrive. Du coup, PREROUTING et POSTROUTING me permettent de changer l'adresse IP des paquets FORWARD(és) alors que le simple filtrage non. J'ai bon ?

Hors ligne

#9 13-05-2018 11:39:54

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

Voici les règles actuelles:

# Generated by iptables-save v1.4.21 on Sun May 13 10:29:10 2018
*nat
:PREROUTING ACCEPT [765:132966]
:INPUT ACCEPT [13:1300]
:OUTPUT ACCEPT [18:1755]
:POSTROUTING ACCEPT [6:706]
-A POSTROUTING -o wlan1 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Sun May 13 10:29:10 2018
# Generated by iptables-save v1.4.21 on Sun May 13 10:29:10 2018
*filter
:INPUT ACCEPT [65:7222]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [56:6823]
:fail2ban-ssh - [0:0]
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i wlan0 -j ACCEPT
-A INPUT -s 192.168.201.0/24 -j ACCEPT
-A INPUT -s 192.168.200.0/24 -j ACCEPT
-A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o wlan1 -j ACCEPT
-A FORWARD -i wlan1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan1 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i wlan0 -o eth1 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o wlan0 -j ACCEPT
-A fail2ban-ssh -j RETURN
-A fail2ban-ssh -j RETURN
COMMIT
# Completed on Sun May 13 10:29:10 2018
 



J'ai remarqué le doublon de fail2ban, j'en ai parlé dans le premier post, je l'ai installé trop tôt, ai voulu le désinstallé mais l'ai du coup réinstallé... Donc il y a un script quelque part qui rajoute la ligne au démarrage à la configuration enregistrée dans iptables.

J'ai un PC portable, juste à coté du Raspberry, qui se connecte à la même box par le wifi. J'ai également un clé usb d’acquisition vidéo qui me permet d'avoir l'affichage AV du Raspi. Je dois rester sous Windows 7 car la clé d'acquisition n'est pas compatible avec Debian (autre OS du portable).

Pour les tests, je peux me déconnecter du wifi de la box et me connecter au wifi "testtest" du Raspi, ou me brancher sur l'ethernet de son switch. Je peux tester la navigation sur Internet et pour SSH, j'utilise Putty sur le même PC.

Grâce à la clé vidéo, je ne perds jamais la mains sur le Raspberry.

Hors ligne

#10 13-05-2018 11:40:09

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Henry33 a écrit :

j'aimerai ne faire apparaitre qu'une adresse IP pour l'extérieur, quoi qu'il arrive.


C'est déjà précisément ce que font les règles avec la cible MASQUERADE.

Henry33 a écrit :

Du coup, PREROUTING et POSTROUTING me permettent de changer l'adresse IP des paquets FORWARD(és) alors que le simple filtrage non. J'ai bon ?


Pas seulement des paquets FORWARDés mais de tous les paquets qui passent par ces chaînes.
Il est superflu de MASQUERADEr les paquets émis par le routeur lui-même, mais cela simplifie les règles.


Il vaut mieux montrer que raconter.

Hors ligne

#11 13-05-2018 11:48:37

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

Donc pour cacher les machines de mes réseaux privés, ne vaut-il pas mieux que je fasse des règles NAT avec PRE et POST-ROUTING ?

Hors ligne

#12 13-05-2018 11:51:11

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Henry33 a écrit :

Voici les règles actuelles


Tu as modifié les règles pour trafic sur les interfaces privées, mais il n'y a toujours pas de règle pour autoriser le trafic sur les interfaces publiques.
Les règles avec les préfixes privés sont maintenant superflues et présentent un risque si un attaquant situé dans un réseau public usurpe une adresse d'un de ces préfixes.

Règles fail2ban : il suffit de les supprimer du fichier de règles après l'avoir généré avec iptables-save.

Henry33 a écrit :

Je peux tester la navigation sur Internet et pour SSH, j'utilise Putty sur le même PC


La navigation est probablement l'une des pires façons de tester un accès internet car il est difficile de savoir ce que fait le navigateur et où ça coince.
Il vaut mieux tester avec des outils simples comme ping ou traceroute vers des adresses IP, dig/host/nslookup pour la résolution DNS...
Putty vers quoi ? Le routeur ? Une machine extérieure ?

Dernière modification par raleur (13-05-2018 11:55:24)


Il vaut mieux montrer que raconter.

Hors ligne

#13 13-05-2018 11:53:53

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Henry33 a écrit :

Donc pour cacher les machines de mes réseaux privés, ne vaut-il pas mieux que je fasse des règles NAT avec PRE et POST-ROUTING ?


Qu'est-ce qui n'est pas clair dans "C'est déjà précisément ce que font les règles avec la cible MASQUERADE" ?
De toute façon l'accès internet ne marcherait pas sans elles car les équipements des réseaux publics ne savent pas router tes préfixes privés.


Il vaut mieux montrer que raconter.

Hors ligne

#14 13-05-2018 12:10:07

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

Je veux refuser les accès par les interfaces publiques, c'est pour ça que je veux définir les règles INPUT et OUTPUT par défaut en DROP. Pour moi, les règles d'accès Internet sont déjà définis par les règles FORWARD. Donc tout ce qui est définit par FORWARD devrait passer et tout ce qui ne l'est pas devrait être en DROP (sinon ça sert à rien).

Je n'ai pas trop besoin de bloquer eth0 car c'est le réseau intérieur, donc celui qui se connecte à ce réseau est physiquement à l'intérieur de mon véhicule. Pour wlan0, je compte sur hostapd (un bon mot de passe, un SSID non visible, d'autres choses...?) pour assurer la sécurité. Wlan1 et eth1 ne doivent pas avoir accès au serveur.

raleur a écrit :


Les règles avec les préfixes privés sont maintenant superflues



Comment ça "maintenant superflues" ?

Quand j'ai un doute sur la connexion, je fais un ping vers www.google.fr, comme ça je vois si ça passe ou pas.

J'utilise Putty, pour me connecter au serveur.

Hors ligne

#15 13-05-2018 12:18:53

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

raleur a écrit :


Qu'est-ce qui n'est pas clair dans "C'est déjà précisément ce que font les règles avec la cible MASQUERADE" ?



Réponse -> Moi...

Je croyais que MASQUERADE ne faisait que le routage à l'intérieur du routeur mais que les paquets portait toujours (pas directement bien sûr, mais d'une certaine manière), l'adresse IP de la machine qui les envoie. Comme si les paquets étaient routés mais pas modifiés. Il est logique que l'adresse IP de sortie soit celle du serveur, c'est normal, mais je pensais qu'avec MASQUERADE, le serveur qui reçoit les paquets peut encore faire la différence entre les machines que j'ai sur mon réseau, alors qu'avec PREROUTING et surtout POSTROUTING, toutes les machines apparaissent comme étant une seule machine.

Hors ligne

#16 13-05-2018 13:01:51

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

...
Bon, je n'aime pas dire des choses comme "avant ça marchait pas mais maintenant ça marche" mais le fait est là, maintenant, ça marche... Je peux pinguer le serveur, pinguer google et même la navigation fonctionne avec les règles INPUT, OUTPUT et FORWARD en DROP par défaut... Même après reboot.

La seul chose que j'ai fait sur cette configuration entre hier, où rien ne passait, que ce soit par wlan0 ou par eth0, et maintenant, c'est de stopper le deamon fail2ban et le relancer pour tester si c'était lui qui bloquait.

Je ne comprends pas ce qui bloquait.

Bref, le routage à 4 réseaux est fait, je dois encore tout re-tester (par wlan0 et eth0 vers wlan1 et même chose vers eth1) mais tout devrait rester fonctionnel.

Est-ce qu'il y a lieu de peaufiner les règles iptables pour l'instant ?

Hors ligne

#17 13-05-2018 13:17:29

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Tu es en train de tout mélanger : le routage, le NAT, iptables, les chaînes,les cibles...
Le routage est effectué par la couche IP du noyau et elle seule. Iptables ne fait pas de routage.
Iptables fait du filtrage de paquets (accepte/bloque) et du NAT. de la modification de paquet. Le NAT ne fait pas de routage. Il ne fait que modifier les adresses et/ou ports des paquets, et la couche IP se débrouille avec ces adresses pour router les paquets, avec ou sans NAT.
Une chaîne comme PREROUTING ou POSTROUTING ne fait rien par elle-même. Ce n'est qu'une liste de règles appliquées aux paquets IP qui passent par un point donné du cheminement des paquets dans le noyau.
Les actions sur les paquets sont déterminées par les cibles des règles, comme MASQUERADE. L'action de la cible MASQUERADE est une forme de NAT source, qui consiste à modifier l'adresse et/ou le port source des paquets.
Le format de l'en-tête IP d'un paquet a été défini avant qu'on pense à faire du NAT, et ne contient qu'un seul champ d'adresse source. Si on modifie l'adresse source du paquet, l'adresse originale disparaît et n'est plus visible pour les équipments suivants qui reçoivent le paquet.

Henry33 a écrit :

Je veux refuser les accès par les interfaces publiques


Les accès à quoi ? Depuis où ?
En matière de filtrage il est capital de toujours spécifier explicitement la source, la destination et le cheminement des flux qu'on veut autoriser ou interdire. Cela conditionne le placement des règles dans telle ou telle chaîne, et le contenu de ces règles.

Henry33 a écrit :

Pour moi, les règles d'accès Internet sont déjà définis par les règles FORWARD


Seulement pour les flux qui traversent le routeur, pas ceux dont il est la source ou la destination, comme les flux DNS.

Henry33 a écrit :

Je n'ai pas trop besoin de bloquer eth0


"Bloquer une interface" n'a pas de sens. Si on ne veut pas de trafic sur une interface, on la désactive, on la débranche...
D'un point de vue fonctionnel, on accepte ou bloque des flux. Et du point de vue d'iptables, on accepte ou bloque les paquets qui appartiennent à ces flux.

Henry33 a écrit :

Wlan1 et eth1 ne doivent pas avoir accès au serveur.


Cette phrase ne veut rien dire. wlan1 et eth1 ne sont que des interfaces du routeur.

Henry33 a écrit :

Comment ça "maintenant superflues" ?


Tu as ajouté des règles acceptant les paquets destinés au routeur entrant par eth0 et wlan0. Pas besoin d'accepter en plus les paquets destinés au routeur ayant une adresse source dans les préfixes des réseaux privés et entrant par n'importe quelle interface.

Henry33 a écrit :

Quand j'ai un doute sur la connexion, je fais un ping vers www.google.fr, comme ça je vois si ça passe ou pas.


Ce test est insuffisamment précis. Si c'est la résolution DNS qui échoue, tu ne testes pas l'accès internet puisque les paquets de ping ne sont même pas envoyés. Il faut donc tester la connectivité et la résolution DNS séparément, depuis différents point du réseau (une machine d'un réseau privé et depuis le routeur).


Il vaut mieux montrer que raconter.

Hors ligne

#18 13-05-2018 13:19:20

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Henry33 a écrit :

Est-ce qu'il y a lieu de peaufiner les règles iptables pour l'instant ?


Pour me prononcer, il faudrait que je les voie dans l'état actuel.


Il vaut mieux montrer que raconter.

Hors ligne

#19 13-05-2018 13:29:12

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

Les voici

# Generated by iptables-save v1.4.21 on Sun May 13 10:29:10 2018
*nat
:PREROUTING ACCEPT [765:132966]
:INPUT ACCEPT [13:1300]
:OUTPUT ACCEPT [18:1755]
:POSTROUTING ACCEPT [6:706]
-A POSTROUTING -o wlan1 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Sun May 13 10:29:10 2018
# Generated by iptables-save v1.4.21 on Sun May 13 10:29:10 2018
*filter
:INPUT DROP [65:7222]
:FORWARD DROP [0:0]
:OUTPUT DROP [56:6823]
:fail2ban-ssh - [0:0]
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i wlan0 -j ACCEPT
-A INPUT -s 192.168.201.0/24 -j ACCEPT
-A INPUT -s 192.168.200.0/24 -j ACCEPT
-A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o wlan1 -j ACCEPT
-A FORWARD -i wlan1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan1 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i wlan0 -o eth1 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o wlan0 -j ACCEPT
-A fail2ban-ssh -j RETURN
-A fail2ban-ssh -j RETURN
COMMIT
# Completed on Sun May 13 10:29:10 2018
 



Je sais qu'il faut que je supprime les règles INPUT -s car les INPUT -i sont mieux ainsi que le doublon fail2ban.

Au fait, merci pour ton aide et pour ta patience, j'ai beaucoup appris grâce à toi.

EDIT : Je viens de voir ta réponse du dessus.

Dernière modification par Henry33 (13-05-2018 13:32:25)

Hors ligne

#20 13-05-2018 14:04:27

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Avec ces règles, l'accès internet depuis le routeur lui-même ne devrait pas fonctionner, ni la résolution DNS via dnsmasq depuis les postes des réseaux privés. La seule chose qui devrait marcher, c'est l'accès internet depuis un poste d'un réseau privé utilisant un DNS extérieur.

Edit : la résolution DNS via dnsmasq peut continuer à fonctionner pour les noms demandés et mis en cache lorsque les politiques d'iptables étaient à ACCEPT, tant que le cache n'a pas expiré. Teste avec des noms de domaines que tu n'avais pas déjà utilisés.

Dernière modification par raleur (13-05-2018 14:11:51)


Il vaut mieux montrer que raconter.

Hors ligne

#21 13-05-2018 14:06:14

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

En effet, je mélange les choses car je suis en train de tout apprendre en même temps et avec des documents en anglais (que je lis sans problème). Tout ça en quelques jours, plus la vie quotidienne, ça tire sur les synapses... Mais j'en comprends de plus en plus, surtout grâce à tes explications.

Je comprends aussi le besoin de précision dans mes écrits, mais c'est pas facile quand on la compréhension est encore approximative. Dire "je ne veux pas que wlan1 et eth1 accèdent au serveur" est finalement un c*nnerie d'un point de vue technique. Je veux dire "je ne veux pas que des connexions en SSH et ICMP puisse se faire au serveur depuis wlan 1 et eth1". Et plutôt que de dire "je n'ai pas trop besoin de bloquer eth0", je veux dire "je n'ai pas trop besoin de filtrer eth0"

C'est mieux ?

Quels outils permettent de tester la connectivité et la résolution DNS séparément ? Pour être franc, je ne connais que le ping www.xxx.xx ou avec adresse...

D'une manière générale, quels sont les outils utiles pour tester une connexion de manière intelligente ?

Autre question, est-il possible/nécessaire de cacher les adresses MAC des machines qui sont sur mes réseaux privés ?

Hors ligne

#22 13-05-2018 14:20:46

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Henry33 a écrit :

Je veux dire "je ne veux pas que des connexions en SSH et ICMP puisse se faire au serveur depuis wlan 1 et eth1"


"Depuis le réseau public par wlan1 et eth1."

Henry33 a écrit :

je veux dire "je n'ai pas trop besoin de filtrer eth0"


Bof. "Filtrer le trafic sur eth0."

Henry33 a écrit :

Quels outils permettent de tester la connectivité et la résolution DNS séparément ?


Je les ai mentionnés dans mon message #12.

Henry33 a écrit :

est-il possible/nécessaire de cacher les adresses MAC des machines qui sont sur mes réseaux privés ?


Les cacher de qui/quoi ?
Les adresses MAC sont contenues dans l'en-tête des trames ethernet ou wifi, pas dans les paquets IP. Contrairement à un pont, un switch ethernet ou un point d'accès wifi, un routeur IP ne transmet pas les trames ethernet ou wifi qu'il reçoit mais seulement les paquets IP qu'elles contiennent, en les encapsulant dans de nouvelles trames ethernet ou wifi avec l'adresse MAC de son interface de sortie.


Il vaut mieux montrer que raconter.

Hors ligne

#23 13-05-2018 14:34:38

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

raleur a écrit :

Avec ces règles, l'accès internet depuis le routeur lui-même ne devrait pas fonctionner, ni la résolution DNS via dnsmasq depuis les postes des réseaux privés. La seule chose qui devrait marcher, c'est l'accès internet depuis un poste d'un réseau privé utilisant un DNS extérieur.

Edit : la résolution DNS via dnsmasq peut continuer à fonctionner pour les noms demandés et mis en cache lorsque les politiques d'iptables étaient à ACCEPT, tant que le cache n'a pas expiré. Teste avec des noms de domaines que tu n'avais pas déjà utilisés.



Je ne sais pas si ça compte mais je peux faire des apt-get update/upgrade/install depuis le serveur.

Je n'ai pas (encore) configurer de serveur DNS extérieur dans dnsmasq, la navigation passe toujours pas les serveur DNS des fournisseurs (Orange/Free).

La navigation à l'air de se faire normalement : j'accède sans problème à n'importe quel favoris enregistré (et non consultés depuis un moment), n'importe quelle page d'un résultat d'un moteur de recherche. Même rentrer un nom inconnus du système, ou au hasard fonctionne (zebulon.fr, henry.fr, même chose pour francais.fr).

Tu as répondu à ma question sur les adresses MAC, j'ai pas besoin de m'en préoccuper.

Dernière modification par Henry33 (13-05-2018 14:41:35)

Hors ligne

#24 13-05-2018 15:31:48

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Configuration iptables à 4 réseaux

Henry33 a écrit :

Je ne sais pas si ça compte mais je peux faire des apt-get update/upgrade/install depuis le serveur.


Qu'appelles-tu le serveur ? Si c'est le routeur aux 4 interfaces, cela ne devrait pas être possible avec ces règles car ni les politiques par défaut ni les règles des chaînes INPUT et OUPUT n'acceptent quoi que ce soit sur eth1 ou wlan1. Vérifie ta configuration parce que quelque chose ne colle pas.

Sur le routeur :

ip addr
ip route
cat /etc/resolv.conf
traceroute -m 3 8.8.8.8
 


Même chose sur un poste client. Si c'est un Windows :

ipconfig /all
route print
tracert 8.8.8.8
 



Henry33 a écrit :

Je n'ai pas (encore) configurer de serveur DNS extérieur dans dnsmasq, la navigation passe toujours pas les serveur DNS des fournisseurs (Orange/Free).


Peu importe. Je parlais de tous les serveurs DNS extérieurs au routeur utilisés directement (pas via dnsmasq), donc cela inclut les DNS des FAI.


Il vaut mieux montrer que raconter.

Hors ligne

#25 13-05-2018 16:00:24

Henry33
Membre
Inscription : 23-12-2016

Re : [Résolu] Configuration iptables à 4 réseaux

C'est le routeur que j'appelle serveur. Je confirme, apt-get update (et autres) est fonctionnel.

Voici les résultats sur le routeur :

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:8c:d5:7c brd ff:ff:ff:ff:ff:ff
    inet 192.168.201.101/24 brd 192.168.201.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 169.254.159.210/16 brd 169.254.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:fe8c:d57c/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 50:3e:aa:5f:85:b9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.1/24 brd 192.168.200.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet 169.254.168.55/16 brd 169.254.255.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::dc89:835f:636c:12a9/64 scope link
       valid_lft forever preferred_lft forever
4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 60:e3:27:19:9d:7c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.18/24 brd 192.168.1.255 scope global wlan1
       valid_lft forever preferred_lft forever
    inet6 2a01:cb06:24e:dd00:46d3:56e3:6df7:f104/64 scope global noprefixroute dynamic
       valid_lft 1788sec preferred_lft 588sec
    inet6 fe80::62e3:27ff:fe19:9d7c/64 scope link
       valid_lft forever preferred_lft forever
 



ip route

default via 192.168.1.1 dev wlan1
default via 192.168.1.1 dev wlan1  metric 304
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.159.210  metric 202
169.254.0.0/16 dev wlan0  proto kernel  scope link  src 169.254.168.55  metric 303
192.168.1.0/24 dev wlan1  proto kernel  scope link  src 192.168.1.18
192.168.1.0/24 dev wlan1  proto kernel  scope link  src 192.168.1.18  metric 304
192.168.200.0/24 dev wlan0  proto kernel  scope link  src 192.168.200.1
192.168.201.0/24 dev eth0  proto kernel  scope link  src 192.168.201.101
 



cat /etc/resolv.conf

# Generated by resolvconf
domain home
nameserver 127.0.0.1
 



traceroute -m 3 8.8.8.8

traceroute to 8.8.8.8 (8.8.8.8), 3 hops max, 60 byte packets
send: Operation not permitted
 




Voici les résultats sur PC Windows 7 :

ipconfig /all


Configuration IP de Windows

   Nom de l'hôte . . . . . . . . . . : 1-PC
   Suffixe DNS principal . . . . . . :
   Type de noeud. . . . . . . . . .  : Hybride
   Routage IP activé . . . . . . . . : Non
   Proxy WINS activé . . . . . . . . : Non

Carte réseau sans fil Connexion réseau sans fil 3 :

   Statut du média. . . . . . . . . . . . : Média déconnecté
   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Microsoft Virtual WiFi Miniport Adap
ter #2
   Adresse physique . . . . . . . . . . . : 78-92-9C-A0-8B-D7
   DHCP activé. . . . . . . . . . . . . . : Oui
   Configuration automatique activée. . . : Oui

Carte réseau sans fil Connexion réseau sans fil 2 :

   Statut du média. . . . . . . . . . . . : Média déconnecté
   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Microsoft Virtual WiFi Miniport Adap
ter
   Adresse physique . . . . . . . . . . . : 78-92-9C-A0-8B-D7
   DHCP activé. . . . . . . . . . . . . . : Oui
   Configuration automatique activée. . . : Oui

Carte réseau sans fil Connexion réseau sans fil :

   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Intel(R) Centrino(R) Wireless-N 100
   Adresse physique . . . . . . . . . . . : 78-92-9C-A0-8B-D6
   DHCP activé. . . . . . . . . . . . . . : Oui
   Configuration automatique activée. . . : Oui
   Adresse IPv6 de liaison locale. . . . .: fe80::96e:915e:63a7:102d%12(préféré)

   Adresse IPv4. . . . . . . . . . . . . .: 192.168.200.139(préféré)
   Masque de sous-réseau. . . . . . . . . : 255.255.255.0
   Bail obtenu. . . . . . . . . . . . . . : dimanche 13 mai 2018 16:02:15
   Bail expirant. . . . . . . . . . . . . : lundi 14 mai 2018 04:02:16
   Passerelle par défaut. . . . . . . . . : 192.168.200.1
   Serveur DHCP . . . . . . . . . . . . . : 192.168.200.1
   IAID DHCPv6 . . . . . . . . . . . : 393777820
   DUID de client DHCPv6. . . . . . . . : 00-01-00-01-1B-58-C3-F2-30-85-A9-07-56
-5E
   Serveurs DNS. . .  . . . . . . . . . . : 192.168.200.1
   NetBIOS sur Tcpip. . . . . . . . . . . : Activé

Carte Ethernet Connexion au réseau local :

   Statut du média. . . . . . . . . . . . : Média déconnecté
   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Atheros AR8151 PCI-E Gigabit Etherne
t Controller (NDIS 6.20)
   Adresse physique . . . . . . . . . . . : 30-85-A9-07-56-5E
   DHCP activé. . . . . . . . . . . . . . : Oui
   Configuration automatique activée. . . : Oui

Carte Tunnel isatap.home :

   Statut du média. . . . . . . . . . . . : Média déconnecté
   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Carte Microsoft ISATAP
   Adresse physique . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP activé. . . . . . . . . . . . . . : Non
   Configuration automatique activée. . . : Oui

Carte Tunnel isatap.{332B768E-C436-40A7-BD78-2EDA2F9323B8} :

   Statut du média. . . . . . . . . . . . : Média déconnecté
   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Carte Microsoft ISATAP #2
   Adresse physique . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP activé. . . . . . . . . . . . . . : Non
   Configuration automatique activée. . . : Oui

Carte Tunnel Teredo Tunneling Pseudo-Interface :

   Statut du média. . . . . . . . . . . . : Média déconnecté
   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   Adresse physique . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP activé. . . . . . . . . . . . . . : Non
   Configuration automatique activée. . . : Oui

Carte Tunnel isatap.{6B088764-AE93-40B5-A56B-5BB6B619E98E} :

   Statut du média. . . . . . . . . . . . : Média déconnecté
   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Carte Microsoft ISATAP #3
   Adresse physique . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP activé. . . . . . . . . . . . . . : Non
   Configuration automatique activée. . . : Oui

Carte Tunnel Connexion au réseau local* 3 :

   Statut du média. . . . . . . . . . . . : Média déconnecté
   Suffixe DNS propre à la connexion. . . :
   Description. . . . . . . . . . . . . . : Carte Microsoft ISATAP #4
   Adresse physique . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP activé. . . . . . . . . . . . . . : Non
   Configuration automatique activée. . . : Oui
 



route print


===========================================================================
Liste d'Interfaces
 14...78 92 9c a0 8b d7 ......Microsoft Virtual WiFi Miniport Adapter #2
 13...78 92 9c a0 8b d7 ......Microsoft Virtual WiFi Miniport Adapter
 12...78 92 9c a0 8b d6 ......Intel(R) Centrino(R) Wireless-N 100
 11...30 85 a9 07 56 5e ......Atheros AR8151 PCI-E Gigabit Ethernet Controller (
NDIS 6.20)
  1...........................Software Loopback Interface 1
 17...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP
 18...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP #2
 15...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 16...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP #3
 19...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP #4
===========================================================================

IPv4 Table de routage
===========================================================================
Itinéraires actifs :
Destination réseau    Masque réseau  Adr. passerelle   Adr. interface Métrique
          0.0.0.0          0.0.0.0    192.168.200.1  192.168.200.139     25
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
    192.168.200.0    255.255.255.0         On-link   192.168.200.139    281
  192.168.200.139  255.255.255.255         On-link   192.168.200.139    281
  192.168.200.255  255.255.255.255         On-link   192.168.200.139    281
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link   192.168.200.139    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link   192.168.200.139    281
===========================================================================
Itinéraires persistants :
  Aucun

IPv6 Table de routage
===========================================================================
Itinéraires actifs :
 If Metric Network Destination      Gateway
  1    306 ::1/128                  On-link
 12    281 fe80::/64                On-link
 12    281 fe80::96e:915e:63a7:102d/128
                                    On-link
  1    306 ff00::/8                 On-link
 12    281 ff00::/8                 On-link
===========================================================================
Itinéraires persistants :
  Aucun
 



tracert 8.8.8.8


Détermination de l'itinéraire vers google-public-dns-a.google.com [8.8.8.8]
avec un maximum de 30 sauts :

  1     3 ms     4 ms     3 ms  192.168.200.1
  2     7 ms     4 ms     3 ms  LIVEBOX [192.168.1.1]
  3    20 ms    24 ms    23 ms  80.10.236.197
  4    18 ms    18 ms    25 ms  ae107-0.ncrou202.Rouen.francetelecom.net [193.25
3.151.158]
  5    22 ms    47 ms    19 ms  ae44-0.niidf202.Paris15eArrondissement.francetel
ecom.net [193.252.98.246]
  6    23 ms    27 ms    33 ms  193.252.137.74
  7    21 ms    20 ms    21 ms  72.14.202.232
  8     *        *        *     Délai d'attente de la demande dépassé.
  9    20 ms    21 ms    21 ms  66.249.94.82
 10    21 ms    28 ms    21 ms  216.239.47.81
 11    21 ms    21 ms    22 ms  google-public-dns-a.google.com [8.8.8.8]

Itinéraire déterminé.
 

Hors ligne

Pied de page des forums