私のLANでは複数のDHCPサーバーが実行されており、それらはすべて同じ範囲にあります。
ここで、DHCPサーバーからの動的IPアドレスを持つマシンを使用します。どのサーバーから来たのか知る必要があります。
どうやってするか?!
IPを提供しているDHCPサーバーを見つけるには、単に Ctrl+Alt+T キーボードでターミナルを開きます。開いたら、以下のコマンドを実行します:
cat /var/lib/dhcp3/dhclient.leases
または、grepコマンドを使用してDHCPサーバーアドレスを取得することもできます。
grep dhcp-server-identifier /var/lib/dhcp3/dhclient.leases
OR
grep dhcp-server-identifier /var/lib/dhcp/dhclient.leases
Ubuntu 14.04、16.04、および17.10では、次を使用できます。
dhclient -d -nw eth0
サンプル出力:
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/00:0c:29:49:3e:67
Sending on LPF/eth0/00:0c:29:49:3e:67
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x4f723f9)
DHCPREQUEST of 192.168.138.136 on eth0 to 255.255.255.255 port 67 (xid=0x4f723f9)
DHCPOFFER of 192.168.138.136 from 192.168.138.254
DHCPACK of 192.168.138.136 from 192.168.138.254
RTNETLINK answers: File exists
bound to 192.168.138.136 -- renewal in 892 seconds.
Ubuntu 14.04では、/var/lib/dhcp/dhclient.leases
は空です。実際のリースファイルは、dhclient
を介してps
のコマンドラインにあります。 -lf
オプションを探します。このコマンドは、Ubuntu 14.04インストールで動作するはずです(17.10の時点でまだ有効):
cat $(ps aux | grep -o '[/]var/lib/NetworkManager/\S*.lease') | grep dhcp-server-identifier
Ubuntu 16.04では、試すことができます
journalctl | grep DHCPACK