Nota : Contributeurs, les sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
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
/sbin/ip -4 addr
/sbin/ip -6 addr
curl ifconfig.me
curl -s http://checkipv6.dyndns.org | cut -c77-111
nécessite que curl soit installé, sinon lisez la suite.
et cherchez “Informations de connexions”.
Visitez un site comme par exemple http://www.mon-ip.com/ qui vous indiquera votre IP.
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).
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
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.0.202 . 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
.
/sbin/ip addr show dev eth0
Affiche les informations des interfaces actives comme dans cet exemple:
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
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!
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.
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.
Avec votre navigateur Internet, rendez vous sur un site comme http://www.mon-ip.com/ par exemple.
ip addr
peut être aussi écrit en forme abrégée :
ip a
L'option «-brief» (ou «-br» en abrégé) permet par ailleurs d'obtenir un retour beaucoup moins verbeux et donc plus facile à lire:
ip -br a
Créer des alias bash pour ne pas retaper les commandes. Exemple :
alias monippub='curl ifconfig.me'
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 "
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]\+$'
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 iproute
8)
apt-get install iproute
apt-get install curl
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.
iproute2
à partir de Jessie, et il faut lire « ip route » et non « I proute ».