Iptables et traffic entrant

Fermé
elchofar Messages postés 2 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 mars 2009 - 3 mars 2009 à 19:45
 elchofar - 6 mars 2009 à 17:15
Bonsoir,

je suis en train de mettre en place une passerelle sous linux (debian 5) pour mon reseau entreprise.

eth0 est l'interface locale sur le reseau 192.168.0.0
eth1 est l'interface connectée au net via la freebox (en mode routeur) sur le reseau 192.168.1.0 avec renvoi du port 80 sur eth1 (pour des raisons internes, la freebox doit être configurée en routeur)

tout le traffic sortant passe très bien mais impossible d'atteidre mon serveur web depuis l'extérieur (ip du serveur web : 192.168.0.2)

voici mon fichier de configuration iptables :

#!/bin/sh

modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat

######################################
# REMISE à ZERO des règles de filtrage
######################################
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

################################
#on logue tout ce qui est rejete
################################
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP

#################################
#on logue tout ce qui est accepte
#################################
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] : '
iptables -A LOG_ACCEPT -j ACCEPT

#####################################
# Mise en place des régles par défaut
#####################################
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#######################################
#on accepte tout ce qui se passe sur lo
#######################################
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

####################################################
#on accepte tout ce qui se passe sur le reseau local
####################################################
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT 

############################
#on accepte les tequetes DNS
############################
iptables -A INPUT -i eth1 --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth1 --protocol udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth1 --protocol tcp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth1 --protocol tcp --destination-port 53 -j ACCEPT 


###########################################
#on accepte tout le traffic LAN -> internet
###########################################
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -o eth0 -i eth1 -j ACCEPT 
iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE 

#######################################################
#on autorise les connexion entrantes sur certains ports
#######################################################
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2
iptables -A FORWARD -i eth1 -o eth0 -p tcp --destination-port 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -p tcp --source-port 80 -m state --state ESTABLISHED -j ACCEPT 
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE 

###########
#protection
###########
#scanport
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#on accepte le ping max 2/seconde
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT  -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT  -p icmp -m limit --limit 2/s -j ACCEPT

##########
#log rejet
##########
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP 


Je vous remercie de prendre quelques minutes pour la lecture de mon post.
Je suis presque au bout de ma configuration et la j'avoue que je bloque. Votre me sera précieuse.

Julien
A voir également:

2 réponses

Bonjour,

après quelque déboires sur les syntaxes iptables, j'ai résolu mon probleme, j'ai modifié les règles de routage internet vers le serveur web comme suit :

Code :

1. iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
2. iptables -A FORWARD -i eth1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
3. iptables -A FORWARD -o eth1 -p tcp --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT
4. iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:80



Julien
1
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
4 mars 2009 à 10:17
Je ne connais pas (encore) iptables, mais je pense que tu n'as simplement pas routé ton port 80 vers ton serveur sur ton routeur =)
0
elchofar Messages postés 2 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 mars 2009
4 mars 2009 à 12:20
Merci de cette réponse, j'ai essayé en autorisant le port 80 mais ca ne change pas grand chose.

J'ai vérifié le routage freebox vers passerelle et tout est ok.

Je me suis aussi connecté directement à eth1 sur le réseau 192.168.1.0 et je n'ai pas non plus l'accès

Je reste bloqué
0