当前位置: 首页>>技术教程>>正文


如何确定Ubuntu是否正在使用DHCP(Ubuntu 12.04 LTS GUI)

, , ,

问题描述

如何确定我的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地址进来,那么您就不走运了。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11648.html,未经允许,请勿转载。