Configuration des règles iptables !!!

Fermé
xavman001 Messages postés 57 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 16 mai 2005 - 21 oct. 2003 à 20:31
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 - 15 nov. 2003 à 21:28
Bonjour bonjour les linuxiens !

voila, ca fait quelques temps que j'essaye de mettre au point des règles iptables fiables mais voila je galère un peu !

alors peut-être que vous pourriez m'aider un peu (je veux pas que vous me fassiez mes devoirs ! mais un exemple de vos règles m'aiderai beaucoup à faire les miennes !)

ma machine principal (firewall+routeur) connecté à un mon serveur ftp (que je souhaite pouvoir ouvrir à internet, du dnat quoi)

mon réseau local est de classe 192.168.0.0

j'aimerai pourvoir accèder à ssh (uniquement) sur mon firewall depuis le net et à mon serveur ftp (derrière le firewall)

également je voudrais ouvrir les ports emule sur mon firewall


je suis sur que c'est une configuration tout à fait classique et que bon nombre d'entre vous ont des règles qui fonctionnent et que je pourrai étudier pour faire les miennes !


ps : iptables est opérationnel, support noyaux et tout !


merci d'avance
A voir également:

5 réponses

Salut,

Voila je vais essayrer de te venir en aide un petit peu.
Voila comme j ai fonctionné (Merci LAB)

1. Tables INPUT:
iptables -F INPUT (on efface tout ce qui existe)
iptables -P INPUT DROP (on mets par defaut a DROP tout)
iptables -A INPUT -p tcp -s 192.168.0.0/16 -j ACCEPT (puis on donne acces complet au reseau local)
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT (tous ce qui rentre sur le port 22 est autorisé)

Table OUTPUT:
iptables -F OUTPUT
iptables -P OUTPUT DROP
iptables -A OUTPUT -p tcp -d 192.168.0.0/16 -j ACCEPT
iptables -A OUTPUT -p tcp --source-port 22 -j ACCEPT
Ceci n est qu un exemple.
Pour ce qui est du serveur FTP :
iptables -t nat -I PREROUTING -i ppp0 -p tcp --dport 21 -j DNAT --to 192.168.0.1:21

En esperant vous avoir aider

Bye
1
bonjour, je me permet de vous demander de l’aide car je ne sais pas à qui je dois me tourner pour avoir des conseils.

Je suis en train d’installer un petit réseau avec un server linux mandrake 8.2

J’ai deux pc relié avec sous xp pro.

J’ai installé un modem adsl par éthernet ? Jusque là ça marche mais je n’arrive pas à partager ma connection sur les autres postes. Le pire c’est dès que je lance mon firewall, je n’arrive plus à faire un ping sur l’extérieure.

Je vous donne à tout hazard mes scripts de cartes et mon firewall.

Merci d’avance.



eth0

DEVICE=PPPoE

BOOTPROTO=dhcp

ON BOOT=yes



passerelle

NETWORKING=yes

FORWARD_IPV4=yes

HOSTNAME=icr

GATEWAY=192.168.123.1

GATEWAYDEV=eth0



eth1

DEVICE=eth1

BOOTPROTO=static

IPADDR=192.168.123.10

NETMASK=255.255.255.0

NETWORK=192.168.123.0

BROADCAST=192.168.123.255

ON BOOT=yes



DNS

NAMESERVER 193.252.19.3

NAMESERVER 193.252.19.4





Mon script Firewall



# on fait du routage

echo 1 > /proc/sys/net/ipv4/ip_forward



# Nous vidons les chaînes :

iptables -F



# Nous supprimons d'éventuelles chaînes personnelles :

iptables -X



# Nous les faisons pointer par défaut sur DROP



iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP



# Nous faisons de même avec toutes les autres tables,

# à savoir "nat" et "mangle", mais en les faisant pointer

# par défaut sur ACCEPT. Ca ne pose pas de problèmes

# puisque tout est bloqué au niveau "filter"



iptables -t nat -F

iptables -t nat -X

#iptables -t nat -F PREROUTING



iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT



iptables -t mangle -F

iptables -t mangle -X



iptables -t mangle -P PREROUTING ACCEPT

iptables -t mangle -P POSTROUTING ACCEPT

iptables -t mangle -P INPUT ACCEPT

iptables -t mangle -P FORWARD ACCEPT



# Nous considérons que la machine elle même est sûre

# et que le processsus locaux peuvent communiquer entre eux

# via l'interface locale :



iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT



iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --sport 80 -j ACCEPT



# Nous considérons que notre réseau local est

# également sûre (ce qui n'est pas forcément vrai, d'ailleurs).



iptables -A INPUT -i eth1 -j ACCEPT

iptables -A OUTPUT -o eth1 -j ACCEPT





# Translation d'adresses pour tout ce qui traverse la passerelle

# en sortant par eth0



iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128



iptables -t nat -A POSTROUTING -s 192.168.123.0/255.255.255.0 -o eth0 -j MASQUERADE



# Toutes les connexions du LAN vers le Net sont acceptées

iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT





# Toutes les connexions établies ou en relation depuis le net vers le LAN sont acceptées

iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT



# Autorisation des requetes DNS locales

iptables -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT

iptables -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT


Bonsoir, je me permet de vous demander de l’aide car je ne sais pas à qui je dois me tourner pour avoir des conseils.

Je suis en train d’installer un petit réseau avec un server linux mandrake 8.2

J’ai deux pc relié avec sous xp pro.

J’ai installé un modem adsl par éthernet ? Jusque là ça marche mais je n’arrive pas à partager ma connection sur les autres postes. Le pire c’est dès que je lance mon firewall, je n’arrive plus à faire un ping sur l’extérieure.

Je vous donne à tout hazard mes scripts de cartes et mon firewall.

Merci d’avance.



eth0

DEVICE=PPPoE

BOOTPROTO=dhcp

ON BOOT=yes



passerelle

NETWORKING=yes

FORWARD_IPV4=yes

HOSTNAME=icr

GATEWAY=192.168.123.1

GATEWAYDEV=eth0



eth1

DEVICE=eth1

BOOTPROTO=static

IPADDR=192.168.123.10

NETMASK=255.255.255.0

NETWORK=192.168.123.0

BROADCAST=192.168.123.255

ON BOOT=yes



DNS

NAMESERVER 193.252.19.3

NAMESERVER 193.252.19.4





Mon script Firewall



# on fait du routage

echo 1 > /proc/sys/net/ipv4/ip_forward



# Nous vidons les chaînes :

iptables -F



# Nous supprimons d'éventuelles chaînes personnelles :

iptables -X



# Nous les faisons pointer par défaut sur DROP



iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP



# Nous faisons de même avec toutes les autres tables,

# à savoir "nat" et "mangle", mais en les faisant pointer

# par défaut sur ACCEPT. Ca ne pose pas de problèmes

# puisque tout est bloqué au niveau "filter"



iptables -t nat -F

iptables -t nat -X

#iptables -t nat -F PREROUTING



iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT



iptables -t mangle -F

iptables -t mangle -X



iptables -t mangle -P PREROUTING ACCEPT

iptables -t mangle -P POSTROUTING ACCEPT

iptables -t mangle -P INPUT ACCEPT

iptables -t mangle -P FORWARD ACCEPT



# Nous considérons que la machine elle même est sûre

# et que le processsus locaux peuvent communiquer entre eux

# via l'interface locale :



iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT



iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -m state --state ESTABLISHED -p tcp --sport 80 -j ACCEPT



# Nous considérons que notre réseau local est

# également sûre (ce qui n'est pas forcément vrai, d'ailleurs).



iptables -A INPUT -i eth1 -j ACCEPT

iptables -A OUTPUT -o eth1 -j ACCEPT





# Translation d'adresses pour tout ce qui traverse la passerelle

# en sortant par eth0



iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128



iptables -t nat -A POSTROUTING -s 192.168.123.0/255.255.255.0 -o eth0 -j MASQUERADE



# Toutes les connexions du LAN vers le Net sont acceptées

iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT





# Toutes les connexions établies ou en relation depuis le net vers le LAN sont acceptées

iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT



# Autorisation des requetes DNS locales

iptables -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT

iptables -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT

iptables -A INPUT -i eth0 --protocol tcp --source-port 53 -j ACCEPT

iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 53 -j ACCEPT
0
jeffy > nicolas
14 nov. 2003 à 12:17
Pour le ping, tu n'as pas autorisé les paquets ICMP. Mais point de vue sécurité vaut mieux rester ainsi.
Pour que ta machine devienne une passerelle, il faut activer le routage Ip dans le noyau avec la commande suivante :
echo >1 /proc/sys/net/ipv4/ip_forward.
Avec ça normalement tu peut router déjà.
n'oublie pas d'indiquer aux clients l'adresse de l'interface interne du firewall comme passerelle. Enjoy!!
0
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114 > jeffy
15 nov. 2003 à 21:28
slt,
il a aussi positionné une règle pour faire un proxy transparent :
As tu bien un proxy sur la passerelle configuré comme tel ?

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?
0
karate > nicolas
15 nov. 2003 à 14:46
Salut à tous : demande d'aide
J'ai un fire-wall iptables qui fontionne correctement. Mais, je veux que (du lundi au vendredi ) j'ai ql que ports ouvert et pas d'autres. samedi et dimande plus de ports ouvers.
Je veux juste la partie "date" le reste est fait.

Merci à tous
0
rosen > nicolas
15 nov. 2003 à 16:18
Salut,
Je pense que le mieux est de faire 2 fichiers un pour iptables la semaine et l autre pour le weekend .
Ensuite utilise un planificatuer pour lancer tes scripts (cron)

Bye
0
wormlord Messages postés 617 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 25 avril 2006 54
22 oct. 2003 à 14:47
Si tu as une mandrake 9, je te conseil plutot de commenser avec shorewall, aui est plus simple.

C'est une implementation plus simple aui utilise iptables.
0
qui peut le plus peut le moins non?
moi aussi je galere sur iptables ,mais te decourages pas va au bout de ton delire ...trouves des exemples et adaptes les
c comme ca que je vais faire pour commencer
bon courage
0
xavman001 Messages postés 57 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 16 mai 2005
6 nov. 2003 à 19:55
salut merci pour vos réponses auquel je répond un peu à la bourre !

shorewall ne me convient pas je continue donc à taffer des mes règles iptables...

ciao
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
salut, je te remercie pour ton aide, j'avais déjà fait ce truc mais le probleme je l'ai trouvé c'est que le iptables ne passait pas sur le vieux ordi, donc je suis passé par ipchains et là tout marque à merveille. merci encore pour ton intervention.

nico
0