[debian] Mise en place d'une passerelle

Mise en place d'une passerelle [debian] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 24-11-2008 à 18:01:52    

Bonjour,
 
j'essaye de mettre en place une passerelle sous debian
 
architecture : livebox (192.168.1.1) --> réseau 192.168.1.0 --> (eth0) passerelle (eth2) --> réseau 192.168.100.0 --> poste hôte.
 
mes fichiers de config :  
 
/etc/network/interfaces

Code :
  1. This file describes the network interfaces available on your system
  2. # and how to activate them. For more information, see interfaces(5).
  3. # The loopback network interface
  4. auto lo
  5. iface lo inet loopback
  6. # The primary network interface
  7. allow-hotplug eth0
  8. iface eth0 inet static
  9.         address 192.168.1.112
  10.         netmask 255.255.255.0
  11.         network 192.168.1.0
  12.         broadcast 192.168.1.255
  13. # second network interface
  14. allow hotplug eth2
  15. iface eth2 inet static
  16.         address 192.168.100.1
  17.         netmask 255.255.255.0
  18.         network 192.168.100.0
  19.         broadcast 192.168.100.255
  20.         gateway 192.168.100.1


 
mon dhcp (seulement sur eth2) :

Code :
  1. #
  2. # Sample configuration file for ISC dhcpd for Debian
  3. #
  4. # $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
  5. #
  6. # The ddns-updates-style parameter controls whether or not the server will
  7. # attempt to do a DNS update when a lease is confirmed. We default to the
  8. # behavior of the version 2 packages ('none', since DHCP v2 didn't
  9. # have support for DDNS.)
  10. ddns-update-style none;
  11. # option definitions common to all supported networks...
  12. option domain-name "docsis LAN";
  13. option domain-name-servers 80.10.246.129, 80.10.246.2;
  14. default-lease-time 600;
  15. max-lease-time 7200;
  16. # If this DHCP server is the official DHCP server for the local
  17. # network, the authoritative directive should be uncommented.
  18. authoritative;
  19. # Use this to send dhcp log messages to a different log file (you also
  20. # have to hack syslog.conf to complete the redirection).
  21. log-facility local7;
  22. subnet 192.168.100.0 netmask 255.255.255.0 {
  23.         option broadcast-address 192.168.100.255;
  24.         option routers 192.168.100.1;
  25.                 range 192.168.100.10 192.168.100.250;
  26.         ping-check = 1;
  27. }


 
bon, à ce niveau pas de problème, mon pc hôte récupère bien le bail dhcp avec les informations correctes.
 
maintenant, la passerelle en elle même :
elle se connecte bien a internet avec résolution de nom (ping google ça marche quoi...)
 
j'ai suivi ce tuto la pour les regles IpTable :
http://www.debian-administration.org/articles/23
 
et sur les pc hotes, j'obtiens un "delai d'attente de la demande dépassée" si j'essaye de pingé la livebox ou un serveur google (via son ip)
 
ou est ce que je fais une erreur?
 
j'ai aussi plusieurs problème, genre eth2 qui ne se monte pas au boot, faut que je le fasse à la main après (ifup eth2) ou le serveur dhcp qui se lance pas (je pense que c'est à cause du problème précédant), ou j'arrive pas à avoir l'ip_forwarding d'activé au boot, je suis obligé de le refaire à chaque fois (même rajouté dans /etc/network/options, ou avec sysctl)
 
si quelqu'un peu m'aider un peu, je l'en remercie d'avance


---------------
ras
Reply

Marsh Posté le 24-11-2008 à 18:01:52   

Reply

Marsh Posté le 24-11-2008 à 18:12:16    

remplace allow hotplug par auto
 
le dhcp ne se lance pas car l'interface n'est pas up en effet
 
l'ip forwarding se met dans  /etc/sysctl.conf


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 24-11-2008 à 18:33:24    

black_lord a écrit :

remplace allow hotplug par auto


 
bon, la raison pour laquelle ca marchait pas pour la deuxième etait tres conne, c'est allow-hotplug et non allow hotplug :sarcastic:
 

black_lord a écrit :

l'ip forwarding se met dans  /etc/sysctl.conf


 
déjà tenté
j'ai essayé de decommenter celle par defaut
 

Code :
  1. # Uncomment the next line to enable packet forwarding for IPv4
  2. net.ipv4.conf.default.forwarding=1


 ou celle la :

Code :
  1. net.ipv4.ip_forward=1


 
le problème est cependant réglé avec la présence de  

Code :
  1. # Enable routing.
  2. echo 1 > /proc/sys/net/ipv4/ip_forward


dans le script qui se lance quand on monte une interface réseau pour configurer iptable, règle le problème
 
 
 
mais j'ai toujours pas de réseau sur mon poste client :/


---------------
ras
Reply

Marsh Posté le 24-11-2008 à 18:41:43    

Problème basique de routage:
Ta livebox envoie le trafic pour le réseau 192.168.100.0 sur son interface qui fait face à internet. Pourquoi ? Parce qu'elle ne connait pas de route pour ce sous-réseau, donc elle envoie ça vers sa route par défaut.
 
2 solutions :
- rajouter une route sur la livebox pour lui dire d'envoyer le trafic de 192.168.100.X vers 192.168.1.112 (a condition que cette adresse ne change pas) (solution propre  [:bien])
- soit de faire du nat sur l'interface eth0 de ta passerelle (solution sale [:nul])
dans le cas ou tu utilises une adresse dynamique sur eth0 : iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
sinon tu utilises -j SNAT.
 
>> man iptables !!!!!!
 
Sachant que la première solution n'est pas possible (pas de livebox pour tester, mais de mémoire on ne peut  pas le faire) il ne reste que la solution gruik...
  [:karo]


Message édité par o'gure le 24-11-2008 à 18:48:48

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 24-11-2008 à 18:50:09    

effectivement, c'est pas bête :D

 

mais le masquerade, je le faisais deja :

Code :
  1. # Masquerade.
  2. iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
 

et je ne ping meme pas ma livebox, donc je pense que j'ai un autre problème

Message cité 1 fois
Message édité par kaillou38 le 24-11-2008 à 18:51:55

---------------
ras
Reply

Marsh Posté le 24-11-2008 à 18:54:47    

Peux tu faire les manips suivantes et donner les résultats suivants :
sur ton client faire en root  un route -n
sur ta passerelle en root faire un route -n
sur ton client faire  en root un iptables -L -n
sur ta passerelle faire en root un iptables -L -n
sur ta passerelle faire en root un iptables -t nat -L -n
pinguer l'interface eth1 de ta passerelle depuis ton poste client
pinguer l'interface eth0 de ta passerelle depuis ton poste client
pinguer l'adresse de ta livebox
pinguer l'adresse 209.85.135.103  (c'est un serveur de google qui répond au ping)
sur ton client faire un cat /etc/resolv.conf une fois qu'il ait obtenu une adresse IP


Message édité par o'gure le 24-11-2008 à 18:56:50

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 24-11-2008 à 19:02:32    

kaillou38 a écrit :

effectivement, c'est pas bête :D

 

mais le masquerade, je le faisais deja :

Code :
  1. # Masquerade.
  2. iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
 

et je ne ping meme pas ma livebox, donc je pense que j'ai un autre problème


Je n'avais pas vu l'edit...
>> le masquerade tu le fais sur la mauvaise interface.

 

Règle ça, vérifie tes DNS et après on en reparle :o

Message cité 1 fois
Message édité par o'gure le 24-11-2008 à 19:05:48

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 24-11-2008 à 19:04:35    

Là d'une part le trafic qui arrive à la livebox depuis ton client n'a pas été naté correctement, donc elle voit toujours le trafic provenir de 192.168.100... elle ne sait pas où envoyer le trafic "réponse", donc elle le balancera sur son interface WAN.

 

Ce que tu NAT là, c'est le trafic qui sort de eth2... pas grand intéret


Message édité par o'gure le 24-11-2008 à 19:05:18

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 24-11-2008 à 19:55:52    

o'gure a écrit :


Je n'avais pas vu l'edit...
>> le masquerade tu le fais sur la mauvaise interface.
 
Règle ça, vérifie tes DNS et après on en reparle :o


 
voui, j'ai vu après et corrigé tout seul en fait, merci de l'aide, ça m'a en tout cas fait réfléchir a ce que je faisais :D
 
j'ai un dernier problème qui va pas être dur a résoudre, mais je suis surpris qu'au montage des interfaces reseau au boot, il n'y a pas d'appel a ce qui est dans le dossier if-up.d. La faut que je down puis up une interface pour que le nat se mette en place


---------------
ras
Reply

Marsh Posté le 24-11-2008 à 20:27:03    

Normalement ces scripts doivent être exécutés.
Vérifie que le tien est bien exécutable (permission du fichier)
Vérifie que ton interface doit bien être montée au démarrage.
Vérifie qu'il y a bien un shebang correct au début de ton script
Rajoutes un touch /tmp/scriptexecute en deuxieme ligne, reboot et vérifie la présence du fichier /tmp/scriptexecute afin de savoir si effectivement il n'est pas exécuté
 
Sinon lors de la définition de ton interface dans le fichier /etc/network/interfaces tu peux explicitement lui donner un fichier à exécuter (regarde le manpage : post-up pre-up...)
 


---------------
Relax. Take a deep breath !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed