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

Re: routage



Salut,

manioul a écrit :
Le lundi 21 mars 2005 à 16:58 +0100, Tahar a écrit :

Je voudrais savoir comment faire du routage pour
connecter deux ordinateurs en même temps sur internet,
j'ai deux carte réseau dans le premier, eth0 et eth1
sur eth0 est connecté mon modem-routeur ADSL dont
l'adresse IP est 192.168.1.2 et celle du routeur
192.168.1.1

Modem-routeur = 192.168.1.2 et routeur = 192.168.1.1 ?
Je suppose qu'il fallait comprendre eth0 = 192.168.1.2 ?

eth1 à une adresse 192.168.2.3, quand je connecte un
ordinateurs à eth1 losqu'il fait ping 192.168.1.2 il
reçoit une réponse mais pas de réponse depuis
192.168.1.1 quand je mets comme passerelle l'@ de eth0
quand j'essaye de me connecter sur Internet depuis
l'ordinateur connecté à eth1, je ne peux pas naviguer
est ce qu'il faut rediriger avec iptables les requetes
ou il y a autre chose à faire.

Pas de routage activé sur l'ordinateur aux deux cartes réseau et/ou route de retour vers 192.168.2.0/24 manquante sur le routeur et/ou règles de filtrage non adaptées.

1-Activer le forwarding dans le noyau de la passerelle:
# echo 1 > /proc/sys/net/ipv4/ip_forward

Sous Debian on peut faire en sorte que le forwarding IP soit activé automatiquement au démarrage du réseau avec l'option ip_forward=yes dans le fichier /etc/network/options.

2- charger les modules de suivi:
#modprobe iptables_nat
#modprobe ip_nat_irc
#modprobe ip_nat_ftp

Comme leur nom le suggère, ceux-ci sont plutôt les modules de NAT, et au passage le premier s'appelle iptable_nat (sans "s", c'est le module de _la_ table nat). Les modules de suivi de connexion sont ip_conntrack, ip_conntrack_ftp... Normalement les modules de base (ip_conntrack, iptable_nat) sont chargés automatiquement par les règles iptables (-m state, -t nat) ou les modules spécifiques (ip_nat_ftp, ip_conntrack_ftp) qui en ont besoin.

3-Définir les règles de fw idoines:
#iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.2.0/24 -d \
0.0.0.0/0 -m state --state ! INVALID -j ACCEPT
#iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d \
192.168.2.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT

Pourquoi surcharger les règles avec des conditions sur 0.0.0.0/0 qui sont toujours remplies ?

#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.0/24 -j MASQUERADE

Plutôt -o eth0, celle-ci étant l'interface de sortie vers internet.

Pour finir, je suis d'accord avec J.Pierre : il serait bien plus simple de raccorder directement les deux machines sur le routeur au moyen d'un switch si ce dernier n'a qu'un seul port LAN.

Une autre possibilité à peu près équivalente serait de créer un pont ethernet transparent entre les deux interface eth0 et eth1 de la première machine, ce qui transformerait celle-ci en switch à deux ports. Cf. l'outil brctl du paquetage bridge-utils, et le Bridging HOWTO (http://bridge.sourceforge.net/howto.html). Comme le switch, ça évite de mettre en place du routage IP et de la NAT.



Reply to: