Problème de routage sous une Debian Sarge - Linux et OS Alternatifs
Marsh Posté le 26-09-2005 à 14:06:44
décrit ton architecture !! 
 
au passage regarde si tu as besoin de faire du nat. 
utilises tu du routage dynamique ? 
as tu besoin d'intervenir sur les autres routeurs 
 
 
mais décrit bien ton architecture sinon on pourras pas t'aider
Marsh Posté le 26-09-2005 à 14:20:20
| l0ky a écrit : décrit ton architecture !!  | 
 
 
C'est que du routage statique... 
 
Ma machine possède 4 cartes réseaux ethernet. Il y a une carte réseau connectée sur un router Modem ADSL. Pour l'instant j'essaye juste de configurer une machine pour qu'elle puisse router en faisant du NAT. Donc j'ai chargé entre autre le module iptable_nat. 
 ma table de routage ressemble à ça 
 
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface 
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1 
192.168.2.0    0.0.0.0         255.255.255.0   U     0      0        0 eth3 
192.168.3.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2 
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0 
0.0.0.0         192.168.0.1    0.0.0.0         UG    0      0        0 eth0 
 
J'ai quand même installé sur cette machine le service dns nottament pour faire du cache. 
 
Pour l'instant je veux juste qu'une machine dans le meme reseau que eth3 accède à internet... (Pour l'instant la resolution dns fonctionne, normal vu qu'il ne fait de routage)...
Marsh Posté le 26-09-2005 à 14:32:31
Pour le nat il ne suffit pas de loader le module iptables_nat... 
 
précise EXACTEMENT ce que tu essayes de faire. 
 
pour tes tests tu lances du traffic à partir de quel subnet  et vers quelle destination ? 
 
Marsh Posté le 26-09-2005 à 14:44:22
Je te donne le script firewall: 
 
echo 1 > /proc/sys/net/ipv4/ip_forward 
 
#Permet d'empecher les attaques de type spoofing 
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] 
then 
  for filtre in /proc/sys/net/ipv4/conf/*/rp_filter 
  do 
    echo 1 > $filtre 
  done 
fi 
 
#Chargement des modules 
modprobe ip_tables 
modprobe ip_nat_ftp 
modprobe iptable_filter 
modprobe iptable_nat 
 
#permet de vider toutes les règles existantes 
iptables -F 
iptables -X 
iptables -P INPUT DROP 
iptables -P OUTPUT DROP 
iptables -P FORWARD DROP 
 
#initailisation de NAT 
iptables -t nat -F 
iptables -t nat -X 
iptables -t nat -P PREROUTING ACCEPT 
iptables -t nat -P POSTROUTING ACCEPT 
iptables -t nat -P OUTPUT ACCEPT 
 
#initialisation de Mangle 
iptables -t mangle -F 
iptables -t mangle -X 
iptables -t mangle -P PREROUTING ACCEPT 
iptables -t mangle -P INPUT ACCEPT 
iptables -t mangle -P OUTPUT ACCEPT 
iptables -t mangle -P  FORWARD ACCEPT 
iptables -t mangle -P POSTROUTING ACCEPT 
 
#On autorise toutes les communications en locales de la machine 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A OUTPUT -o lo -j ACCEPT 
 
#On autorise les communications DNS vers Internet 
iptables -A INPUT -i eth0 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT 
iptables -A INPUT -i eth0 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT 
 
#On autorise les communication web vers Internet port 80 
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT 
 
#On autorise tous les postes du lan A  à effectuer des requetes DNS 
iptables -A INPUT -i eth3 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -o eth3 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT 
iptables -A INPUT -i eth3 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -o eth3 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT 
 
#On route toute les communications http vers Internet 
iptables -A FORWARD -i eth3 -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
iptables -A FORWARD -i eth0 -o eth3-p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT 
 
 
 
Pour l'instant je veux juste qu'une machine dans le meme reseau que eth3 accède à internet... (Pour l'instant la resolution dns fonctionne, normal vu qu'il ne fait de routage)...
Marsh Posté le 26-09-2005 à 14:52:12
ReplyMarsh Posté le 26-09-2005 à 14:55:27
| l0ky a écrit : Tu n'as de règle faisant de nat  | 
 
 
Non je ne fais pas encore de NAT car même ce que je t'ai envoyé, ça ne fonctionne pas.....
Marsh Posté le 26-09-2005 à 15:03:41
Bah c'est normal que ca fonctionne pas.  
 
ton routeur sous linux envoit les paquet des host situés sur ETH3 avec l'adresse source en 192.168.2.... à ton modem routeur en 192.168.0.1 
 
Ton routeur lui réenvoit ca sur internet avec son adresse en source 
quand la réponse arrive il change l'adresse de destinatin en 192.168.2.... mais il ne sais pas à qui l'envoyer. 
 
 
Si tu veux que  ca marche soit tu fait tu nat en sortie de ton routeur linux 
soit tu rajoute des routes sur ton routeur/modem (tout ce que est en 192.168.1.0 192.168.2.0 192.168.3.0 vers ton routeur linux)
Marsh Posté le 26-09-2005 à 15:24:42
Je suis daccord avec toi mais comme mon Roteur ADSL fait du NAT, ça devrai quand même passer...... 
 
Non? 
Marsh Posté le 26-09-2005 à 15:33:51
Je réexplique : 
 
Host1 -------- eth3 Routeur eth0 ------- modem ---------- Internet 
 
ton host1 envoit un paquet avec l'adresse 192.168.2.34 vers internet 
par defaut il envoit a sa gateway le routeur, sur eth0 
dans ses routes, le routeur voit que ce paquet doit aller sur internet il envoit a ton modem 
 
ton modem lui il change l'adresse source avec son adresse publique 
le paquet va sur internet rencontre son destinataire qui renvoit un paquet a la source (adresse publique du modem) 
 
le modem recoit le paquet, fait le nat inverse (l'adresse destination devient 192.168.2.34) 
 
/!\    D'apres ce que j'ai vu des routes que tu as mises sur le routeur, le modem est connecté à un réseau en 192.168.0.0/16 (mask 255.255.0.0) donc, pour le modem, les paquets à destination de 192.168.2.34 sont directement relaché sur son lien. 
 
 
OR personne sur son lien n'a cette adresse donc le paquet est perdu  
 
 
 
 
 
Si le mask n'est pas bon (je suis étonné de la grandeur mais bon), ce paquet n'appartient à aucun lien auquel il n'est rattaché, le modem ne connait aucune route précise pour forwarder ce paquet, donc le renvoit a routeur par défaut qui se trouve sur internet 
OR l'adresse Destination est privée, le routeur par défaut ne saura quand faire et le jettera 
 
 
!
Marsh Posté le 26-09-2005 à 15:34:54
conclusion: il faut faire du nat sur ton routeur linux ou alors tu rajoutes si tu peux des routes sur ton routeur modem. 
 
Marsh Posté le 26-09-2005 à 15:54:53
Ok merci pour les infos, je te laisse dans ta config Cisco... Mais juste une dernière précision, cette config fonctionnait sur une redhat à l'époque... dans la même architecture sauf qu'il n'y avait que 2 carte réseaux... Donc c'est pour ça que ça m'etonne que le NAT du router Adsl ne suffisait pas.... 
 
Mais sur l'explication, c'est logique qu'il faut faire du NAT. 
 
A+
Marsh Posté le 26-09-2005 à 14:03:33
Bonjour,
Je viens d'installer une Debian par contre je n'arrive pas à faire du routage:
J'ai bien regarder si le route est activé dans ip_forward -> 1
Ma table de routage est correcte.
J'arrive bien à accéder au serveur dns installé sur celle-ci (Pour faire du cache).
J'ai même désactiver antispoofing...
Quand je log le traffic avec iptables, j'arrive bien à visualiser les paquets acceptés...
Si quelqu'un à une idée.
Merci.