Problème réseau multiples
murmures1530
Messages postés
18
Statut
Membre
-
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:
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 :
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?
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
-
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-
-
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 -
-
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 ? -
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
-