Problème réseau multiples

murmures1530 Messages postés 18 Statut Membre -  
murmures1530 Messages postés 18 Statut Membre -
Bonjour,

J'ai un problème colossal... J'ai navigué des jours entiers sur le net pour essayer de comprendre et de mettre en place plusieurs réseau distincts...
DMZ, règles iptables, etc... Rien à faire.

Actuellement j'ai un serveur avec 3 cartes réseau:
  • Réseau 1 : 192.168.0.0/24
  • Réseau 2 : 192.168.1.0/24
  • Réseau 3 : 192.168.2.0/24


Sur le réseau 1, j'ai le modem (0.1) et le serveur (0.2)
Sur le réseau 2, j'ai le serveur (1.1) et plusieurs PC en DHCP (1.101-131)
Sur le réseau 3, j'ai le serveur (2.1) et un émetteur WiFI non sécurisé à courte portée (2.2) sur lequel il y a plusieurs PC en DHCP (2.201-231)

Le réseau 1 apporte Internet au serveur. C'est tout. Il n'y a pas d'autres appareils.
Le réseau 2 est le réseau d'entreprise réservé au personnel, il y a env. 30 appareils (PC, imprimantes, lecteurs CB, etc...).
Le réseau 3 est le réseau pour les clients et représentants.

Le but recherché est :
  • Donner un accès Internet complet au réseau 2
  • Donner un accès Internet complet au réseau 3
  • Le réseau 2 ne doit pas pouvoir communiquer avec le réseau 3
  • Le réseau 3 ne doit pas pouvoir communiquer avec le réseau 2
  • Le serveur doit pouvoir communiquer avec le réseau 1, 2 et 3


Les règles iptables que j'ai utilisées :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth1 -j REJECT
iptables -A FORWARD -i eth2 -o eth2 -j REJECT

Résultat :
Internet est disponible sur le réseau 2 et 3
Le serveur a accès à Internet et peut communiquer sur le réseau 1, 2 et 3

Problème : Le réseau 2 et 3 peuvent communiquer ensemble

Quelqu'un de plus expérimenté que moi pourrait m'aider à empêcher que ces deux réseaux puissent communiquer ensemble?

1 réponse

  1. cocoche95 Messages postés 1187 Statut Contributeur 543
     
    Hello,

    Deux solutions, vérifier que les "Policy" soient bien définies à DROP (attention à bien identifier tous les flux à autoriser avant d'appliquer cela) ou compléter avec les lignes suivantes :
    iptables -A FORWARD -i eth1 -o eth2 -j REJECT
    iptables -A FORWARD -i eth2 -o eth1 -j REJECT
    0
    1. murmures1530 Messages postés 18 Statut Membre
       
      Salut!
      Merci pour ton aide néanmoins, malheureusement ça fait partie des règles que j'ai déjà essayé- sans succès.
      Les réseaux communiquent toujours entre-eux.
      0
    2. murmures1530 Messages postés 18 Statut Membre
       
      Je te poste l'intégralité de mon script pare-feu; peut-être qu'il y a une bulle que je ne vois même plus...

      #!/bin/bash

      echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
      echo 1 > /proc/sys/net/ipv4/tcp_syncookies

      iptables -F ; iptables -X ; iptables -t nat -F ; iptables -t nat -X ; iptables -t mangle -F ; iptables -t mangle -X ; iptables -t raw -F ; iptables -t raw -X

      iptables -P INPUT DROP
      iptables -P OUTPUT ACCEPT
      iptables -P FORWARD DROP

      iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
      iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT

      ## DNS
      iptables -A INPUT -p tcp -s 127.0.0.1 --dport 53 -j ACCEPT
      iptables -A INPUT -p udp -s 127.0.0.1 --dport 53 -j ACCEPT

      iptables -A INPUT -p tcp -s 172.17.64.0/24 --dport 53 -j ACCEPT
      iptables -A INPUT -p udp -s 172.17.64.0/24 --dport 53 -j ACCEPT

      iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 53 -j ACCEPT
      iptables -A INPUT -p udp -s 192.168.0.0/24 --dport 53 -j ACCEPT

      iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 53 -j ACCEPT
      iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 53 -j ACCEPT

      ## SSH
      iptables -A INPUT -p tcp -s 172.17.64.0/24 --dport 22 -j ACCEPT

      ## Activation du forwarding au niveau du kernel
      echo 1 > /proc/sys/net/ipv4/ip_forward

      iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
      iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

      iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.0.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
      iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -d 0.0.0.0/0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

      iptables -A FORWARD -i eth1 -o eth1 -j REJECT
      iptables -A FORWARD -i eth2 -o eth2 -j REJECT

      iptables -A FORWARD -i eth1 -o eth2 -j REJECT
      iptables -A FORWARD -i eth2 -o eth1 -j REJECT
      0
    3. cocoche95 Messages postés 1187 Statut Contributeur 543
       
      Salut !

      Désolé du retard, je suis en vacances ;)
      Quand ton script est appliqué et que tu tapes la commande 'iptables -nvL', elle te sort quoi ? Toutes tes règles sont bien prises en compte, tel que tu le souhaites ?
      0
    4. cocoche95 Messages postés 1187 Statut Contributeur 543
       
      Seconde remarque : dans ton script tu as les lignes suivantes
      iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
      iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE


      Pourquoi il n'y a pas le réseau 192.168.2.0/24 ? Dans ce cas comment cela se fait que le réseau 3 ait internet ? As-tu fais un capture de trafic pour être sur que tout passe par le serveur quand les réseaux 2 et 3 communiquent ?
      0
    5. murmures1530 Messages postés 18 Statut Membre
       
      Salut!
      Merci de te pencher sur mon cas et d'essayer de me dépanner malgré tes vacances; c'est bien sympa.
      Ce message est un poil plus ancien que celui que j'ai posté sur le forum Debian (où je n'ai pas trouvé d'aide même si un membre m'a aiguillé sur l'outil route).

      Les plages IP et règles iptables ne correspondent plus à ce qui est noté sur ce fil.

      Voici la configuration actuelle utilisée ;

      eth0 : Réseau Internet : 172.17.64.0/24 (Modem + Serveur)
      eth1 : Réseau entreprise : 192.168.0.0/24 (Serveur + ~30 postes)
      eth2 : Réseau public : 192.168.1.0/24 (Serveur + ~10 postes)

      (Ces plages IP sont temporaires, elles vont changer par la suite, lors de la mise en production- mais ce n'est pas ça qui me poser problème)

      Script iptables :

      #!/bin/bash

      echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
      echo 1 > /proc/sys/net/ipv4/tcp_syncookies

      iptables -F ; iptables -X ; iptables -t nat -F ; iptables -t nat -X ; iptables -t mangle -F ; iptables -t mangle -X ; iptables -t raw -F ; iptables -t raw -X

      iptables -P INPUT DROP
      iptables -P OUTPUT ACCEPT
      iptables -P FORWARD DROP

      iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
      iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT

      ## DNS
      iptables -A INPUT -p tcp -s 127.0.0.1 --dport 53 -j ACCEPT
      iptables -A INPUT -p udp -s 127.0.0.1 --dport 53 -j ACCEPT

      iptables -A INPUT -p tcp -s 172.17.64.0/24 --dport 53 -j ACCEPT
      iptables -A INPUT -p udp -s 172.17.64.0/24 --dport 53 -j ACCEPT

      iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 53 -j ACCEPT
      iptables -A INPUT -p udp -s 192.168.0.0/24 --dport 53 -j ACCEPT

      iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 53 -j ACCEPT
      iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 53 -j ACCEPT

      ## SSH
      #iptables -A INPUT -p tcp -s 172.17.64.0/24 --dport 22 -j ACCEPT
      iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT

      ## Activation du forwarding au niveau du kernel
      echo 1 > /proc/sys/net/ipv4/ip_forward

      ## On log pas les packets
      echo 0 > /proc/sys/net/ipv4/conf/all/log_martians

      iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
      iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

      iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.0.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
      iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -d 0.0.0.0/0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

      iptables -A FORWARD -i eth0 -o eth2 -s 0.0.0.0/0 -d 192.168.1.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
      iptables -A FORWARD -i eth2 -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

      iptables -A FORWARD -i eth1 -o eth1 -j REJECT
      iptables -A FORWARD -i eth2 -o eth2 -j REJECT

      iptables -A FORWARD -i eth1 -o eth2 -j REJECT
      iptables -A FORWARD -i eth2 -o eth1 -j REJECT


      Mes routes :

      Kernel IP routing table
      Destination Gateway Genmask Flags Metric Ref Use Iface
      default 172.17.64.1 0.0.0.0 UG 0 0 0 eth0
      172.17.64.0 * 255.255.255.0 U 0 0 0 eth0
      192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
      192.168.1.0 * 255.255.255.0 U 0 0 0 eth2


      Mes interfaces :

      auto lo
      iface lo inet loopback

      auto eth0
      iface eth0 inet static
      address 172.17.64.254
      netmask 255.255.255.0

      auto eth1
      iface eth1 inet static
      address 192.168.0.1
      netmask 255.255.255.0

      auto eth2
      iface eth2 inet static
      address 192.168.1.1
      netmask 255.255.255.0



      Et le retour de la commande iptables -nvL n'affiche rien d'erroné mais peut-être que je loupe un truc ?


      Chain INPUT (policy DROP 1604 packets, 108K bytes)
      pkts bytes target prot opt in out source destination
      2178 601K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
      5 356 ACCEPT all -- lo * 127.0.0.0/8 127.0.0.0/8
      0 0 ACCEPT tcp -- * * 127.0.0.1 0.0.0.0/0 tcp dpt:53
      0 0 ACCEPT udp -- * * 127.0.0.1 0.0.0.0/0 udp dpt:53
      0 0 ACCEPT tcp -- * * 172.17.64.0/24 0.0.0.0/0 tcp dpt:53
      0 0 ACCEPT udp -- * * 172.17.64.0/24 0.0.0.0/0 udp dpt:53
      0 0 ACCEPT tcp -- * * 192.168.0.0/24 0.0.0.0/0 tcp dpt:53
      0 0 ACCEPT udp -- * * 192.168.0.0/24 0.0.0.0/0 udp dpt:53
      0 0 ACCEPT tcp -- * * 192.168.1.0/24 0.0.0.0/0 tcp dpt:53
      373 24675 ACCEPT udp -- * * 192.168.1.0/24 0.0.0.0/0 udp dpt:53
      2 104 ACCEPT tcp -- * * 172.17.64.0/24 0.0.0.0/0 tcp dpt:22

      Chain FORWARD (policy DROP 53 packets, 2120 bytes)
      pkts bytes target prot opt in out source destination
      0 0 ACCEPT all -- eth0 eth1 0.0.0.0/0 192.168.0.0/ 24 state RELATED,ESTABLISHED
      0 0 ACCEPT all -- eth1 eth0 192.168.0.0/24 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
      237K 804M ACCEPT all -- eth0 eth2 0.0.0.0/0 192.168.1.0/ 24 state RELATED,ESTABLISHED
      346K 24M ACCEPT all -- eth2 eth0 192.168.1.0/24 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
      0 0 REJECT all -- eth1 eth1 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
      0 0 REJECT all -- eth2 eth2 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
      0 0 REJECT all -- eth1 eth2 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
      0 0 REJECT all -- eth2 eth1 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

      Chain OUTPUT (policy ACCEPT 2493 packets, 163K bytes)
      pkts bytes target prot opt in out source destination
      1134 194K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
      5 356 ACCEPT all -- * lo 127.0.0.0/8 127.0.0.0/8
      root@beta:~# iptables -nvL
      Chain INPUT (policy DROP 1611 packets, 109K bytes)
      pkts bytes target prot opt in out source destination
      2192 602K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
      5 356 ACCEPT all -- lo * 127.0.0.0/8 127.0.0.0/8
      0 0 ACCEPT tcp -- * * 127.0.0.1 0.0.0.0/0 tcp dpt:53
      0 0 ACCEPT udp -- * * 127.0.0.1 0.0.0.0/0 udp dpt:53
      0 0 ACCEPT tcp -- * * 172.17.64.0/24 0.0.0.0/0 tcp dpt:53
      0 0 ACCEPT udp -- * * 172.17.64.0/24 0.0.0.0/0 udp dpt:53
      0 0 ACCEPT tcp -- * * 192.168.0.0/24 0.0.0.0/0 tcp dpt:53
      0 0 ACCEPT udp -- * * 192.168.0.0/24 0.0.0.0/0 udp dpt:53
      0 0 ACCEPT tcp -- * * 192.168.1.0/24 0.0.0.0/0 tcp dpt:53
      373 24675 ACCEPT udp -- * * 192.168.1.0/24 0.0.0.0/0 udp dpt:53
      2 104 ACCEPT tcp -- * * 172.17.64.0/24 0.0.0.0/0 tcp dpt:22

      Chain FORWARD (policy DROP 53 packets, 2120 bytes)
      pkts bytes target prot opt in out source destination
      0 0 ACCEPT all -- eth0 eth1 0.0.0.0/0 192.168.0.0/24 state RELATED,ESTABLISHED
      0 0 ACCEPT all -- eth1 eth0 192.168.0.0/24 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
      237K 804M ACCEPT all -- eth0 eth2 0.0.0.0/0 192.168.1.0/24 state RELATED,ESTABLISHED
      346K 24M ACCEPT all -- eth2 eth0 192.168.1.0/24 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
      0 0 REJECT all -- eth1 eth1 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
      0 0 REJECT all -- eth2 eth2 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
      0 0 REJECT all -- eth1 eth2 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
      0 0 REJECT all -- eth2 eth1 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

      Chain OUTPUT (policy ACCEPT 2493 packets, 163K bytes)
      pkts bytes target prot opt in out source destination
      1154 196K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
      5 356 ACCEPT all -- * lo 127.0.0.0/8 127.0.0.0/8
      0