Aller au contenu


Skami 18

Inscrit(e) (le) 05 avril 2010
Déconnecté Dernière activité avril 25 2010 06:37
-----

#15492 Problème de configuration IP pour mon premier ROBOT "wibot"

Posté par Skami 18 - 15 avril 2010 - 12:06

j’arrive pas a comprendre pour koi la configuration d’ip static ma causer des problème ??


En fait c'est très simple: pour communiquer sur un réseau, il faut avoir une IP, et l'IP de la machine à qui on veut "parler".

Quand ta FoxBoard se connecte comme je t'ai montré, avec DHCP, son objectif est d'abord de "parler" au responsable du réseau (ta ton routeur ou ta trucBox) pour lui demander quelle IP prendre.

Le seul problème, c'est qu'elle ne connait pas l'IP du routeur, elle vas donc "demander" à la cantonnade en faisant du DHCP broadcasting: elle vas envoyer des requêtes DHCPDISCOVER sur l'IP 255.255.255.255 du réseau pour que quelqu'un lui réponde:

«-He, y'a quelqu'un?!»


À ce moment là, le routeur (ou la BOX), vas s'aperçevoir que quelqu'un "sonne à la porte" et vas répondre par une requête DHCPOFFER:

«-Wé, y'à moi! je suis là!»



Ta FoxBoard vas donc s'addresser à ce nouveau protagoniste avec une requête DHCPREQUEST:

«-Salut machin! Bon, je prends quoi comme IP, par ce que je travaille moi!»



Le routeur ou la Box vas alors "regarder" quelles IP son libres et en prendre une pour la nouvelle venue, qu'il vas lui communiquer avec une requête DHCPACK:

«-Silence l'artiste: prends cette IP et cause correct au parton!»


Et c'est ainsi qu'ils se connectèrent et routèrent beaucoup de paquet TCP/IP x-D



Le problème, c'est si ta FoxBoard veut une IP statique, et qu'elle n'écoute pas le routeur (ou la Box):

Ça vas ressembler à ça:

«-He! Toi, là bas, prends cette IP!
-Non, je veux l'IP 192.168.1.58 !!»


Et donc, ils ne se connecterons jamais...




Sinon, pour le fichier "/etc/network/interfaces", c'est celui qui paramètre les interfaces réseau sous GNU/Linux:

Une interface réseau est quelquechose qui permet de se connecter à un réseau, traditionnellement, elles sont nommées comme ça:
eth0 : Interface Ethernet (câble RJ45) n°1
eth1 : Interface Ethernet n°2

wlan0, wlan1, wlan2, etc... : Interfaces Wifi sans fil (WireLess)

ppp0, ppp1, etc... : Interfaces Point-to-Point Protocol (PPP)

lo : Interface virtuelle LOopback, elle sert à l'ordinateur à se connecter à lui même, elle fonctionne toujours, indépendament de la carte réseau et elle peu paraître inutile, mais elles sert enfait à certains DAEMONS (Disk And Exectution MONitor) à communiquer avec leurs clients (il me semble que CUPSD, le DAEMON d'impression l'utiluse, mais je ne suis pas sûr...)
Cette liste n'est pas exhaustive et les noms des interfaces peuvent varier :-)

Le fichier sert donc à indiquer quelles interfaces on veut utiliser et comment: voilà un exemple venu de mon ordi:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo #interface LoopBack
iface lo inet loopback #cette interface est utilisée comme LOopBack


# The primary network interface
allow-hotplug eth0 #interface du câble RJ45, supportant le hotplug (le support du hotplug nécéssite un kernel récent et un DAEMON pour gérer ça je crois)
iface eth0 inet dhcp #elle est paramétrée par DHCP

Commandes utiles:

iwconfig Affiche l'état de chaque interface sans fil
iwconfig <interface> Affiche l'état de l'interface "<interface>"
Example:
skami@skami-laptop:~$ sudo iwconfig wlan0 
  wlan0     IEEE 802.11bg  ESSID:""  
            Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   
            Tx-Power=27 dBm   
            Retry min limit:7   RTS thr:off   Fragment thr:off
            Encryption key:off
            Power Management:off
            Link Quality:0  Signal level:0  Noise level:0
            Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
            Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ifconfig Affiche l'état de chaque interface filiaire
ifconfig <interface> Affiche l'état de l'interface "<interface>"
ifconfig <interface> up Démarre l'interface <interface>
ifconfig <interface> down Stoppe l'interface <interface>
Exemple:
skami@skami-laptop:~$ ping www.google.com
  PING www.l.google.com (209.85.229.99) 56(84) bytes of data.
  64 bytes from ww-in-f99.1e100.net (209.85.229.99): icmp_seq=1 ttl=55 time=47.2 ms
  64 bytes from ww-in-f99.1e100.net (209.85.229.99): icmp_seq=2 ttl=55 time=47.8 ms
  ^C
  --- www.l.google.com ping statistics ---
  2 packets transmitted, 2 received, 0% packet loss, time 1001ms
  rtt min/avg/max/mdev = 47.246/47.537/47.828/0.291 ms
  skami@skami-laptop:~$ ifconfig eth0 down
  skami@skami-laptop:~$ ping www.google.com
  ping: unknown host www.google.com

dhclient <interface> Configure l'interface <interface> par DHCP en affichant les requêtes:
Exemple:
skami@skami-laptop:~$ ifconfig eth0 up
  skami@skami-laptop:~$ ping www.google.com
  connect: Network is unreachable
  skami@skami-laptop:~$ sudo dhclient eth0
  There is already a pid file /var/run/dhclient.pid with pid 3481
  killed old client process, removed PID file
  Internet Systems Consortium DHCP Client V3.1.1
  Copyright 2004-2008 Internet Systems Consortium.
  All rights reserved.
  For info, please visit http://www.isc.org/sw/dhcp/

  Listening on LPF/eth0/00:1b:38:53:e4:61
  Sending on   LPF/eth0/00:1b:38:53:e4:61
  Sending on   Socket/fallback
  DHCPREQUEST on eth0 to 255.255.255.255 port 67
  DHCPACK from 192.168.1.1
  bound to 192.168.1.20 -- renewal in 32996 seconds.
  skami@skami-laptop:~$ ping www.google.com
  PING www.l.google.com (209.85.229.147) 56(84) bytes of data.
  64 bytes from ww-in-f147.1e100.net (209.85.229.147): icmp_seq=1 ttl=51 time=48.0 ms
  64 bytes from ww-in-f147.1e100.net (209.85.229.147): icmp_seq=2 ttl=51 time=48.6 ms
  ^C
  --- www.l.google.com ping statistics ---
  2 packets transmitted, 2 received, 0% packet loss, time 1001ms
  rtt min/avg/max/mdev = 48.053/48.328/48.603/0.275 ms

Donc, si tu veux te reconnecter sur eth0, tu fais
ifconfig eth0 down
À ce moment là la connetcion RJ45 n'est plus utilisée, je te déconseille donc d'essayer si tu t'en sert pour utiliser le shell car tu en serait ejecté :-)

ifconfig eth0 up
Là, ça te reconnecte au réseau, mais tu n'as pas d'adresse IP ni de serveur DNS, donc...

dhclient eth0
Là ça devrait être bon :-)

Liens
Introduction au réseaux TCP/IP, sur SoH, un très bon site
Fonctionnement de DHCP, sur linux-france
Configurer une interfaces - linux-france
Utiliser le réseau - SiteduZer0
RTFM - SiteduZer0

Voilà, bonne lecture :-)


#15276 Problème de configuration IP pour mon premier ROBOT "wibot"

Posté par Skami 18 - 05 avril 2010 - 01:51

Salut!

C'est normal que ton DHCP ne marche pas.

En gros, DHCP, c'est ton appareil qui demande à ton routeur ou ta machinBOX quelle adresse il peut prendre.
Donc, il faut que tu règle le DHCP de ton robot pour qu'il fasse ce que lui dit ton routeur ou ta trucBOX, et que tu règles ton routeur ou ta biduleBOX pour qu'il donne toujours la même IP au routeur:

Tu remplaces ça:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.1.20
  netmask 255.255.255.0
  gateway 

#auto eth0
#iface eth0 inet dhcp

Par ça:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

De cette façon, ton robot demandera sagement au routeur ou à la choseBOX quelle adresse IP il doit prendre, et ils se connecterons.

Ensuite, de ton PC, tu peux déjà détecter l'addresse IP que ton robot a obtenue à l'aide d'un logiciel comme NMap ou un script, et tu fais ce que veux (connexion ssh, telnet,etc...) ^_^

Ensuite si ton routeur ou ta pouêtBOX sont assez sophistiqué, tu peux les configurer pour qu'ils donnent toujours la même addresse IP au robot (par example 192.168.1.21) ou, mieux, qu'ils donnent un nom de domaine à ton robot (par example robot-wifi).

De cette façon, tu pourras interagir avec ton robot comme ça:
ping 192.168.1.21
ou
ping robot-wifi

Amuse-toi bien ^_^