Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

IP : Connaître son IP publique et locale

Nota : Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Introduction

L'IP , pour Internet Protocol est un numéro identifiant une interface réseau.

Chaque ordinateur étant connecté à un réseau possède donc au moins une adresse IP par interfaces configurée (Wifi, câble Ethernet, VPN, loopback…).

Il existe la version 4 de cette notation2), et une version 6 qui permet d'adresser bien plus de machines. Une interface peut être identifiable par l'une ou les deux notations. Exemple mon interface réseau local a (presque) ces deux adresses:

IPv4 :   192.168.0.202/24
Ipv6 :   2a01:e34:ee4c:700:0123:4567:89ab:cdef/64

En bref!

En console

  • IP de vos interfaces:
/sbin/ip -4 addr
/sbin/ip -6 addr
  • IP publique:
curl ifconfig.me

nécessite que curl soit installé, sinon lisez la suite.

En graphique

  • IP de vos interfaces:
    • GNOME : Cliquer sur l'icône réseau de votre bureau

et cherchez “Informations de connexions”. FIXME

  • IP publique:

Visitez un site comme par exemple http://www.mon-ip.com/ qui vous indiquera votre IP.

En détail

Plusieurs Interfaces ?

Une interface Ethernet sera souvent notée eth0 , ou 0 peut varier en fonction du nombres de cartes ethernet de votre machine. Une interface avec une connexion par modem-routeur ADSL par exemple sera probablement notée ppp0 (protocol point-à-point). Une inteface Wifi , wlan0. L'interface lo (dite loopback ou interface locale) ne nous concerne pas ici, mais elle dispose également de deux IP : 127.0.0.13) et ::14).

ifconfig : ancien outil

La commande ifconfig affiche les informations des interfaces réseau, dont la fameuse ip. Si vous êtes connecté en simple utilisateur, cette commande n'étant pas dans votre PATH (espace de travail) par défaut, il vous faut préciser son chemin complet dans la console : /sbin/ifconfig Sinon, si vous êtes root ou avez ajouté /sbin dans votre PATH, un simple ifconfig invoque la commande.

Au choix donc:

/sbin/ifconfig eth0

ou

ifconfig eth0
retour de la commande
  eth0    Link encap:Ethernet  HWaddr 08:00:27:49:9a:b9  
          inet adr:192.168.0.202  Bcast:192.168.1.255  Masque:255.255.255.0
          adr inet6: 5555:4444:3333:2222:1111:0000/64 Scope:Lien
          adr inet6: 2a01:e34:ee4c:700:0123:4567:89ab:cdef/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:212 errors:0 dropped:0 overruns:0 frame:0
          TX packets:149 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:23185 (22.6 KiB)  TX bytes:21504 (21.0 KiB)

Dans l'exemple eth0 dénote l'interface ETHernet numéro 0, la ligne inet adr correspond à son adresse ipv4: ici 192.168.1.23 . On remarque également les lignes adr inet6 indiquant elles l'ipv6 de l'interface5).

Cependant, ifconfig ne sait pas rendre compte de toutes les propriétés d'une interface. Pour cela, il nous faut utiliser ip.

ip : nouvel outil

/sbin/ip addr show dev eth0

Affiche les informations des interfaces actives comme dans cet exemple:

retour de la commande
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
      link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
      inet 192.168.0.202/24 brd 192.168.0.255 scope global br0
         valid_lft forever preferred_lft forever
      inet6 2a01:e34:ee4c:700:0123:4567:89ab:cdef/64 scope global mngtmpaddr dynamic 
         valid_lft 85978sec preferred_lft 85978sec
      inet6 5555:4444:3333:2222:1111:0000/64 scope link 
         valid_lft forever preferred_lft forever

IP locale et IP publique

Dans le cas ou votre interface est directement reliée à internet, cette ip suffit à vous identifier à travers le monde. Par contre si votre machine est dans un réseau local, reliée à un routeur qui lui est relié à internet; alors cette ip ne sera utilisée que dans votre réseau local pour communiquer avec le routeur ou les autres machines locales. Pour les machines d'internet, seule l'ip de votre routeur sera visible et utilisable. Ce dernier est en charge de faire le lien entre internet et votre machine ou pas. Le routeur possède (dans le cas d'un routeur fourni par vote FAI, comme les TrucBox) une interface reliée à internet et au moins une interface reliée au réseau local.

L'exemple typique étant, dans une maison possédant une box internet, plusieurs machines accèdent à internet en passant par cette dernière qui sert donc de routeur.

Lorsque qu'une machine locale va demander à voir un site internet par exemple, la demande passe d'abord par la box (le routeur), qui va la transmettre par son interface (côté internet). Cette interface communiquant avec internet possède donc une ip dite publique. La box sait ensuite renvoyer le contenu de la page web demandée à la machine l'ayant demandée (ici, il s'agit de routage nat avec masquerading, voir la documentation sur Comment transformer votre machine en routeur, qui n'existe peut-être pas encore sur le wiki).

Les différentes IP affectées aux interfaces de votre machine sont utilisées en locale. or les machines d'internet ne communiquent avec vous que via le routeur et son ip publique, qui à son tour achemine les communications réseau vers vos machines locales. De l'extérieur, les gens ne voient de vous que cette ip publique, qui indirectement est un peu la vôtre, mais aussi celle des autres machines de vôtre maison, ou réseau local!

Obtenir son adresse IP publique

Méthode standard

Vous pouvez aller sur l'interface d'administration de votre routeur pour qu'il vous indique l'IP qu'il utilise sur son interface publique.

Exemple avec la freebox, demandez l'adresse https://mafreebox.free.fr/ (avec une LiveBox, c'est plus souvent http://192.168.0.1 ou ) http://192.168.1.1dans votre navigateur Web pour accéder à la configuration de la box.

Méthode rapide

Lorsque vous vous connectez sur un site, il connaît votre IP. Et il s'agit de votre IP… publique bien sûr, donc celle que vous recherchez. Il est alors suffisant de trouver un site qui affiche votre IP pour la connaître.

Vous pouvez trouver de tels site en cherchant mon ip dans votre moteur de recherche favori.

Il est possible d'obtenir votre ip publique directement à partir d'une console:

curl http://ifconfig.me/

ou même en version abrégée:

curl ifconfig.me

le site appelé http://ifconfig.me/ spécialement configuré pour cela, se content de renvoyer l'ip depuis laquelle il reçoit la requête. Une simple demande de la page du site avec la commande curl suffit donc pour recevoir votre ip publique.

Nécessite curl installé, sinon lisez la partie “astuces” à ce sujet, ou la partie “installation”

Méthode je suis perdu

Avec votre navigateur Internet, rendez vous sur un site comme http://www.mon-ip.com/ par exemple.

Astuces

Abrégé

ip addr

peut être aussi écrit en forme abrégée :

ip a

Créer des alias bash pour ne pas retaper les commandes. Exemple :

alias monippub='curl ifconfig.me'

Filtrer l'affichage

Filtrer les informations pour n'afficher que l'ip avec ifconfig:

/sbin/ifconfig eth0 | grep "inet ad" | cut -f2 -d: | awk '{print $1}'

Alias pour l'ip de notre interface ethernet:

alias monippriv="/sbin/ifconfig eth0 | grep 'inet ad' | cut -f2 -d: |cut -d ' ' -f1 "

Requêtes

Récupérer l'ip à partir d'une page d'un site comme checkip.dyndns.org

wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

Pour utiliser le site http://ifconfig.me sans installer curl , on utilise wget qui est installé par défaut, en spécifiant une entête de type client curl:

wget -O - -q --user-agent "curl" ifconfig.me

Bonus pour le fun6), spéciales captnfab:

w3m -dump -header 'User-Agent: curl' ifconfig.me

ou7)

echo -e 'GET / HTTP/1.1\nHost: ifconfig.me\nUser-Agent: curl\n' | nc "$(host ifconfig.me | awk '{print $4}')" 80 -q 3 | grep '^[0-9]\+.[0-9]\+.[0-9]\+.[0-9]\+$'

Installation des outils ifconfig ou ip (normalement installés par défaut sur Debian)

La commande ifconfig est présente dans le paquet net-tools, qui est un paquet important. Ce paquet est donc probablement déjà installé sur votre système.

Dans le cas contraire, si vous avez une connexion internet configurée ou un cdrom d'installation configuré comme source de paquets:

apt-get install net-tools

Sinon, il vous faut aller télécharger le paquet .deb de net-tools correspondant à votre version de Debian sur internet via un autre ordinateur, puis l'installer avec la commande:

dpkg -i net-tools_blablabla.deb

(en remplaçant net-tools_blablabla.deb par le nom du fichier téléchargé)

De la même manière, l'outil IP est pré“sent dans le paquet iproute8)

apt-get install iproute

Installation de curl

apt-get install curl

curl est bien pratique, mais si vous ne voulez pas l'installer, utilisez les alternatives de la partie “astuces”

Remerciements

Plus d'infos dans le forum : http://debian-facile.org/viewtopic.php?id=5827

Merci à captnfab, IceF0x, smolski (présent dans tous les tuto lui :!), shutdown76 et m31z0nyx pour l'aide lors de la création de cette page.

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2) l'IPv4, ou IP
3) IPv4
4) IPv6
5) Il y a en fait deux IPv6, Lien est une IPv6 locale servant à discuter avec le routeur et Global est une IPv6 publique.
6) et pour ceux qui ont w3m d'installé
7) pour ceux qui ne savent vraiment pas quoi faire…
8) iproute2 à partir de Jessie, et il faut lire « ip route » et non « I proute ».
doc/reseau/ip-publique.txt · Dernière modification: 05/06/2015 18:00 par milou

Pied de page des forums

Propulsé par FluxBB