[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: routage réseau : NAT, routes par défaut



PII 233 wrote:
Bonjour,

je franchis le cap de monter mon petit serveur en routeur de mon petit
réseau local (j'ai même fait des trous dans le mur pour passer les câbles).
Bref, j'ai peu de connaissances théoriques en admin de réseau et peu de pratique
(généralement, on plugge et ça fonctionne presque tout seul dans les petits LAN
avec les petits routeurs/switch/adsl).
Dans mon cas, j'ai 3 cartes réseau.
eth0 est connectée à l'extérieur (le masque réseau n'est pas vraiment le
bon, mais ça passe).
eth1 et eth2 chacune à un poste.

Voici mon fichier interfaces après pas mal de tatonnements :


===
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
auto lo
iface lo inet loopback

# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet static
        address 81.57.94.34
        netmask 255.255.255.0
        network 81.57.94.0
        broadcast 81.57.94.255
        gateway 81.57.94.254

# Interface du reseau local, ajoutee
# apres l'install.
auto eth2
iface eth2 inet static
        address 192.168.0.39
        netmask 255.255.255.0
        network 192.168.255.0
C'est plutot : network 192.168.0.0, non ?

        broadcast 192.168.0.255
#       gateway 192.168.0.100

auto eth2:1
iface eth2:1 inet static
        address 192.168.0.40
        netmask 255.255.255.0
        network 192.168.255.0
        broadcast 192.168.0.255
#       gateway 192.168.0.100

auto eth2:2
iface eth2:2 inet static
        address 192.168.0.41
        netmask 255.255.255.0
        network 192.168.255.0
        broadcast 192.168.0.255
#       gateway 192.168.0.100

Pourquoi donner plusieurs adresses à la meme interface, sachant que ces adresses font parties du meme réseau ? Je pense que tu te mélanges dans les adresses réseaux, les masques, et autres :
adresse 192.168.0.10
masque sous-réseau 255.255.255.0
Donc les adresses vont de 192.168.0.0 à 192.168.0.255, avec .0 comme adresse du réseau et .255 comme adresse de broadcast.



auto eth1
iface eth1 inet static
        address 192.168.1.39
        netmask 255.255.255.0
        network 192.168.255.0
C'est plutot : network 192.168.1.0

        broadcast 192.168.1.255
#       gateway 192.168.1.100
===

visiblement, la machine route bien les paquets, j'ai modifié
/etc/network/options pour cela :
===
ip_forward=yes
spoofprotect=yes
syncookies=no
===

je teste depuis un des deux postes du LAN, et tout semble fonctionner.
Mon firewall est up, ce qui bloque bien les paquets indésirables.

Bon, quel est le problème alors ?
Et bien je n'ai pas (encore) défini de translation d'adresse.
D'ailleurs, la commande :
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -j MASQUERADE
n'a strictement aucun effet (rien n'apparaît lors d'un iptables -L).
Pour faire plus simple, fait plutot un iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Ainsi, tu proposeras le masquerading pour tous les réseaux locaux.
Ensuite, dans iptables, soit tu précises la table utilisée (nat, filter, ou mangle), soit tu précises rien. Dans ce dernier cas, c'est la table filter qui est prise par défaut. Donc :
iptables -L
affiche les règles actives pour la table filter.
iptables -t nat -L
affiche les règles actives pour la table nat (table dans laquelle tu as mis le masquerading comme tu peux le voir un peu avant).


J'ai recompilé très récemment mon noyau (un 2.4.23 debian patché xfs+faille de
début janvier) et j'ai activé à peu près tout ce qui concerne le réseau.
Y aurait-il un système de NAT transparente qui s'est déclenché ?
Si je comprends bien ta question, tu penses que si iptables -L n'affiche rien et que ce fonctionne quand meme, c'est qu'il y a un nat transparent ? Dans ce cas là, voir ma remarque ci-dessus. Sinon, j'ai pas bien compris la question ...

Je ne comprends pas pourquoi ce ne sont pas mes adresses LAN qui sont
balancées sur eth0 et, que, du coup, rien ne passe parce qu'elles sont sensées
ne pas être routées.

J'ai cherché via google des références sur la configuration de réseau linux, mais
je n'ai rien trouvé de sérieux ou à jour.
En particulier, je ne sais pas comment les routes par défaut sont déterminées :
Un route -n m'indique :
===
Table de routage IP du noyau
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.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth2
81.57.94.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         81.57.94.254    0.0.0.0         UG    0      0        0 eth0
===
La route par défaut est soit déterminée dans le fichier /etc/network/interfaces comme tu l'as fait (ne mettre qu'une seule fois l'option "gateway" pour toutes les interfaces comme tu l'as fait), ou par la commande "route" :
route add default gw 81.57.94.254
ou
route add defaut dev eth0

(voir man route)


et j'en suis bien content, il m'a fallu longtemps pour obtenir que la dernière
ligne apparaisse : en ne faisant rien de spécail dans mon fichier interfaces.
Il faut relancer le réseau après un changement dans le fichier /etc/network/interfaces :
/etc/init.d/networking restart

J'imagine que 81.57.94.0 étant le seul réseau routable, que *quelque chose*
a décidé que ce serait la route par défaut, mais qui quoi pourquoi ?

qui ? Toi :)
pourquoi ? option gateway dans le fichier :)


J'ai quand même un peu peur de transformer le serveur en routeur sans avoir
compris... vous me conseiller de lire quoi ce WE ?

Le Netfilter Howto et le Nat Howto sont abordables, vite lus, et très instructifs. Tout cela sur www.netfilter.org


Bon we
GUillaume Lehmann



Reply to: