Je me suis monter un petit server linux sous Debian avec 3 cartes réseaux.
J’ai activé l’IP FORWARD à 1 et paramétré mon linux et mes postes de travails et tous mes postes et tout le monde communique avec tout le monde.
J’ai rajouté deux routes sur mon routeur SYNOLOGY afin que le réseau maison et invité aie internet
J’aimerais faire une règle IPTABLE (sachant que de base mes règles sont vides) pour interdire de faire communiquer le réseau invité le réseau server serveurs et le réseau maison.
Je ne connais rien à IPTABLES ? pouvez vous m’aider S’il vos plait.
(Pour le moment je le virtualise et le le mettais en place si sa fonctionne )
Sa va ce faire en trois étapes. si je comprend comment faire la règle (ou mon architecture réseau) en fonction de l’étape 1, j’adapterais mes règles pour les autres étapes.
Etape 1
Je veux que le réseau 10.0.0.0 (ETH1)communique avec le réseau 192.168.0.0 (eth2) mais je ne veux pas que le réseau 10.0.0.0 (ETH1) qu’il communique avec le réseau 172.20.23.0 (ETH3)
Depuis Eth1 10.0.0.0 /4 communiquer uniquement avec ETH2 192.168.0.0/24 {ACCEPT}
Depuis Eth1 10.0.0.0 /4 interdire la communication avec le réseau 172,20,23,0 (eth0) {DROP}
Tu utilises Shorewall.
Tu défini des zones dans /etc/shorewall/zones :
net =< internet
Lan => lan maison
guest => Invité
dans le fichier /etc/shorewall/policy tu n’as plus qu’à mettre:
#SOURCE DEST POLICY LOGLEVEL RATE CONNLIMIT
$FW net ACCEPT
lan net accept
guest net accept
net all DROP $LOG
# The FOLLOWING POLICY MUST BE LAST
all all DROP $LOG
et le tour est joué. Aucune règle iptable à definir de plus.
'Comme il faut une règle pour chaque direction, ça pourait donner
iptables -A FORWARD -i eth1 -s 10.0.0.0/8 -o eth2 -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -o eth1 -d 10.0.0.0/8 -i eth2 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -s 10.0.0.0/8 -o eth0 -d 172.20.23.0/24 -j DROP
iptables -A FORWARD -o eth1 -d 10.0.0.0/8 -i eth0 -s 172.20.23.0/24 -j DROP
Génial, sa fonctionne, j’ai pas répondu hier au message car j’ai pas touché à ma maquette, mais c’est cette règle que je recherché à mètre en place.
Saurais tu me dire en fonction de mon schéma, les règle la syntaxe des règle IPTABLE pour autoriser uniquement depuis le réseau invité {eth0} d’accédé uniquement à internet (utilisation du port 80, 443 et du DNS} avec le port 10443 qui sert pour une application bien spécifique et interdire tout les autres ?
je voudrais faire en sorte que sa s’applique uniquement sur eth0 en laissant tout passer sur eth2 et eth1
j’ai quasiment pas de règle
root@q4os-desktop:/home/pi# iptables-save
# Generated by iptables-save v1.8.7 on Sat Apr 2 16:08:53 2022
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -s 10.0.0.0/24 -d 172.0.0.0/8 -i eth1 -o eth2 -j DROP
-A FORWARD -s 10.0.0.0/24 -d 172.0.0.0/8 -i eth1 -o eth2 -j ACCEPT
COMMIT
# Completed on Sat Apr 2 16:08:53 2022
root@q4os-desktop:/home/pi#
Les longueurs de préfixes dans ces règles me correspondent pas au schéma, et la seconde règle ne sert à rien puisque tout ce qu’elle pourrait accepter a déjà été bloqué par la première, et de toute façon la politique par défaut est ACCEPT.
Je ne veux pas mètre de restriction au réseau serveur et au réseau maison, mais uniquement sur le réseau invité.
j’ai un utilisateur qui se connecte au réseau WIFI invité, et je souhaiterais faire une règle IPTABLE pour que tout les utilisateurs du réseau invité ont un accès accès uniquement au au WEB et FTP uniquement après j’adapterais ma règle pour le port 10443.
je ne veux pas par exemple qu’un utilisateur connecté sur le réseau invité accède à du SSH par exemple (que ce soit un serveur SSH de chez lui ou de chez moi), je souhaiterais qu’il puissent utiliser ce réseau pour faire de l’internet uniquement (sortir sur le port 80, 443, 21…).