如何在 Linux 中设置 DHCP?

如何在 Linux 中设置 DHCP?

我无法更改 Linux 机器的默认 IP 地址。我试过了

dhcpcd -k

我收到 dhcpcd:未找到命令

我尝试做了一个:

install dhcpcd

但我无法安装 dhcpcd,因为我目前没有互联网。我正在使用的设备以默认静态 IP 启动。

我也试过

dhclient eth1 -v

我获得了 Internet Systems Consortium DHCP Client 4.3.5 版权所有 2004-2016 Internet Systems Consortium。保留所有权利。如需了解详情,请访问https://www.isc.org/software/dhcp/

Listening on LPF/eth1/00:90:e8:00:f9:d7
Sending on   LPF/eth1/00:90:e8:00:f9:d7
Sending on   Socket/fallback
DHCPREQUEST of 10.13.2.109 on eth1 to 255.255.255.255 port 67
DHCPACK of 10.13.2.109 from 10.13.1.1
RTNETLINK answers: File exists
bound to 10.13.2.109 -- renewal in 42817 seconds.

我输入 {ifconfig}

我仍然得到:

    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 192.168.4.127  netmask 255.255.255.0  broadcast 192.168.4.255
    inet6 fe80::290:e8ff:fe00:f9d7  prefixlen 64  scopeid 0x20<link>
    ether 00:90:e8:00:f9:d7  txqueuelen 1000  (Ethernet)
    RX packets 134834  bytes 17025152 (16.2 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 2265  bytes 140834 (137.5 KiB)

如果没有互联网,如何安装 dhcp?

嘘...说到 Linux,我还是个新手。

顺便说一下,我使用的是 debian 9.0。

编辑

如果我输入 ip addr 我会得到

 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
  link/ether 00:90:e8:00:f9:d7 brd ff:ff:ff:ff:ff:ff
  inet 192.168.4.127/24 brd 192.168.4.255 scope global eth1
     valid_lft forever preferred_lft forever
  inet 10.13.2.109/22 brd 10.13.3.255 scope global eth1
     valid_lft forever preferred_lft forever
  inet6 fe80::290:e8ff:fe00:f9d7/64 scope link
     valid_lft forever preferred_lft forever

我看到它显示 inet 10.13.2.109。我猜让我困惑的是它还显示我的 inet 是 192.168.4.127。ELI5?

答案1

DHCP 包含服务器和一个客户

客户是为您的机器提供“默认” IP 地址的那个 - 基本上它会向子网广播“您好!我是新来的,有人能给我一个 IP 地址吗?”然后服务器回答“欢迎来到此子网,这是您的 IP 地址和其他路由信息”。该服务器通常在您的家庭路由器上运行。

所以你已经有了dh客户端,无需安装任何东西,运行它显示一切正常,它会10.13.2.109按照服务器的指示给你 IP 地址。

如果您现在使用 查看网络接口ip addr,您应该会看到具有该地址的网络接口eth1(您连接的接口)。

如果您真正的问题是“但我无法连接到互联网”,例如“我的网络浏览器不工作”,请编辑问题并说明您到底做了什么,什么不起作用,以及错误消息是什么。

编辑

(请不要用新信息编辑我的答案,而是编辑你的问题)。

如果你的问题是你不知何故得到了IP 地址,那么下一步就是找出事情的起因。查看系统日志(journalctl如果您使用的是 则使用systemd)或 ,看看dmesg是否有任何提示,例如 的两个日志条目dhclient

如果问题在于您还在某处配置了静态 IP 地址,请删除该静态 IP 地址。

您还可以尝试先使用 或 删除一个地址,然后再删除另一个地址,ip addr del 192.168.4.127/24 dev eth1看看是否可以通过这种方式获得有效的配置。您可以通过再次执行 或使用 来ip addr del 10.13.2.109/22 dev eth1重新添加 IP 地址。dhclientip addr add ...

在同一个网络接口上配置两个 IP 地址通常是一个错误,并且可以解释为什么您无法上网。

ping 8.8.8.8使用不需要名称解析(DNS)即可工作的东西进行测试。

相关内容