Configuration passerelle

Bonjour,

Pour pouvoir isoler une machine du reste du réseau, je voudrai créer une passerelle avec mon ordi. Si le dhcp fonctionne correctement, je n’arrive pas à accéder à internet malgré le ip_forward et iptables. Le schéma que je voudrai produire est le suivant:

Réseau1 ---------> eth0 - Machine1 (passerelle) - eth1 -------> Machine2

Sachant que Machine1 est lui même connecté à internet grâce à une autre passerelle et un server DNS

Merci pour votre aide!

Bonjour,
une simple ligne iptable fait l’affaire, aprés avoir autorisé le forwarding.
Inspire toi de ça (en simplifiant)
openmoko-fr.org/wiki/index.php/C … eb_via_USB

Qu’entends-tu exactement par “je n’arrive pas à accéder à internet” et “iptables” ?

Le réseau IP défini sur eth1 est-il bien distinct de celui sur eth0 ?

Et cette autre passerelle, elle sait comment atteindre le réseau IP derrière Machine1 ?

Bonjour,
un logiciel tout simple qui modifie sysctl à bon escient,
on est sur de ne rien oublier!
firestarter
une mise en oeuvre ultra simple avec choix graphique,
ou alors arno-iptables

une trace de route -n serait le bienvenue,
A+
JB1

quelle est la règle que tu as mis sur machine1?

essaye :

et regarde si les packets transite bien par ta règle de nat (si c’est ce que tu as fait car tu ne donne pas la règle…) en faisant une demande de page web sur machine 2

[quote=“xps”]quelle est la règle que tu as mis sur machine1?

essaye :

et regarde si les packets transite bien par ta règle de nat (si c’est ce que tu as fait car tu ne donne pas la règle…) en faisant une demande de page web sur machine 2[/quote]
Bien vu Les règles ne sont semble pas appliquées! Je vais creuser de ce côté là, merci!

et quelle est la règle que tu avait mis? essaye juste une règle de nat simple cela devrait fonctionner et tu verra après pour restreindre les packet que tu ne veut pas voir transiter

rebonjour,
c’est tout simple chez moi,
root@alpha30:~# iptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 292K packets, 88M bytes)
pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 1294 packets, 90320 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 7478K packets, 418M bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 6420K packets, 288M bytes)
pkts bytes target prot opt in out source destination
756K 106M MASQUERADE all – any eth0 anywhere anywhere
root@alpha30:~#

pour info avec la 3.4.0.rc3 tous les displays ne s’affichent pas!!!
je pense que j’ai omis quelquechose dans le fichier Config

j’attends le prochain noyau stable différent de 3.4.0 ( 12’ de compilation
avec j=32 )
A+
JB1
8)

[quote=“jb1”]rebonjour,
c’est tout simple chez moi,
root@alpha30:~# iptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 292K packets, 88M bytes)
pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 1294 packets, 90320 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 7478K packets, 418M bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 6420K packets, 288M bytes)
pkts bytes target prot opt in out source destination
756K 106M MASQUERADE all – any eth0 anywhere anywhere
root@alpha30:~#

pour info avec la 3.4.0.rc3 tous les displays ne s’affichent pas!!!
je pense que j’ai omis quelquechose dans le fichier Config

j’attends le prochain noyau stable différent de 3.4.0 ( 12’ de compilation
avec j=32 )
A+
JB1
8)[/quote]

J’ai bien rajouté la même règle:
0 0 MASQUERADE all – any any anywhere anywhere
J’ai compris le principe, du coup j’ai amélioré la requête pour ne considérer que mes deux réseaux:
1 1 84 MASQUERADE all – any any 192.168.1.0/24 192.168.8.0/24

Grâce à cette règle, j’arrive bien à faire communiquer les machines en réseau local donc entre 192.168.1.X et 192.168.8.X .

En revanche, toujours pas d’internet, les machines 192.168.1.X ne peuvent pas faire un ping de google (ping 74.125.19.147)

ping sur carte lan de ta passerelle ok? carte wan?

vérifie que ton dhcp distribue bien la bonne passerelle.

[quote=“xps”]ping sur carte lan de ta passerelle ok? carte wan?

vérifie que ton dhcp distribue bien la bonne passerelle.[/quote]
J’atteins bien la passerelle vers internet. Par contre, quelle adresse de passerelle doit distribuer le DHCP, la passerelle sur 192.168.8 qui va vers internet ou alors la passerelle que je viens de créer 192.168.1.1 ?

une remarque,
en sortie le port 80 est ouvert ?
le résultat de la commande route est correct?

A+
JB1

ta passerelle (machine 1 ?) à bien la connexion au net au moins?

sinon la passerelle doit être eth1 de machine 1 car c’est lui qui fait la redirection ver internet, vérifie aussi la conexion ver ton dns

[quote=“jb1”]une remarque,
en sortie le port 80 est ouvert ?
le résultat de la commande route est correct?

A+
JB1[/quote]

-> Route semble correcte

-> netstat -taup --inet ne me montre pas de port 80 ouvert

->J’ai fait
iptables -A INPUT -p tcp -i eth1 --dport 80 -j ACCEPT
-> netstat -taup --inet ne me montre toujours pas de port 80 ouvert

-> J’ai bien le net sur machine 1
-> la passerelle est bien eth1 de machine1 (c’est bien “option routers 192.168.1.1” dans dhcpd.conf)
-> J’ai bien une réponse de la part de mon serveur DNS

[quote=“garfunkheul”][quote=“xps”]quelle est la règle que tu as mis sur machine1?

essaye :

et regarde si les packets transite bien par ta règle de nat (si c’est ce que tu as fait car tu ne donne pas la règle…) en faisant une demande de page web sur machine 2[/quote]
Bien vu Les règles ne sont semble pas appliquées! Je vais creuser de ce côté là, merci![/quote]

je suppose que maintenant les packets transite bien par ta passerelle?

comment machine 1 accède à internet tu as une autre carte réseau qui va vers ton routeur? il est dans réseau1?
ton routeur est une débian aussi ou tu va directement sur ta boxe?

[quote=“garfunkheul”]J’ai bien rajouté la même règle:
0 0 MASQUERADE all – any any anywhere anywhere
J’ai compris le principe, du coup j’ai amélioré la requête pour ne considérer que mes deux réseaux:
1 1 84 MASQUERADE all – any any 192.168.1.0/24 192.168.8.0/24
Grâce à cette règle, j’arrive bien à faire communiquer les machines en réseau local donc entre 192.168.1.X et 192.168.8.X .En revanche, toujours pas d’internet, les machines 192.168.1.X ne peuvent pas faire un ping de google (ping 74.125.19.147)[/quote]
Tu n’as pas besoin de NAT/masquerade sur un réseau privé.
Le NAT est parfois une solution, parfois la seule solution, mais toujours une mauvaise solution. La bonne solution, c’est le routage. Il faut que les machines du réseau 192.168.8.0 (ou leur passerelle par défaut) sachent comment atteindre le réseau 192.168.1.0 : en utilisant machine1 comme passerelle pour cette destination. Le plus simple est d’ajouter une route statique sur la passerelle par défaut.

Pour en revenir au NAT, ta règle est trop restrictive. Comme tu l’écris, elle ne considère que tes deux réseaux, et pas le reste d’internet. Il faut supprimer la condition sur l’adresse destination (-d).

[quote=“PascalHambourg”] sachent comment atteindre le réseau 192.168.1.0 : en utilisant machine1 comme passerelle pour cette destination. Le plus simple est d’ajouter une route statique sur la passerelle par défaut.

Pour en revenir au NAT, ta règle est trop restrictive. Comme tu l’écris, elle ne considère que tes deux réseaux, et pas le reste d’internet. Il faut supprimer la condition sur l’adresse destination (-d).[/quote]

dit je une grosse bêtise en disant que si machine 1 arrive à joindre le net elle à forcément la route par défaut ver la passerelle… et si son dhcp marche la route par défaut de machine 2 doit être bonne.

cependant il peut toujours essayer une règle de nat autorisant tout afin de tester l’accès au net de machine 2 du style

provisoirement bien sur…

C’est correct, mais ma réponse ne concernait pas les passerelles de ces machines mais des autres. Rappel : une communication, ça implique d’envoyer des paquets dans les deux sens. Si les machines cibles ne savent pas comment envoyer la réponse, ça ne marche pas.

Le NAT n’autorise rien. Ce n’est pas son rôle. Le NAT translate.

[quote=“PascalHambourg”]

Le NAT n’autorise rien. Ce n’est pas son rôle. Le NAT translate.[/quote]

faute de langage désolé.

PS : moi je me suis compris :slightly_smiling: (c’est déja pas mal me direz vous^^) je sort??

Ouais, mais le NAT c’est la solution d’(apparente) facilité laide et qui ne marche pas avec tous les protocoles.