Iptables iprange et mask bits !

Bonjour,

Me voici dans les méandres de iptables. Quelle délectation :mrgreen:

J’ai quelques questions :

Est-ce que :

iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -m iprange --src-range 192.168.0.1-192.168.0.10 -j ACCEPT

Est égal à

iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -s 192.168.0.1 -j ACCEPT Etc... iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -s 192.168.0.10 -j ACCEPT

Pourquoi l’option -s ne fonctionne pas avec iprange ?

Est-ce que cela correspondrait à 192.168.0.3/32 ?

Je remonte ma question, je n’ai pas trouvé de réponse…

Et je trouve vilain d’avoir à énumérer les IP une à une dans mon script…
Mon script fonctionne mais je pense qu’il est bancal, pas évident ce “truc” :frowning:
J’ai l’impression que plus je potasse et moins je capte !

Attends que Pascal passe par là, c’est lui le spécialiste.

Pour moi cela accepte la plage de 192.168.0.1 à 192.168.0.10 (donc également 192.168.0.2, 192.168.0.3, ...)

[code]iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -s 192.168.0.1 -j ACCEPT
iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -s 192.168.0.10 -j ACCEPT[/code]
Tandis qu'ici cela n'accepte que le .1 et le .10

[quote]Pourquoi l'option -s ne fonctionne pas avec iprange ?[/quote]
Tu utilises déjà src-range donc -s ne fonctionne pas car tu ne peux pas utiliser deux sources dans la même règle, il faut donc choisir un range, une ip ou bien une ip/mask.

[quote]Est-ce que cela correspondrait à 192.168.0.3/32[/quote]
Non du tout, /32 ne va définir qu'un seul host, en l'occurrence le .3
Si tu veux faire avec un masque pour 10 machines le /28 (de .1 à .14) serait le plus approprié, exemple 192.168.0.0/28 autorise de 192.168.0.1 à .14.

Pour moi cela accepte la plage de 192.168.0.1 à 192.168.0.10 (donc également 192.168.0.2, 192.168.0.3, …)

iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -s 192.168.0.1 -j ACCEPT iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -s 192.168.0.10 -j ACCEPT
Tandis qu’ici cela n’accepte que le .1 et le .10

Tu utilises déjà src-range donc -s ne fonctionne pas car tu ne peux pas utiliser deux sources dans la même règle, il faut donc choisir un range, une ip ou bien une ip/mask.

Non du tout, /32 ne va définir qu’un seul host, en l’occurrence le .3
Si tu veux faire avec un masque pour 10 machines le /28 (de .1 à .14) serait le plus approprié, exemple 192.168.0.0/28 autorise de 192.168.0.1 à .14.

Re,

Le pauvre il est à toute les sauces iptables… :mrgreen:

[quote=“Niloo”]iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -m iprange --src-range 192.168.0.1-192.168.0.10 -j ACCEPT
Pour moi cela accepte la plage de 192.168.0.1 à 192.168.0.10 (donc également 192.168.0.2, 192.168.0.3, …)

iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -s 192.168.0.1 -j ACCEPT iptables -t mangle -A PREROUTING -p TCP --dport 80 -i eth1 -s 192.168.0.10 -j ACCEPT
Tandis qu’ici cela n’accepte que le .1 et le .10[/quote]
J’avais mis etc. au milieu, mais ça va de 1 à 10.
Donc ça me rassure que mon src-range soit ok ! Je n’aime pas trop avoir une ligne pour chaque IP…

Tu utilises déjà src-range donc -s ne fonctionne pas car tu ne peux pas utiliser deux sources dans la même règle, il faut donc choisir un range, une ip ou bien une ip/mask.[/quote]Evidemment -s = -m iprange --src (enfin presque…)

Non du tout, /32 ne va définir qu’un seul host, en l’occurrence le .3
Si tu veux faire avec un masque pour 10 machines le /28 (de .1 à .14) serait le plus approprié, exemple 192.168.0.0/28 autorise de 192.168.0.1 à .14.[/quote]
Si j’ai compris l’histoire des “mask”, ça de de 28 à 32 ? Et c’est tout. J’ai l’impression que iprange permet plus de choix, non ?

En tout cas merci d’avoir pris la peine de regarder. J’ai progressé, mais je suis loin de maîtriser. En fait, j’y vais à taton. Mais ce n’est pas évident à cause des règles “establish” qui faussent les essais… Y a t il un moyen de remettre complètement à zéro entre chaque essai y compris les règles establish ?

Merci.

Pour le calcul des masques il existe des outils en ligne qui te permettront d’avancer plus vite.
Exemple : subnet-calculator.com/

Les masques vont de 8 à 30 en fonction de tes besoins.

Pour enlever toutes les règles iptables tu peux utiliser les règles suivantes dans un fichier par exemple firewall.sh :

[code]
#!/bin/sh

Vars

IPT=/sbin/iptables

Flush

$IPT -F
$IPT -X
$IPT -t filter -F INPUT
$IPT -t filter -F OUTPUT
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -Z

Suite des règles …[/code]

Super sympa !

Tu as suivi mes divers essais de portail captif. J’ai trouvé celui qui va bien (NoTalweg). Mais il faut que je “traficotte” un peu les règles iptables pour y insérer mes règles (j’ai quelques machines qui ne doivent pas du tout sortir, et d’autres qui doivent sortir sans passer par le portail…). J’y suis presque :wink:

J’ai beaucoup potassé pendant ces derniers jours. Je suis un peu saturé… :mrgreen:
C’est pourquoi j’avais besoin d’un peu de support…
Merci de me l’avoir apporté !

Mais de rien.

Oui, j’ai vu le fil sur NoTalweg mais par manque de temps je n’ai pas eu le temps de le tester.

Salut,

[quote=“Niloo”]Mais de rien.

Oui, j’ai vu le fil sur NoTalweg mais par manque de temps je n’ai pas eu le temps de le tester.[/quote]

Je pense avoir réglé mes soucis d’Iptables. Les clients “inconnus” passent par le portail, les autres (mes machines de travail) par squid.
Par sécurité, ce serveur n’est dédié qu’a ça (j’ai déporté les autres services - nfs samba postfix pxe… - sur une autre machine qui n’est pas directement connectée à Internet).

Pour NoTalweg, j’ai été bluffé par la simplicité d’installation (après tous mes essais plus ou moins périlleux, c’était cool…).
En 15 minutes c’est réglé ! Il s’intègre bien dans une installation “LAMP” classique, sans mettre le bronx…
Je le met en “production” dans une semaine avec de “vrais” clients…
J’espère ne pas trop avoir de galères…

Encore merci.