如何确定我的 IP 地址是 DHCP、固定还是动态?
我需要告诉网络管理员我的虚拟机正在使用的 IP 地址是什么。我知道这些数字,但我不知道它是否是固定的。
我已经尝试过:ifconfig
并且返回了我的IP地址。
答案1
右键单击 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 地址可能不同)
答案2
我使用的是 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。
答案3
关于旧帖子的迂腐注释: 的内容/etc/network/interfaces
将告诉您如何在启动时(或运行后)管理接口service networking restart
。这不是确定的。它不会告诉您在任何给定时刻如何分配给定接口。例如,给定一个DHCP
托管接口,我可以轻松地终止dhclient
并使用ifconfig
它来静态地将我想要的任何 IP 分配给接口(我可以在HCHP
托管范围内分配一个 IP 地址,只是为了引起更多混乱)。
也许另一个管理员这样做是为了测试某些东西并忘记清理。或者我可以dhclient eth0
在具有静态分配的接口上运行,现在DHCP
将管理该接口。或者另一个管理员可能犯了一个拼写错误,现在avahi
已经使用链接本地地址动态配置了接口。
当然,这些事情不会每天都会发生,但只有在开发条件下或在奇怪的情况下,我才会问自己,“这个界面到底是如何配置的?”在正常情况下,我从来不会问这个问题。
总的来说,我相信答案是“不,你不能确定”。据了解,内核没有维护记录。你能做的最好的事情就是grep
排除掉常见的嫌疑人/var/log/
。但是,如果有人手动分配静态 IP 地址,那么您就不走运了。
答案4
使用命令:
cat /etc/network/interfaces
它将向您显示所有接口以及其中哪个接口正在使用 dhcp。
无论 dhcp 是固定的还是动态的,您都必须检查您的虚拟机配置。如果您正在使用,
VM Ware
那么在编辑下您将获得虚拟网络属性。在那里,您将能够检查特定虚拟接口是否为特定计算机保留了 dhcp。如果您尚未检查它,那么我们可以假设您没有更改动态的默认配置。如果您愿意,您可以设置预订。VM Ware环境中NAT配置详情:点击。
如果是桥接连接:
如果您使用桥接网络,您的虚拟机需要在网络上拥有自己的标识。例如,在 TCP/IP 网络上,虚拟机需要自己的 IP 地址。您的网络管理员可以告诉您 IP 地址是否可用于您的虚拟机以及您应该在来宾操作系统中使用哪些网络设置。通常,您的客户操作系统可能会自动从 DHCP 服务器获取 IP 地址和其他网络详细信息,或者您可能需要在客户操作系统中手动设置 IP 地址和其他详细信息。
如果您使用桥接网络,则虚拟机是网络的完整参与者。它可以访问网络上的其他计算机,并且可以被网络上的其他计算机联系,就像它是网络上的物理计算机一样。
请注意,如果主机设置为引导多个操作系统,并且您在虚拟机中运行其中一个或多个操作系统,则需要为每个操作系统配置唯一的网络地址。启动多个操作系统的人通常会为所有系统分配相同的地址,因为他们假设一次只会运行一个操作系统。如果您在虚拟机中使用一个或多个操作系统,则这一假设不再成立。