Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Fichier de config iptables (firewall)
Envoyé par: Gosth35

Bonjour !
Je suis actuellement en trai de monter un pont filtrant à l'aide de 2 cartes réseau Ethernet; ce pont sépare le routeur ADSL de mon réseau local;

J'ai donc créé un fichier de configuration dans /etc/init.d/ponteth; ce fichier contient le montage du pont, ainsi que mes règles de filtrage avec iptables; j'ai rendu exécutable ce fichier avec la commande 'chmod 755 /etc/init.d/ponteth', et je l'ai activé au démarrage pour les niveau 2-3-4, via l'interface grafique des services...

Le problème, c'est qu'au démarrage, mon Linux met 20 minutes à démarrer; lorsque je ne démmarre que le pont (sans les iptables), il boot en 1 minute ! De plus, lorsque je lance les tables directement quand je suis sur KDE, il lui suffit de 20s pour les appliquer ...

J'en viens donc à ma question;
>Est-ce que mes règles de filtrage sont bien placées dans mon fichier ./ponteth/ ?-(
>Est-ce que ma ligne pour le rendre exécutable est correcte ?
>Je n'arrive pas à trouver le fichier spécifique déjà existant pour les iptables (je suis sous fedora 3); est-ce que vous savez ou il se trouve ?-(

Merci. ];-)
-Gosth35-

Poste le Thursday 9 June 2005 10:25:24
Répondre     Citer    
Re: Fichier de config iptables (firewall)
Envoyé par: Glorfindel

Ben peut être commences par nous envoyer le contenu du fichier, et son nom exact (attention à l'ordre de lancement des fichiers d'init !)

A+

Linux user # 386486 (serveur debian sarge sur un athlon64 winking smiley, laptop PIV-HT sur etch noyau 2.6.20).

Poste le Thursday 9 June 2005 10:46:38
Répondre     Citer    
Re: Fichier de config iptables (firewall)
Envoyé par: Gosth35

Je pense en effet que cela vient de l'ordre où je lance mes fichier init. Le fichier concerné s'appel ponteth, et se trouve dans /etc/init.d/ponteth

Voici sa config (en simplifiée, je n'ai mis que le start ...):


========================================================================


#!/bin/sh
#
#bridge Bring up/down bridge
#
#description: Fonction Bridge
#chkconfig: 2345 90 10
#Source function library
/etc/rc.d/init.d/functions
RETVAL=0
case "$1" in


start)
clear
echo "*****************************************"
echo "*** Démarrage du pont Ethernet ***"
echo "*****************************************"
echo "Démarrage en cours ...."
sleep 2
brctl addbr ponteth
brctl stp ponteth off
brctl addif ponteth eth0
brctl addif ponteth eth1
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
ifconfig ponteth 192.168.20.2 netmask 255.255.255.0 broadcast 192.168.20.255 up
route add default gw 192.168.20.1
echo "Pont démarré [OK]"
sleep 2



echo "******************************************"
echo "*** Activation des règles de filtrage ***"
echo "******************************************"
echo "Activation en cours ..."

#Définie des variables:
LAN="192.168.20.0/24"
LINUX="192.168.20.2/24"
FTPwindows="192.168.20.49/24"
TSEserveur="192.168.20.100/24"

#Efface toutes les règles existantes:
iptables -F
iptables -X

# Fixe les règles par défaut
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP


######################################################################
# Règles de protection avancées (pour le pont et la station Linux #
######################################################################
# Protection contre le SYN-flood:
iptables -A FORWARD -p tcp --syn -m limit --limit 2/s --limit-burst 4 -j ACCEPT
iptables -A INPUT -p tcp --syn -m limit --limit 2/s --limit-burst 4 -j ACCEPT
# Protection contre l'UDP Flood:
iptables -A FORWARD -p udp -m limit --limit 2/s --limit-burst 4 -j ACCEPT
iptables -A INPUT -p udp -m limit --limit 2/s --limit-burst 4 -j ACCEPT
# Protection contre le Smurfing (en limitant les pings / seconde du LAN):
iptables -A FORWARD -p icmp -s $LAN -m limit --limit 4/s --limit-burst 4 -j ACCEPT
iptables -A INPUT -p icmp -s $LAN -m limit --limit 4/s --limit-burst 4 -j ACCEPT



########################################################################
# Configuration du pont #
########################################################################
# Autorise tous le trafic local à sortir vers le routeur Internet:
iptables -A FORWARD -s $LAN -j ACCEPT
# DNS entrant:
iptables -A FORWARD -p tcp -d $LAN --sport 53 -j ACCEPT
iptables -A FORWARD -p udp -d $LAN --sport 53 -j ACCEPT
# HTTP et HTTPS entrant:
iptables -A FORWARD -p tcp -d $LAN -m multiport --sport 80,443 -j ACCEPT
# FTP-data et FTP entrant:
iptables -A FORWARD -p tcp -d $LAN -m multiport --sport 20,21 -j ACCEPT
# SMTP et POP (email) entrant:
iptables -A FORWARD -p tcp -d $LAN -m multiport --sport 25,110 -j ACCEPT
# VPN client entrant:
iptables -A FORWARD -p tcp -d $LAN --sport 1723 -j ACCEPT
iptables -A FORWARD -p gre -d $LAN -j ACCEPT
# TSE serveur entrant vers 192.168.20.100:
iptables -A FORWARD -p tcp -d $TSEserveur --dport 3389 -j ACCEPT
# remote desktop entrant:
iptables -A FORWARD -p tcp -d $LAN --sport 3389 -j ACCEPT
# VNC entrant:
iptables -A FORWARD -p tcp -d $LAN --sport 5900 -j ACCEPT




########################################################################
# Configuration de la station Linux #
########################################################################
# Autorise tous les paquets à sortir de la station Linux;
iptables -A OUTPUT -s $LINUX -j ACCEPT
# Accepte toutes les connexions du réseau local;
iptables -A INPUT -d $LINUX -s $LAN -j ACCEPT
# Autorise la connexion à son serveur vsFTPd;
iptables -A INPUT -p tcp -d $LINUX -m multiport --dport 20,21 -j ACCEPT
# Autorise la connexion VNC sur le serveur Linux;
iptables -A INPUT -p tcp -d $LINUX --dport 5902 -j ACCEPT
# Autorise les ports principaux à entrer sur la station;
iptables -A INPUT -p tcp -d $LINUX --sport 53 -j ACCEPT
iptables -A INPUT -p udp -d $LINUX --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -d $LINUX -m multiport --sport 80,443 -j ACCEPT
iptables -A INPUT -p tcp -d $LINUX -m multiport --sport 20,21 -j ACCEPT
iptables -A INPUT -p tcp -d $LINUX -m multiport --sport 25,110 -j ACCEPT
iptables -A INPUT -p tcp -d $LINUX --sport 5900 -j ACCEPT



echo "Règles de filtrage démarées [OK]"
sleep 5

touch /var/lock/subsys/bridge
RETVAL=$?
echo
;;


esac
exit $RETVAL
=====================================================================

Poste le Thursday 9 June 2005 10:56:46
Répondre     Citer    
Re: Fichier de config iptables (firewall)
Envoyé par: Gosth35

A noter que mes règles de filtrage fonctionnent toutes (je les ai testé l'une après l'autre en les entrant manuellement sur KDE dans un Terminal ...

Mais à mon avis, les iptables sont démarrées trop tôt lors du boot de Linux ...

Poste le Thursday 9 June 2005 11:03:09
Répondre     Citer    
Re: Fichier de config iptables (firewall)
Envoyé par: madko

comment tu as fait pour lancer le script ponteth au boot? liens symbolique dans le rc.d qui va bien? ou un appel depuis rc.local? ou autre chose encore?

Poste le Thursday 9 June 2005 16:44:19
Répondre     Citer    
Re: Fichier de config iptables (firewall)
Envoyé par: Gosth35

Tout dabord, j'ai 'rendu exécutable' le fichier de conf avec la ligne:
#chmod 755 /etc/init.d/ponteth

Et ensuite, le lui met ses niveaux de démarrage / arrêt avec la commande:
#chkconfig --add ponteth 2345
ou #chkconfig --add /etc/init.d/ponteth 2345 => me rapel plus , c'est un dès 2 ....


Et c'est tout, pas de lien ni rien d'autre ...

Une idée ?-(

Merci. ;-)
-Gosth35-

Poste le Thursday 9 June 2005 17:20:34
Répondre     Citer    
Re: Fichier de config iptables (firewall)
Envoyé par: madko

chkconfig a du te faire les liens qui vont bien

regarde dans le rc.d correspondant a ton runlevel habituel (par ex /etc/rc3.d) et cherche le lien S##ponteth tu aura une idée de l'ordre dans lequel il le lance au boot. faut juste s'assurer que la configuration reseau se lance avant. ça c'est pour creuser ta piste pour savoir si ça serait pas lancé trop tot au boot

Poste le Thursday 9 June 2005 17:47:53
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Fichier de config iptables (firewall)
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons