La Fibre
Télécom => Logiciels et systèmes d'exploitation => Linux => Discussion démarrée par: vivien le 19 juillet 2016 à 15:33:52
-
Où sont les informations de la dernière requête DHCP ?
Dans un fichier !
Voici la commande sous Ubuntu (avec NetworkManager) pour trouver le fichier en question avec le bail DHCP en cours de validité :
ps auxww | grep -- "-lf .*\.lease" | grep -v grep | grep -v sed | sed 's{^.*-lf \(.*\.lease\).*{\1{'
Exemple :
$ ps auxww | grep -- "-lf .*\.lease" | grep -v grep | grep -v sed | sed 's{^.*-lf \(.*\.lease\).*{\1{'
/var/lib/NetworkManager/dhclient-90a20f09-4866-4250-b232-5877503831fd-enp3s0.lease
Voici le contenu du fichier (PC connecté en Ethernet à une Livebox FTTH v3 d'Orange)
$ cat /var/lib/NetworkManager/dhclient-90a20f09-4866-4250-b232-5877503831fd-enp3s0.lease
lease {
interface "enp3s0";
fixed-address 192.168.1.14;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option dhcp-lease-time 86400;
option dhcp-message-type 5;
option domain-name-servers 192.168.1.1;
option dhcp-server-identifier 192.168.1.1;
option dhcp-renewal-time 43200;
option broadcast-address 192.168.1.255;
option dhcp-rebinding-time 75600;
option domain-name "home";
option vendor.unknown-3561 4:6:46:30:38:32:36:31:5:f:4e:51:31:34:31:39:34:30:34:34:30:30:38:31:30:6:9:4c:69:76:65:62:6f:78:20:33;
renew 2 2016/07/19 21:43:22;
rebind 3 2016/07/20 09:42:53;
expire 3 2016/07/20 12:42:53;
}
Un ifconfig sur ma machine :
$ ifconfig
enp3s0 Link encap:Ethernet HWaddr c0:3f:d5:64:e8:d6
inet adr:192.168.1.14 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: 2a01:cb08:756:c700:6965:772:3c71:440d/64 Scope:Global
adr inet6: fe80::9e5a:6b52:c91e:345a/64 Scope:Lien
adr inet6: 2a01:cb08:756:c700:da05:9f83:8b2a:6209/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:9236 erreurs:0 :0 overruns:0 frame:0
TX packets:7805 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:4317275 (4.3 MB) Octets transmis:4735521 (4.7 MB)
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:65536 Metric:1
Packets reçus:11068 erreurs:0 :0 overruns:0 frame:0
TX packets:11068 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1
Octets reçus:4676683 (4.6 MB) Octets transmis:4676683 (4.6 MB)
wlp2s0 Link encap:Ethernet HWaddr ac:7b:a1:94:a0:6b
UP BROADCAST MULTICAST MTU:1500 Metric:1
Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
-
Je ne sais pas si c'est parce que je n'utilise pas network manager mais moi j'ai ça dans
/var/lib/dhcp/dhclient.leases
kcdtv@ramonperez:/var/lib/dhcp$ cat dhclient.leases
lease {
interface "wlan0";
fixed-address 192.168.1.43;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option dhcp-lease-time 86400;
option dhcp-message-type 5;
option domain-name-servers 192.168.1.1;
option dhcp-server-identifier 192.168.1.1;
option dhcp-renewal-time 43200;
option broadcast-address 192.168.1.255;
option dhcp-rebinding-time 75600;
renew 2 2016/07/19 17:59:39;
rebind 2 2016/07/19 17:59:39;
expire 2 2016/07/19 17:59:39;
}
lease {
interface "eth0";
fixed-address 192.168.26.101;
option subnet-mask 255.255.255.0;
option routers 192.168.26.1;
option dhcp-lease-time 28800;
option dhcp-message-type 5;
option domain-name-servers 192.168.1.1;
option dhcp-server-identifier 192.168.26.1;
option dhcp-renewal-time 14400;
option dhcp-rebinding-time 25200;
option domain-name "ramonperez";
renew 2 2016/07/19 17:59:38;
rebind 2 2016/07/19 17:59:38;
expire 2 2016/07/19 17:59:38;
}
lease {
interface "wlan1";
fixed-address 192.168.1.72;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option dhcp-lease-time 86400;
option dhcp-message-type 5;
option domain-name-servers 192.168.1.1;
option dhcp-server-identifier 192.168.1.1;
option dhcp-renewal-time 43200;
option broadcast-address 192.168.1.255;
option dhcp-rebinding-time 75600;
renew 6 2016/07/16 23:01:05;
rebind 0 2016/07/17 09:20:04;
expire 0 2016/07/17 12:20:04;
}
lease {
interface "wlan0";
fixed-address 192.168.1.43;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option dhcp-lease-time 86400;
option dhcp-message-type 5;
option domain-name-servers 192.168.1.1;
option dhcp-server-identifier 192.168.1.1;
option dhcp-renewal-time 43200;
option broadcast-address 192.168.1.255;
option dhcp-rebinding-time 75600;
renew 3 2016/07/20 03:10:44;
rebind 3 2016/07/20 14:59:43;
expire 3 2016/07/20 17:59:43;
}
Dans ce cas c'est pas seulement le dernier en cours mais le dernier (en cours ou pas) sur chaque interface
Par curiosité; tu as aussi ce fichier ou c'est tout dans le dossier networkmanager?
-
Le fichier /var/lib/dhcp/dhclient.leases existe chez moi, mais il est vide (Ubuntu 16.04 avec NetworkManager).
Voici un exemple avec un PC portable, dont le nom est "vivien5", connecté en WiFi avec une Bbox ADSL :
$ ps auxww | grep -- "-lf .*\.lease" | grep -v grep | grep -v sed | sed 's{^.*-lf \(.*\.lease\).*{\1{'
/var/lib/NetworkManager/dhclient-5023463e-1415-4f67-997a-54518e51a2bf-wlp2s0.lease
On a plus que le bail DHCP en cours de validité :
$ cat /var/lib/NetworkManager/dhclient-5023463e-1415-4f67-997a-54518e51a2bf-wlp2s0.lease
lease {
interface "wlp2s0";
fixed-address 192.168.1.43;
option subnet-mask 255.255.255.0;
option dhcp-lease-time 86400;
option routers 192.168.1.254;
option dhcp-message-type 5;
option dhcp-server-identifier 192.168.1.254;
option domain-name-servers 192.168.1.254;
option interface-mtu 1500;
option dhcp-renewal-time 43200;
option dhcp-rebinding-time 75600;
option broadcast-address 192.168.1.255;
option host-name "vivien5-001";
option domain-name "lan";
renew 3 2016/07/20 07:47:12;
rebind 3 2016/07/20 17:50:16;
expire 3 2016/07/20 20:50:16;
}
lease {
interface "wlp2s0";
fixed-address 192.168.1.43;
option subnet-mask 255.255.255.0;
option routers 192.168.1.254;
option dhcp-lease-time 86400;
option dhcp-message-type 5;
option domain-name-servers 192.168.1.254;
option dhcp-server-identifier 192.168.1.254;
option interface-mtu 1500;
option dhcp-renewal-time 43200;
option broadcast-address 192.168.1.255;
option dhcp-rebinding-time 75600;
option host-name "vivien5-001";
option domain-name "lan";
renew 3 2016/07/20 13:37:48;
rebind 4 2016/07/21 01:01:27;
expire 4 2016/07/21 04:01:27;
}
-
nb: ca n'a rien de standard , c'est propre a chaque distrib
/var/lib/dhclient/dhclient.leases
c'est l'emplacement par défaut de dhclient ( 8 ) (http://linux.die.net/man/8/dhclient) mais on peut le changer avec une option (-lf) ce qui arrive souvent quand un 'network manager' par exemple prend le controle au dessus.
Comme toujours avec Linux, des qu'on sort du kernel y'a plus rien de standard, c'est propre a chaque distrib.
-
Comme toujours avec Linux, des qu'on sort du kernel y'a plus rien de standard, c'est propre a chaque distrib.
Heureusement, Lennart nous a pondu systemd-networkd, donc tout est uniforme maintenant. (http://forum-images.hardware.fr/images/perso/2/s@ms.gif)
-
@ Nh3xus
:D
Nice one! ;)
@ Vivien & kgersen
Merci pour ces précisions. ;)
-
Le fichier /var/lib/dhcp/dhclient.leases existe chez moi, mais il est vide (Ubuntu 16.04 avec NetworkManager).
Après investigation, le fichier /var/lib/dhcp/dhclient.leases n'existe que sur les machines où je me suis connecté en DHCP avec une config dans /etc/network/interfaces (en fait c'est quand je me connecte en FTTH directement en me faisant passer pour une Bbox : il faut faire du DHCP sur le VLAN 200 avec les options qui font croire que tu es une Bbox => NetworkManager ne sais pas encore faire)
Je ne suis pas sur qu'il y a de grosses différences entres distributions, il y a surtout 2 moyens de faire des requêtes DHCP : via l'interface graphique de NetworkManager ou via une config manuelle de /etc/network/interfaces qui appelle dhclient.
-
NM n'est qu'un wrapper qui pilote dhclient et/ou wpa_supplicant.
-
M'enfin!
C'est pas "NM" et c'est pas un "wrapper"...
Le groupe s’appelle "NTM" et on dit "rappeur".
Faut vraiment tout t’apprendre à toi c'est fatiguant ::) :D