Iptables et traffic entrant

elchofar Messages postés 2 Statut Membre -  
 elchofar -
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

elchofar
 
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 6040 Statut Contributeur 782
 
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 Statut Membre
 
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