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


20

如何确定我的IP地址是DHCP,固定的还是动态的?

我需要告诉网络管理员我的虚拟机正在使用的IP地址是什么。我知道数字,但是我不知道它是否固定。

我试过了:ifconfig那返回了我的IP地址。


网络管理员应从原始IP地址知道它是动态的还是静态的。(或者至少能够高度肯定地进行猜测。)DHCP应该始终使用专用的地址池,并且静态IP的计算机绝不能使用该地址池中的地址,否则会冒IP冲突的危险。如果您需要DHCP池中的静态地址,许多DHCP服务器都提供了一种基于DHCP客户端ID或MAC地址分配固定值的方法,但这仍然是DHCP。
沃伦·杨

谢谢@WarrenYoung,但是网络管理员提供了我使用过的所有IP地址的完整列表,因此不会发生任何冲突。
2012年

Answers:


19

右键单击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地址可能不同)


8

我正在使用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。


感谢您的回答,但是当我使用用户界面时,我已经对它进行了排序。但是再次感谢。
Kevdog777

3

在旧帖子上的书呆子注释:的内容/etc/network/interfaces将告诉您在启动时(或在运行后service networking restart)如何管理接口。这不是确定的。它不会告诉您在任何给定时刻如何分配给定接口。例如,给定一个受DHCP管接口,我可以轻松杀死dhclient并用于ifconfig将我想要的任何IP静态分配给接口(我可以在受HCHP管范围内分配IP地址,以免引起更多混乱)。

也许另一个管理员这样做是为了测试某些东西而忘了清理。或者我可以dhclient eth0在具有静态分配的接口上运行,现在DHCP将管理该接口。或者,另一个管理员可能已经打错了字,现在avahi已经使用本地链接地址动态配置了接口。

当然,这些事情并非每天都会发生,只是在开发条件或怪异的情况下,我曾经问过自己:“这个接口是如何配置的?” 在正常情况下,我永远不会问自己这个问题。

总的来说,我相信答案是“不,你不确定。” 据了解,内核不维护记录。您能做的最好的事情就是grep通过/var/log/。但是,如果有人使用手动分配的静态IP地址进来,那么您很不幸。


这是一个非常冗长的答案-最后一个段落只是该“答案”的真正部分。
Kevdog777

1

使用命令:

cat /etc/network/interfaces

它将显示所有接口,以及其中哪个接口正在使用dhcp。

dhcp是固定的还是动态的,必须检查虚拟机配置。如果您正在使用,VM Ware那么在编辑下您将获得虚拟网络属性。在那里,您将能够检查特定虚拟接口是否为特定计算机预留了dhcp。如果您尚未检查它,那么我们可以假设您没有更改动态的默认配置。您可以根据需要设置预订。

VM Ware环境中NAT配置的详细信息:单击

如果是桥接连接:

如果使用桥接网络,则虚拟机需要在网络上拥有自己的身份。例如,在TCP / IP网络上,虚拟机需要自己的IP地址。您的网络管理员可以告诉您虚拟机是否可以使用IP地址,以及来宾操作系统中应使用哪些网络设置。通常,来宾操作系统可能会从DHCP服务器自动获取IP地址和其他网络详细信息,或者您可能需要在来宾操作系统中手动设置IP地址和其他详细信息。

如果使用桥接网络,则虚拟机是网络的完全参与者。它可以访问网络上的其他计算机,并且可以被网络上的其他计算机联系,就像它是网络上的物理计算机一样。


请注意,如果将主机设置为引导多个操作系统,并且您在虚拟机中运行一个或多个操作系统,则需要为每个操作系统配置唯一的网络地址。引导多个操作系统的人通常会为所有系统分配相同的地址,因为他们假设一次只能运行一个操作系统。如果您在虚拟机中使用一个或多个操作系统,则该假设不再成立。


5
那可能在通常使用NetworkManager和不使用的Ubuntu上无效/etc/network/interfaces
scai 2012年

我使用的Backtrack是基于Ubuntu的。如果路径不同,则可能非常相似。
mnmnc

是的,不起作用,它说(使用和不使用sudo):auto lo iface lo inet loopback-除非它起作用了,但是我不明白那里只写了什么。
Kevdog777

2
它确实起作用。您没有eth0的IP地址。检查虚拟机配置,在创建虚拟机时选择了哪种网络。您可能选择了“仅主机”选项,但应使用“ NAT”。
mnmnc

3
/etc/network/interfaces是配置网络接口的“手动”方式。回溯是用于玩耍网络配置的发行版,因此毫不奇怪地偏向于手动方式。Ubuntu是一种发行版,旨在根据需要自动进行配置,并在必要时通过GUI进行自动配置,因此毫不奇怪,它偏爱Network Manager。
吉尔斯(Gilles)“所以,别再邪恶了”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.