Soucis de passerelle

Résolu/Fermé
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 4 févr. 2005 à 23:07
 pristella - 14 mars 2005 à 01:45
Bonsoir,

Je suis en train d'installer Debian sarge via la net-install.
Mais j'ai un ptit soucis.

J'ai un Pc connecté à internet qui est sensé jouer le rôle de passerelle puis un autre pc (celui sur lequel j'installe Debian) relié directement au précédent.

La passerelle a pour IP 192.0.0.1 (sur eth0)
Le client local a pour adresse 192.0.0.2 (sur eth0)

Le tout avec le masque sous-reseau 255.255.255.0

Les deux pc se ping très bien dans les deux sens. Le problème c'est que le client ne peut pas avoir accés à internet. Par exemple durant l'installation il n'arrive pas à se connecter aux serveurs ftp de Debian. Impossible de pinger www.google.fr ou encore CCM. (Hôte non reconnu).
Pourtant je lui ai bien indiqué que la passerelle est 192.0.0.1

Autre renseignement, la mandrake se connecte avec un sagem f@st 800 avec le driver eagle-usb 2.0.0.

Voilà... j'ai du oublier un truc pour que le client puisse utiliser la passerelle. Vous auriez une idée?

Merci d'avance....

29 réponses

Il semble que ton pc connecte a Internet est sense de faire une partage de connection entre un reseau local et internet avec NAT (network address translation). Dans ce cas la bonne plage d'adresse est:
192.168.0.x avec x=1,2,... et NON 192.0.0.x !
C'est important car les numeros de type 192.168.y.x sont justement reserves pour les reseaux locaux et ils ne sont jamais "route" vers l'internet. Je ne connais pas trops les details mais a mon avis un numero de type 192.0.0.x risque de creer de problemes serieux!
Le fait que les numeros 192.168.y.x ne sont jamais route vers internet
n'empeche pas que le pc client (celui que tu veux installer) voit l'internet mais son numero IP 192.168.0.2 sera traduit par le 1er pc vers le vrai numero IP de l'internet (c'est ca le NAT, la traduction d'adresses!!). Donc vers l'exterieur il apparait avec le numero IP de ta connection principale (deux pcs se partage le meme numero IP externe). Pour que ca marche il faut que le numero local reste local, donc la necessite d'utiliser la bonne plage: 192.168.0.x !!!

Apart ca il faut activer sur le pc connecte a internet le NAT. Dans le dernier Mandrake il y a dans le DrakConf dans le menu "reseau" un sous-menu partage de connection ou il faut correctement activer le NAT
(c.-a-d. la partage de la connection). La dedans il y a aussi de details a
mettre sur le sous-reseau etc.

Sinon si tu veux faire de facon plus manuelle regardes:
http://www.commentcamarche.net/forum/affich-1138827-partage-de-connection#1
Cependant en Mandrake ca ne devrait pas etre necessaire! Cherches le bon menu dans le DrakConf!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
4 févr. 2005 à 23:55
Salut Kmf,

En fait le soucis venait des dns de mon FAI que je n'avait pas configuré sur le poste client du réseau local.
Il fallait indiquer ça dans /etc/resolv.conf

J'aurais du chercher un peu plus avant de poser la question, tout était là: http://www.lea-linux.org/reseau/gateway.html

Et là ça marche, Debian est en train de s'installer par Ftp :-)

Mais ça m'interesse ton histoire. Ca signifie que lorsque je me connecte sur internet avec mon pc client, il n'aura pas une adresse de type 83.194..... (celle que j'ai) mais l'adresse 192.0.0.2 ?

Je ne savais pas du tout ça... :-|

Faut que je visite de la doc sur le nat, je connaissais pas ....

Merci beaucoup :-)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
5 févr. 2005 à 00:38
Je viens de tester mon IP sur internet. J'ai donc bien mon IP habituelle.
Tu es sûr que ça peut tout de même créer des conflits?
0
Bonjours,

Non cela ne devrait pas poser de problème, mais kmf a raison sur la forme. Il existe deux ranges IP qui sont réservés à un usage interne: 10.0.0.0/8 et 192.168.0.0/16. Mais libre à toi de choisir autre chose pour peu que tu ne les routes pas.
En fait c'est quand même beaucoup plus facile de suivre les conventions, par exemple, si quelqu'un doit regarder ta config, en croisant une IP 192.168.x.x, il saura tout de suite qu'elle est interne.

a+

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
5 févr. 2005 à 00:58
Ok merci.Bon je changerai ça tout à l'heure. Au fait tu entends quoi par /8 et /16 ?
0
C'est relie au masque, normalement /16 est la meme chose qu'une masque 255.255.0.0. Cependant je crois les numeros 192.168.x.y sont /24 (donc: 255.255.255.0) et pas /16. En fait tu peux faire 256 sous-reseaux (en variant le "x") avec chaque sous-reseau disposant de 256 adresses (en variant le "y"). De toute facon pour toi la masque 255.255.255.0 est correcte, il faut la garder, meme avec 192.168.0.x.

Pour le NAT il me parait en effet possible de traduire entre 192.0.0.x et externe mais ce n'est pas tres propre. Peut-etre ca marche sur le plan technique mais il y a de bonnes raisons pour reserver les plages 192.168.x.y et 10.... pour l'utilisation interne.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
5 févr. 2005 à 17:56
Ok merci. Donc j'ai changé mes adresses.

J'oubliais, pour que ma passerelle marche il m'a aussi fallu regler deux trois trucs, d'abord activer le forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward

Et aussi configurer Iptables pour le postrouting (un truc d'iptables que je ne connaissais pas....):
iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE

Bref tout est dans le lien vers lea-linux que j'ai cité plus haut...

Voilà, ben je vous remercie pour tout :-) Je sens que j'ai pas mal de How To à me farcir sur le réseau...

PS: Très bien cette Debian .....
0
J'ai aussi installer une Debian mais en passant par un routeur.
A mon avis ton probleme vient du DNS. Sauf erreur de ma part, tu dois entrer les DNS de ton provider si ton pc qui fait paratge de connection capote.

Bonne chance
bye
0
Gordius Messages postés 267 Date d'inscription mercredi 21 avril 2004 Statut Contributeur Dernière intervention 19 avril 2006 51
5 févr. 2005 à 16:36
Pour ne pas créer des conflits d'adresses IP avec des ordinateurs connectés au réseau Internet, certaines adresses IP ont été réservées pour identifier les ordinateurs d'un réseau local (RFC 1918). Ces plages d'addresses ip sont aux nombres de 3 et non 2:
10.0.0.0 avec un masque de 8bits ou plus.
172.16.0.0 avec un masque de 12bits ou plus.
192.168.0.0 avec un masque de 16bits ou plus.
Les masques sous réseau ne se limite pas à 8, 16 et 24, toutes les valeur s entre 8 et 30 sont utilisables en local.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
6 févr. 2005 à 22:50
Oki merci pour tout ces renseignements :)

Au fait j'aurais besoin d'un eclaircissement. J'ai voulu compiler un noyau 2.6.10 (avec pour voisinnage un 2.4 je ne sais plus de quelle version, celui de la sarge actuelle)

Comme je ne suis pas fortiche pour choisir les options une à une, j'ai voulu essayer mais j'ai eu un kernel panic en l'essayant.
Le message c'était un truc du genre unable to read root filesystem (un truc comme vfs ou nfs je ne sais plus...).
J'ai oublié de cocher une option particulère? Parce que je n'ai pas retrouvé ce sytème de fichier dans les options du kernel.

Ensuite quand j'ai redémarré avec l'ancien kernel, il a bien booté puis j'ai eu cette erreur => unable to find /dev/console
Puis il n'a pas continué....

:-s

J'ai tout réinstallé. Je viens d'évoluer vers sid.
Peut être qu'il vaut mieux compiler un 2.6 lorsque qu'on a déjà un système basé sur un 2.6....
0
peut etre un mkinitrd a faire??
je pensais que sous debian ca n'etait plus nécessaire, mais j'ai eu un pb similaire et ca l'a résolu...

Phiphi
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
6 févr. 2005 à 23:04
C'est peut être justement le mkinitrd m'a créé ce problème.
Je ne l'avais pas au début, d'ailleurs j'avais bien un soucis avec le 2.6 mais le 2.4 démarrait.
J'ai ensuite utilisé mkinitrd en tapant:
mkinitrd -o /boot/initrd.img /lib/modules/2.6.10

J'ai arrangé lilo, et là j'aurais jamais dû redémarrer :-D (c'est là que j'ai eu mon soucis)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
10 févr. 2005 à 02:21
Bon après avoir lu des trucs un peu partout dans les mailing list, j'ai remarqué que mon kernel était configuré pour supporter le ext3fs en module. Et comme c'est le système de fichiers de ma partition racine, c'est peut être la raison de tout ça...

Quant au initrd ce serait plutôt:
mkinitrd -o /boot/initrd.img 2.6.10


C'est en train de compiler, je vous dirais si c'est ça.....
0
Je mettrais plutot un truc comme:
mkinitrd -o /boot/initrd.img-2.6.10 2.6.10

ou
mkinitrd -o /boot/initrd.img-2.6.10 /lib/modules/2.6.10

selon la version pour eviter d'ecraser le fichier "/boot/initrd.img" qui vient avec le noyau initial de ta distribution!
Apres dans le lilo.conf (ou menu.lst pour grub) il n'y a pas de problemes pour mettre la bonne ligne pour charger le "/boot/initrd.img-2.6.10" au lieu de "/boot/initrd.img".
Pour l'ext3 tu peux le compiler en direct dans le noyau et si ce n'est que ca, ca devrait aller sans initrd. C'est autre chose si tu as de disques sata ou scsi ou c'est peut-etre obligatoire d'avoir les drivers sous formes de modules.

Concernant le passage 2.4 vers 2.6 il faut savoir que les fichier .config pour 2.4 ne marche pas du tout pour 2.6. Soit on recree completement une config de zero avec "make xconfig" ou on se debrouille pour recuperer un bon fichier .config pour 2.6 (d'un paquet rpm avec un noyau 2.6 par exemple). Dans ce cas on peut faire "make oldconfig" apres avoir copie le bon fichier .config dans le repertoire source. On peut aussi faire "make xconfig" pour justement modifier de petits trucs (mettre le bon processeur pour optimiser un peu, mettre ext3 en direct et mettre la bon taille de memore, si on a <1Gb on n'a pas besoin du truc pour 4Gb qui legerement plus complique.).
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
10 févr. 2005 à 03:37
En fait j'avais configuré en passant en revue chaque option, justement pour avoir un kernel leger. Ca n'avait pas marché à cause de cette option de ext3 je pense.

Comme j'ai perdu mon .config (ô rage, j'avais passé un après-midi à tout configurer...) j'ai pris le .config de ma mandrake (noyau 2.6.10) pour être sûr que ça marche. Après si ça marche j'enlèverais les options inutiles.

Mais alors le initrd, ce n'est pas indispensable pour charger les modules? argh...

Pour le nom du initrd je l'ai appelé comme ça car mon noyau de base possède un nom d'image assez particulier, donc pas de soucis. De toutes façon j'ai changé en initrd.img-2.6.10 depuis hier...
0
Le initrd est uniquement necessaire pour charger les modules indispensable pour acceder a ton disque dur, ca concerne typiquement les drivers de scsi, peut-etre sata et ext3. Le module ext3 peut etre mis en directe pendant que pour les autres ce n'est eventuellement pas possible. Je crois les drivers scsi ne marche qu'en module et pas en directe. Peut-etre c'est aussi le cas pour sata qui est similaire a scsi dans la gestion de driver linux.
Donc si tu n'as pas de disques scsi/sata tu n'as pas besoin d'initrd. Meme si tu laisses ext3 en module ca devrait marcher sans initrd car pour le 1er mount en lecture ca marche aussi avec le driver ext2 (seulement il n'a pas acces au journal de recuperation). Apres verifications de disque on pourra charger le driver ext3 depuis le disque dur et apres il y a le remount en ecriture pour la racine et le mount des autres partitions qui marchera en ext3 car a ce moment le module a ete charge depuis le disque dur. En principe ca marche aussi, je l'ai deja essaye. Cependant c'est quand meme mieux de mettre ext3 en direct.

Pour tous les autres modules (usb, ipfilter, ....) le noyau pourra le charger a partir de la copie sur disque dur, c.-a-d. depuis /lib/modules/2.6.10/....
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 févr. 2005 à 19:51
Ok merci pour tout ces renseignements ^^

Bon j'ai recompilé avec la config Mandrake mais j'ai eu le même soucis. Si je ne signale pas le initrd dans mon grub il démarre mais s'arrête en me disant qu'il ne trouve pas le init.....

Je crois qu'il n'a pas un bon accés au disque dur, en plus ce noyau n'a rien ecris dans le syslog ni dans messages. Et les messages au démarrage vont trop vite... En gros, c'est presque impossible de detecter l'erreur.

Je vais tenter autre chose. Compiler un kernel moins modulaire. Je vais selectionner le strict minimum par rapport à mon matériel et je met l'usb et autres trucs auxilliaires en modules....

On va voir ce que ça donne.... Je finirai par y arriver O_O
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 févr. 2005 à 23:18
Bon ça avance très doucement.
Je ne me sert plus du initrd. J'ai fait fait un Kernel avec l'essentiel compilé en dur (sauf l'usb).

Maintenant il démarre, detecte bien mes periphériques ide avec le nom du disque dur et le cdrom.
Par contre il me dit qu'il y a une erreur lors de la vérification de fsck (impossible d'ouvrir /dev/hda6 => mon home).
Il me propose de réparer ça manuellement. Et je vois qu'il n'ya pas de /dev/hda1 ou /dev/hda6 ni /dev/hda tout court dans /dev
Et la commande fdisk -l ne donne rien.

Puis je passe, et il démarre bien les services cron, sshd mais il s'arrête après le cron (là ou il devrait y avoir la fin du boot => la console).

J'ai remarqué un truc, juste avant l'erreur fsck j'ai ceci:
Loading modules
ide-cd
FATAL : Module ide-cd not found
ide-detect
FATAL : Module ide-detect not found

Mais pourtant tou ce qui est ide je l'ai compilé en dur :'-(

Je commence à me sentir comme un Calimero dans un monde de pingouin....
0
Alors si ca peut t'aider, voici les options apropos IDE que j'ai dans mon fichier .config:
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDEFLOPPY=m
CONFIG_BLK_DEV_IDESCSI=m
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_IDEDMA_ONLYDISK=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y


Pour info j'ai obtenu cet output avec:
grep IDE .config | grep -v "#" | grep -v "PARIDE"

Avec ca, ca marche en principe. Certainement on peut faire de facon differente mais tu peux quand-meme comparer avec ta config s'il manque un truc crucial.
Apres il faut aussi veiller de mettre le bon chipset dans:
PCI IDE chipset support
La dedans il faut d'abord selectionner le Generic PCI IDE Chipset Support. Je crois avec ca, ca marche deja mais pas de facon optimale (pas de DMA etc.). Pour ca il faut aussi chosir le bon driver specialise pour ta carte mere (voir en dessous dans: Generic PCI bus-master DMA support). En cas de doute tout selectionner. En principe l'info sur le chipset/driver est affichee dans l'output de "dmesg" (si tu as un autre noyau qui marche bien pour demarrer).

Quand j'ai compile pour la 1ere fois un noyau 2.6 (c'etait le tout premier: 2.6.0-test1) j'ai pris une config 2.4 et ca a ete une vraie catastrophe. J'avais un ecran noir avec le 1er boot. Le boot avancait quand meme mais on ne voyait rien. J'ai vu apres qu'il a fallu de veiller d'ajouter le terminal texte dans la config (le truc le plus elementaire et le plus crucial qui affiche de choses en texte pendant le boot!). En fait dans le 2.6 on peut deselectionner ca pour compiler de noyaux pour les "embedded devices" (linux dans un telephone portable ou un autre appareil ou il n'y a pas d'ecran avec clavier).

Normalement il faut vraiement prendre une config generale de Mandrake, Fedora qui marche bien!

Bonne chance.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 févr. 2005 à 00:18
Woah merci beaucoup!!! :-)
Je vais voir ça tout de suite :-)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 févr. 2005 à 00:40
Pratique le dmesg...

Pour ce qui est de Generic PCI bus-master DMA support j'ai tout selectionné (pas réussi à me debrouiller avec le dmesg)... Je recompile et si ça marche pas j'irais voir du côté de PCI IDE chipset support ...

Merci encore :-)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
19 févr. 2005 à 17:57
Bonsoir,

Ca n'a pas marché, pas plus que le .config de la 2.6.7-mdk livrée par défault avec le kernel source de la mandrake 10.0.

Je vais essayé de prendre le kernel debian par apt-get et de le compiler avec la methode debian. On verra bien....
0
Une petite question pour en etre sur:
Tu fais bien un truc: <<make "blabla"config>> entre copie de .config vers le repertoire source et le "make bzImage" (ou le "make" tout court) ?? Il faut toujours faire ca meme si on ne modifies pas de tout la config, dans ce cas on peut faire "make oldconfig", explicitement:
cd repertoire_sources_noyeau
cp /ailleur/autre_config .config
make oldconfig
make bzImage
make modules

et apres on peut installer (en root) avec "make modules_install" pour les modules et copier "arc/i386/boo/bzImage" vers /boot/... avec un nouveau nom et actualiser grub/lilo.

Si on ne fait pas le "make oldconfig" (ou "make menuconfig", "make xconfig", ... avec saufgarde du ficher .config) ca ne marche pas correctement! Ca compile peut-etre quelque chose sans message d'erreur mais pas forcement ce qui est prevu dans .config!! La commande "make oldconfig" (et les autres) cree de dependances cruciales pour la compilation.
Si on change beaucoup de choses (surtout apres l'application d'un patch) il est aussi recommande de faire "make mrproper" pour le nettoyage des sources (attention: ca efface aussi le .config !!).
Tu peux ajouter "make mrproper" ci-dessus apres le "cd ..." et avant le "cp ....".
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
19 févr. 2005 à 19:29
Oui pas de soucis.
J'ai fait tellement de tests que j'ai fini par me faire petit script bash pour chaque compilation:
rm -f /boot/vmlinuz-2.6.10
rm -fr /lib/modules/2.6.10

make clean   # Je me disais bien que mrpoper enlevait le .config, donc j'ai gardé clean
make bzImage
make modules
make modules_install

cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.6.10


Puis je relance grub...
Non vraiment pas de soucis d'ailleurs les messages au démarrage changent selon ma config, et à chaque fois que je change la config je fais toujours make menuconfig puis je sauve à la fin.

J'ai aussi modifié mon fstab pour rajouter sysfs, devfs, devpts...
Ca n'a rien changé mais je suis prêt à parier que mon problème ne vient pas du noyau mais plutôt d'un truc à configurer quelque part et qui change d'un système configuré pour le 2.4 quand on le passe vers un 2.6.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
19 févr. 2005 à 19:38
Au fait mon problème n'a rien à voir avec les modules ide. Ce sont les modules contenus dans /etc/modules pour le 2.4.

Le problème c'est au niveau des /dev/hdax qui n'apparaissent pas....
0