![从 DHCP 更改为静态但无法解析名称](https://linux22.com/image/730649/%E4%BB%8E%20DHCP%20%E6%9B%B4%E6%94%B9%E4%B8%BA%E9%9D%99%E6%80%81%E4%BD%86%E6%97%A0%E6%B3%95%E8%A7%A3%E6%9E%90%E5%90%8D%E7%A7%B0%20.png)
我刚刚在带有 NAT 的 VirtualBox 上安装了 Debian 9.6 amd64。我必须将网络设置从 DHCP 更改为静态,并使用 /30 的网络掩码,因为这是我的任务。因此,我按照几篇文章将我的 /etc/network/interface 更改为如下形式:
allow-hotplug enp0s3
iface enp0s3 inet static
address 10.0.0.41
netmask 255.255.255.252 // Because I have to a set a netmask of /30
gateway 10.0.0.0
broadcast 10.0.0.43
gateway 10.0.0.1
dns-nameserver 10.0.0.1 8.8.8.8
dns-domain acme.com
dns-search acme.com
但重新启动网络服务后,我仍然遇到名称解析暂时失败的情况,并且无法获取任何要安装的内容。
EDIT1:我重置了所有内容以在仍使用 DHCP 时查看我的原始 IP 和接口,结果ip a
如下:
1: lo:
inet 127.0.0.1/8 scope host lo
2: enp0s3:
inet 10.0.2.15/24 brd 10.0.2.255 scope global enp0s3
答案1
如果您必须使用网络掩码 255.255.255.252 (a /30),则子网中只有两个有效 IP 地址。其中一个将分配给您的服务器 (10.0.0.41),另一个必须是路由器,即您的默认网关。因此,您应该输入以下配置:
gateway 10.0.0.42
话虽如此,你正在 Virtualbox 上运行它。Virtualbox 通常使用内部 /24 网络。你认为你为什么必须使用 /30?
由于您在 VirtualBox 机器上使用 NAT,因此虚拟机连接到内部网络(参见上一条评论),而 VirtualBox 是 DHCP 服务器。也许您的物理机器需要网络管理员提供静态 IP 地址,但在本地 VirtualBox 网络上的本地机器上,您可以做任何您想做的事情。
听起来你对网络的理解并不那么深刻(无意冒犯)。也许有关你的设置和要求的更多信息可以让我们更好地帮助你。
编辑:
由于您坚持使用 /30 网络,因此您应该在 VirtualBox 中创建一个。否则 VirtualBox 将假定使用 /24 网络,并且它将提供一个默认网关,该网关的 IP 地址无法供您的虚拟机访问。有关详细信息,请查看虚拟网络文档。
VBoxManage natnetwork add --netname exercise1 --network "10.0.0.40/30" --enable
VBoxManage natnetwork start --netname exercise1
要为服务添加端口转发,请使用以下命令:
VBoxManage natnetwork modify --netname exercise1 \
--port-forward-4 "ssh:tcp:[]:2222:[10.0.0.42]:22"
最后,您必须修改虚拟机的设置并将其连接到这个新创建的名为“exercise1”的网络。在虚拟机内部,您必须更新接口配置和/etc/resolv.conf。