我如何强制我的机器从路由器获取 IP 地址?

我如何强制我的机器从路由器获取 IP 地址?

我安装了 Ubuntu 服务器,并设置了路由器,每次机器开机时都分配相同的 IP 地址 (192.168.0.10)。最近,我全新安装了 Ubuntu 服务器,现在我的机器无法连接到互联网。我认为这是因为我在安装过程中错误地为其设置了静态 IP 地址。如何配置 Ubuntu 以始终向路由器请求 IP 地址?

在研究这个问题时,我似乎需要配置我的机器以使用 DHCP。我的/etc/networking/interfaces文件有以下内容:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static # This is why I think it's setup as a static IP
  address 192.168.0.10
  netmask 255.255.255.0
  network 192.168.0.0
  broadcast 192.168.0.255
  gateway 192.168.0.1
  # I'm pretty sure I typed these in during setup; they have nothing to do with a DNS
  dns-nameservers 192.168.0.1
  dns-search ironjack.spacetechnology.net

我尝试将其更改staticdhcp并重新启动网络脚本(例如这个问题建议),但没有效果。

答案1

  1. 确保所有dhclient进程都被终止:

    sudo killall dhclient
    

    请参见下文,了解为什么我认为您的系统在这种情况下需要此功能。

  2. interfaces暂时不要管这个文件。

  3. 关闭接口。

    sudo ifdown eth0
    
  4. 将文件重新配置interfaces如下:

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp
    
  5. 再次打开界面:

    sudo ifup eth0
    

完毕。

“服务networking”似乎是一种过时的网络重新配置方式。更改接口配置时,重要的是不要更改上述操作的顺序。可能发生的问题之一是,在启动接口时dhclient启动了一个进程dhcp,但是当您将配置更改为static或其他内容时,该进程将永远不会被关闭!结果是您的接口配置由裂脑管理。因此,请:ifdown,编辑,ifup

相关内容