问题描述
如何确定我的IP地址是DHCP,固定的还是动态的?
我需要告诉网络管理员我的虚拟机正在使用的IP地址是什么。我知道数字,但是我不知道它是否固定。
我尝试过:ifconfig
,它返回了我的IP地址。
最佳回答
右键单击Ubuntu顶部面板上的网络管理器图标,然后选择编辑。转到“有线网络”或“无线网络”选项卡,然后选择网络名称。单击编辑按钮,然后在新窗口中转到IPv4设置选项卡。如果该方法是自动(DHCP),则您使用的是dhcp。
其他方法是cat /var/log/syslog
,并检查如下所示的内容
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 10.100.1.254
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 10.100.1.254
如果您有类似上面的内容。您正在使用DHCP(IP地址可能不同)
次佳回答
我正在使用debian,但目录应该相同或相似。检查您是否具有目录/var/lib/dhcp
。然后:
ls -lrt /var/lib/dhcp/
您应该看到名为/var/lib/dhcp/dhclient
-random-numbers-
eth1.lease
的文件。查找与您感兴趣的接口关联的最新文件,然后将其打开:
cat /var/lib/dhcp/dhclient-...-eth1.lease
输出应该是这样的:
lease {
interface "eth1";
fixed-address 192.168.10.12;
rebind 4 2012/08/02 03:56:17;
expire 4 2012/08/02 04:41:17;
}
如果/var/lib/dhcp
目录不存在或为空,则很可能不会从DHCP获取IP。
第三种回答
在旧帖子上的花言巧语:/etc/network/interfaces
的内容将告诉您在启动时(或在运行service networking restart
之后)如何管理接口。这不是确定的。它不会告诉您在任何给定时刻如何分配给定接口。例如,给定一个DHCP
受管接口,我可以轻松地杀死dhclient
并使用ifconfig
静态地将我想要的任何IP分配给该接口(我可以在HCHP
受管范围内分配一个IP地址,以引起更多的混乱)。
也许另一个管理员这样做是为了测试某些东西而忘了清理。或者,我可以在具有静态分配的接口上运行dhclient eth0
,现在DHCP
将管理该接口。或另一个管理员可能输入了错误,现在avahi
已使用link-local地址动态配置了该接口。
当然,这些事情并非每天都会发生,只是在开发条件下或在我曾经问过自己“奇怪的情况下,“如何配置此接口?”的奇怪情况下?在正常情况下,我永远不会问自己这个问题。
通常,我相信答案是“不,您不确定。”据了解,内核不维护记录。最好的办法是通过/var/log/
中的常见嫌疑犯来grep
。但是,如果有人使用手动分配的静态IP地址进来,那么您就不走运了。