AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[dhclient](ubuntu)

Martin Hope
Jay Duff
Asked: 2020-12-10 08:20:54 +0800 CST

网络计划 dhcp 不工作。2 分钟启动延迟 Ubuntu 18.04+

  • 0

我已经看过很多这样的问题,没有明确和理想的答案,所以我自己问。

自从 Ubuntu 18.04.3(我认为是 0.3 启动它)到至少 20.04.1 以来,我一直看到启动延迟 2 分钟,等待网络启动。IPv6 未在我们的网络上配置,DHCP 服务器是基于 Windows 的,有 2 个复制服务器和 VLAN 上的 IP 助手——尽管我的 Ubuntu 服务器与 DHCP 服务器在同一个 VLAN 上(我所有的虚拟机都在同一个VLAN)。

netplan 往往会被忽略,因为 dhcp 坚持使用 GUID 作为标识符,即使 /etc/netplan/ 中的 interface.yaml 说要使用 MAC。此外,DHCP 甚至在启动后 10-15 分钟后才尝试获取地址,除非我将接口标记为可选。但是,调用 dhclient 可以立即完美地工作。

根据我的阅读,这种延迟似乎是 IPv6 寻址问题。所以,我在 grub 中禁用了 ipv6。我在 netplan yaml 文件中将接口标记为可选,并将 dhcp6 标记为 false,这解决了 2 分钟的启动延迟,但 dhcp 服务器返回了意外的 IP,因为来自 netplan 的 dhcp-identifier 行正在忽略。Ubuntu 不提供 MAC 地址,而是提供 GUID。

这是我的 01-netcfg.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens160:
      dhcp4: true
      dhcp6: false
      dhcp-identifier: mac
      optional: true
      link-local: [ ]

一旦我生成并应用网络计划,我就会断开连接,并得到错误的 IP 地址。如果我手动调用sudo dhclient -r; sudo dhclient,我会立即获得预期的 IPv4 地址。

因此,我能够使服务器立即获得正确地址的唯一方法是按照说明设置接口,然后在启动时运行脚本以手动运行dhclient.

这似乎是一种相当笨拙的做事方式,因为它似乎是在解决问题而不是解决问题。

有人可以告诉我发生了什么,更重要的是,如何解决它?

提前致谢!

使用新信息进行编辑:如果我让虚拟机坐下,它最终会在登录提示后大约 8.5 分钟获取一个 IP。我猜那是界面出现后的 10 分钟。

另外,我在另一个线程中读到了类似的问题,在网段上有多个 DHCP 服务器会导致另一个用户出现问题。我们在这个网段上确实有 2 个 Windows 2019 DHCP 服务器,用于进行负载平衡(作用域复制)。

EDITsudo netplan --debug generate输出以下内容:

** (generate:3137): DEBUG: 14:26:01.499: Processing input file /etc/netplan/00-installer-config.yaml
..
** (generate:3137): DEBUG: 14:26:01.501: starting new processing pass
** (generate:3137): DEBUG: 14:26:01.501: We have some netdefs, pass them through a final round of validation
** (generate:3137): DEBUG: 14:26:01.503: ens160: setting default backend to 1
** (generate:3137): DEBUG: 14:26:01.504: Configuration is valid
** (generate:3137): DEBUG: 14:26:01.505: Generating output files..
** (generate:3137): DEBUG: 14:26:01.505: openvswitch: definition ens160 is not for us(backend 1)
** (generate:3137): DEBUG: 14:26:01.506: NetworkManager: definition ens160 is not for us(backend 1)
(generate:3137): GLib-DEBUG: 14:26:01.507: posix_spawn avoided (fd close requested)
(generate:3137): GLib-DEBUG: 14:26:01.511: posix_spawn avoided (fd close requested)

这是输出sudo journalctl | grep ens160

Nov 08 08:45:30 graylog systemd-networkd[846]: ens160: DHCP lease lost
Nov 08 08:45:44 graylog kernel: vmxnet3 0000:03:00.0 ens160: renamed from eth0
Nov 08 08:45:52 graylog kernel: vmxnet3 0000:03:00.0 ens160: intr type 3, mode 0, 5 vectors allocated
Nov 08 08:45:52 graylog kernel: vmxnet3 0000:03:00.0 ens160: NIC Link is Up 10000 Mbps
Nov 08 08:45:52 graylog systemd-networkd[843]: ens160: Link UP
Nov 08 08:45:52 graylog systemd-networkd[843]: ens160: Gained carrier
Nov 08 08:45:53 graylog cloud-init[851]: ci-info: | ens160 | True |     .     |     .     |   .   | 00:50:56:96:c6:b7 |
Nov 08 08:45:53 graylog cloud-init[851]: ci-info: |   2   |  multicast  |    ::   |   ens160  |   U   |
Nov 08 08:54:29 graylog systemd-networkd[843]: ens160: DHCPv4 address 10.83.1.5/24 via 10.83.1.1
server startup dhclient dhcp netplan
  • 2 个回答
  • 1428 Views
Martin Hope
Walter
Asked: 2020-02-23 04:28:23 +0800 CST

主机名未从 DHCP 服务器设置

  • 1

我正在使用 netplan 通过 DHCP 配置我的有线接口:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: yes
      dhcp6: no

我卸载了 dhclient 并安装了 dhcpcd,即使在运行 netplan apply 之后,我也无法获取主机名(现在通过 dhcpcd -U eno1)。

如果我手动执行 dhcpcd eno1(在请求租约信息之前),我可以看到主机名。

networkd 是否支持使用 dhcpcd 作为 dhcp 租约的后端?我认为networkd必须使用其内部DHCP客户端?

我真正想要的只是获取主机名以进行审计。

dhclient dhcp systemd-networkd
  • 1 个回答
  • 1203 Views
Martin Hope
pnck
Asked: 2018-09-04 22:48:57 +0800 CST

DHCP Discover 以太网帧检查序列不正确

  • 0

我在 Ubuntu 18.04 LTS 上做了 apt dist-upgrade。之后我破坏了dhclient。我无法从我的 ISP DHCP 服务器获取 IP 地址。
但是 Ubuntu 从我的 dlink 路由器获取 IP。
静态配置无论如何都很完美。未来的调查向我提供了 dhclient 发送的 dhcpdiscover 包的校验和不正确的信息。
同样的问题出现在另一台具有 2 个不同 NIC 的 Ubuntu 18.04 PC 上。

有一个 Wireshark 文件,其中前 3 个包来自 liveCD,另一个来自安装在同一台 PC 上的 Ubuntu。

这是wireshark截图。

这是来自 Ubuntu-forums 的无线信息脚本的系统信息

这是 liveCD 上的 dhcpdump

这是安装的 Ubuntu 18.04 上的 dhcpdump 和更新

dhclient dhcp checksums ethernet 18.04
  • 1 个回答
  • 566 Views
Martin Hope
LassePoulsen
Asked: 2010-10-05 11:55:49 +0800 CST

为什么 dhclient 说:“SIOCSIFADDR:权限被拒绝”?

  • 9

我在 ubuntu-server (8.04) 上遇到了一个非常奇怪的错误,我不知道为什么 dhclient 不允许设置网络设置!我不是首先安装服务器的人,所以我对设置了解不多。该服务器仅用作防火墙/网关(自定义 iptables 脚本),它有三个网卡,一个用于 Internet,一个用于 LAN,一个用于 DMZ。现在 ISP 已将设置从静态 ip 更改为通过 dhcp 分配的“静态”ip,我无法真正使用它。

遗憾的是,我不能只静态设置 IP,因为 ISP 会在 dhcp 租约结束时关闭我的连接:o

这是我得到的错误:(然后它就挂在那里..)

root@fw:~# dhclient eth2
Internet Systems Consortium DHCP Client V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFFLAGS: Permission denied
Listening on LPF/eth2/00:50:52:c1:a1:32
Sending on   LPF/eth2/00:50:52:c1:a1:32
Sending on   Socket/fallback
DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 8
DHCPOFFER of 2.10.56.19 from 93.87.36.42
DHCPREQUEST of 2.10.56.19 on eth2 to 255.255.255.255 port 67
DHCPACK of 2.10.56.19 from 93.87.36.42
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFNETMASK: Permission denied
SIOCSIFBRDADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCADDRT: Operation not permitted

现在我已经通过killall dhclient; dhclient eth2每小时运行一次然后为接口设置静态 IP 设置来修复它,这足以保持连接正常!但在我看来,这是一个非常丑陋的黑客攻击..

networking server 8.04 dhclient dhcp
  • 5 个回答
  • 29513 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve