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
    • 最新
    • 标签
主页 / server / 问题

问题[dhcpv6](server)

Martin Hope
Coops
Asked: 2022-04-02 14:46:22 +0800 CST

systemd-networkd 未启动 DHCPv6 客户端

  • 1

systemd-networkd 文档做出了这样的声明......

By enabling DHCPv6 support explicitly, the DHCPv6 client will
be started regardless of the presence of routers on the link

这是我正在寻找的行为 - 忽略任何可能出现或可能不出现的 RA,只启动 DHCPv6 客户端。

我没有看到任何证据表明 networkd 正在启动 dhcpv6 客户端,无论是从输出SYSTEMD_LOG_LEVEL=debug /lib/systemd/systemd-networkd还是来自tcpdump.

但是,如果我手动调用,我可以确认我的 DHCPv6 服务器正在工作dhclient。

root@client:~# dhclient -6 -v eth0
[...]
XMT: Solicit on eth0, interval 1070ms.
RCV: Advertise message on eth0 from fe80::baae:edff:fe77:7798.
[...]
XMT: Request on eth0, interval 910ms.
RCV: Reply message on eth0 from fe80::baae:edff:fe77:7798.
[...]
RCV:  | | X-- IAADDR fd11:7::175
RCV:  | | | X-- Preferred lifetime 7200.
RCV:  | | | X-- Max lifetime 7500.
RCV:  X-- Server ID: 00:01:00:01:29:d9:12:a2:02:42:0a:fe:fe:fe
message status code Success: "success"
PRC: Bound to lease 00:01:00:01:29:d9:12:a2:02:42:0a:fe:fe:fe.

配置systemd-network(由 netplan 生成)。

[Match]
MACAddress=xx:xx:xx:xx:xx:xx
Name=eth0

[Network]
DHCP=ipv6   <-- explicitly enabling dhcpv6
LinkLocalAddressing=ipv6
Address=192.168.0.1/24
IPv6AcceptRA=no

[Route]
Destination=0.0.0.0/0
Gateway=192.168.0.10

关于为什么 networkd 没有启动 DHCPv6 客户端的任何想法?

dhcpv6 systemd-networkd
  • 1 个回答
  • 232 Views
Martin Hope
carloslockward
Asked: 2022-03-16 17:43:00 +0800 CST

使用 ISC DHCP 和 RADVD 的简单有状态 DHCPv6。不工作?

  • 0

我正在尝试在 linux 机器上使用 ISC DHCPv6 设置一个简单的 ipv6 网络。

这是我的 dhcpd6.conf:

subnet6 beef:fade::/112 { 
   max-lease-time 3600;
   range6 beef:fade::100 beef:fade::fffe;
}

dhcpv6 服务器工作并将地址分配给指定范围内的连接主机,但是,连接的设备无法相互 ping 或 ping dhcpv6 服务器,因为它们使用 128 作为网络掩码。

上网查了一下,发现是因为没有RA。所以我下载并启动了 RADVD,启用了 ipv6 转发并且我的防火墙被禁用了。这是我的 radvd.conf:

interface enp1s0
{
    AdvSendAdvert on;
    MinRtrAdvInterval 3;
    MaxRtrAdvInterval 10;
    prefix beef:fade::/112
    {
        AdvOnLink on;
        AdvAutonomous off;
    };

};

但这导致 radvd 说:enp1s0 prefix length should be: 64. 但我不想要前缀长度 64。我希望能够在必要时将其设置为几乎任何长度。

我该怎么做呢?我唯一的要求是我必须使用 ISC DHCPv6 实现。

另外,假设我可以让它工作。当在 DHCPv6 服务器上启用防火墙时,我必须向我的防火墙添加哪些规则才能使其正常工作。

networking linux-networking isc-dhcp dhcpv6 radvd
  • 1 个回答
  • 403 Views
Martin Hope
Paul Stelian
Asked: 2021-12-10 12:17:37 +0800 CST

如何在没有网桥的 Proxmox 中配置 DHCPv6?

  • 0

(crosspost:网络堆栈交换)

我有一个通过 WiFi 连接的 Proxmox 设置。一切都适合我的需求和 IPv4 连接。

现在,我想看看是否可以进行一些 DHCPv6 设置,以便我的虚拟机也具有 IPv6 地址。我更喜欢没有 NAT 的设置,但这不是强制性的。

我正在考虑 IPv6 连接的几个选项:

  • 国庆节代理。这个感觉是最“透明”的,我会从与主机相同的网络获取一个公有的IPv6地址,也就是主abcd:abcd:abcd:FFFF::/64网络。
  • DHCPv6 网络。我的路由器有 DHCPv6,我可以让我的 Proxmox 实例请求一个网络用于其内部网桥(使用前缀委托)。我目前正在将 dnsmasq 用于虚拟机的 IPv4 地址,但我相信我可以用其他东西替换它。
  • NAT。我不想要这个选项,但我也不会完全拒绝它。我不能将 Proxmox 桥接器以桥接模式连接到我的 LAN(这会使事情变得容易得多)的原因是我无法引入有线连接,所以我必须使用 WiFi(幸好至少它是 5 GHz并且大部分时间不需要太多流量)并且WiFi客户端不支持网桥。

所以这是我的建议请求。先感谢您。

编辑:作为我的选择来前缀委托。还没有完全完成。现在解决问题:

  • 我获得了 IPv6 前缀的委托,Proxmox 服务器获得了 /62
  • 在我启用了 radvd 的服务器上,它正确地向 VM 的内部 LAN 广播
  • 虚拟机,一个带有 NetworkManager 的 Ubuntu 20.04,正在获取路由器广告,甚至自动配置默认路由。但是,它不会自动配置 IPv6 地址,这会导致在尝试 ping IPv6 地址时出现“无法访问的目标:超出源地址范围”的意外问题。如果我手动执行“ip aa dev ens18 2001:db8:facb:9876::23:2918/62”它可以工作(路由是 2001:db8:facb:9874::/62 加上默认路由)。

radvdump 输出:

{
    AdvSendAdvert on;
    # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
    AdvManagedFlag off;
    AdvOtherConfigFlag off;
    AdvReachableTime 0;
    AdvRetransTimer 0;
    AdvCurHopLimit 64;
    AdvDefaultLifetime 300;
    AdvHomeAgentFlag off;
    AdvDefaultPreference medium;
    AdvSourceLLAddress on;

    prefix fde1:d59a:7fa7:8::/62
    {
        AdvValidLifetime 86400;
        AdvPreferredLifetime 14400;
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
    }; # End of prefix definition


    prefix 2001:db8:facb:9874::/62
    {
        AdvValidLifetime 86400;
        AdvPreferredLifetime 14400;
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
    }; # End of prefix definition


    prefix fde1:d59a:7fa7:8::/62
    {
        AdvValidLifetime 86400;
        AdvPreferredLifetime 14400;
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
    }; # End of prefix definition


    prefix 2001:db8:facb:9874::/62
    {
        AdvValidLifetime 86400;
        AdvPreferredLifetime 14400;
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
    }; # End of prefix definition


    route ::/0
    {
        AdvRoutePreference medium;
        AdvRouteLifetime 300;
    }; # End of route definition

}; # End of interface definition

RADVD 配置:

interface vmbr0 {
  AdvSendAdvert on;
  MinRtrAdvInterval 30;
  MaxRtrAdvInterval 100;
  AdvSourceLLAddress on;
  prefix ::/64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
    Base6Interface vmbr0;
  };
  route ::/0 {
  };
};

(vmbr0 的 IPv6 地址已正确配置)

proxmox dhcpv6 ndp
  • 1 个回答
  • 498 Views
Martin Hope
tomi7654
Asked: 2021-07-29 00:49:44 +0800 CST

路由器上的默认 IPv6 配置是什么

  • -1

我刚刚开始学习 IPv6。我有一个运行 OpenWrt 的路由器,我想将它配置为使用 IPv6。据我所知,这个地址可以分配给有或没有 DHCPv6 服务器的客户端。你知道流行路由器的默认配置是什么吗?使用哪种方法?有状态、无状态或有状态+无状态?

router ipv6 dhcpv6 dhcp-server
  • 1 个回答
  • 102 Views
Martin Hope
SF.express
Asked: 2021-07-07 00:41:19 +0800 CST

如果不允许解释 DUID,DHCPv6 服务器如何为客户端分配固定的 IPv6 地址?

  • 3

根据RFC3315:

每个 DHCP 客户端和服务器都有一个 DUID。DHCP 服务器使用 DUID 来识别客户端以选择配置参数以及将 IA 与客户端关联。DHCP 客户端使用 DUID 在需要识别服务器的消息中识别服务器。

[...]

客户端和服务器必须将 DUID 视为不透明值,并且必须仅比较 DUID 是否相等。客户端和服务器不得以任何其他方式解释 DUID。

对于 IPv4,DHCP 服务器通常会根据例如 MAC 地址为客户端分配固定地址。那么对于 IPv6,DHCPv6 服务器如何分配固定的 IPv6 地址呢?

rfc ipv6 dhcpv6
  • 2 个回答
  • 980 Views
Martin Hope
user6758
Asked: 2020-12-02 06:22:17 +0800 CST

如何从 DHCPv6 服务器获取正确的前缀长度?

  • 4

我有两台装有 Ubuntu Server 20.04 的虚拟机。其中一台虚拟机是 DHCPv6 服务器,另一台是客户端。我可以在客户端上设置 IPv6 地址,但我无法 ping 到该地址或从该地址发出 ping。ip -6 route显示此地址,但前缀长度为 128。我希望前缀长度等于 64,与服务器 IP 地址相同。当我在从服务器获得但前缀长度等于 64 的客户端 IP 地址上添加到路由表时,我可以在我的虚拟机之间 ping。

这是我/etc/dhcp/dhcpd6.conf在服务器上的文件:

default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;
option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:3f3e;
option dhcp6.domain-search "test.example.com","example.com";
option dhcp6.info-refresh-time 21600;

authoritative:
subnet6 fdaa:a:a:a::/64 {
   range6 fdaa:a:a:a::100 fdaa:a:a:a::199;
}

最后三行是我添加的。

这是我/etc/netplan/00-installer-config.yaml在客户端的文件:

network:
   ethernets:
      ens3:
         dhcp4: false
         dhcp6: true
   version: 2

预先感谢您的任何帮助。

linux ubuntu ipv6 dhcpv6 qemu
  • 1 个回答
  • 2046 Views
Martin Hope
Max Ehrlich
Asked: 2020-04-13 17:00:58 +0800 CST

IPv4 到 IPv6 迁移建议

  • 20

我目前正在为我们的网络添加 IPv6 功能,我对 2020 年将我们习惯的一些 IPv4 概念转换为 IPv6 世界的最佳实践有一些疑问。

在我拥有的当前设置中,我们从 ISP 分配了一个 /64,路由器通告该前缀供客户端使用 SLAAC 配置自己。这似乎工作正常,据我所知,每个人都可以访问 IPv6 互联网。

但是,我们希望能够按名称查询事物,我不确定为客户提供 AAAA 记录的最佳做法是什么。

我所做的是在运行我们的 DHCPv4 的 dnsmasq 实例上部署有状态的 DHCPv6,并告诉它从某个范围内分发 ULA,这自然会为任何要求地址的人提供 AAAA 记录。这似乎也可以正常工作,但我知道有状态 DHCPv6 有一些不喜欢。这也有助于我整合静态 IP 上的服务器分配,就像我对 DHCPv4 所做的那样,出于各种原因,这些服务器应该可以通过固定 IP 地址访问,我们希望 IPv6 继续保持这种情况。

我能想到的做 AAAA 记录的唯一其他方法是通过单播从路由器向 dnsmasq 机器发送 RA 前缀,然后使用 dnsmasq 使用该ra-names选项为 slaac 通告 GUA 前缀。据我所知,这并不能解决静态地址分配问题,而且我不确定它实际上有多可靠。有没有比使用有状态 DHCPv6 的 ULA 更好的方法来处理内部 AAAA 记录?

最后,随着事情开始奏效,我们现在正在考虑将我们的公共服务迁移到 IPv6。我的理解是,这将需要一个固定的 GUA 供服务器提供公共 AAAA 记录。我不确定如何使用边缘路由器的 SLAAC 来实现这一点,除非有某种等效的动态 dns。我可以再次使用 DHCPv6 或其他手动分配方法在我们分配的前缀中选择 IP 吗?我犹豫要不要这样做,因为我认为它可能会与 SLAAC 地址发生冲突,而且我不确定如果发生冲突会发生什么。或者,我可以选择向 ISP 询问 /48,我是否应该这样做并为本地客户端宣传单个 /64 以获得连接,而为静态服务器宣传不同的 /64?这对我来说似乎有点矫枉过正,我们已经接近填充单个 /64 但这可能是我的 IPv4 心态让我感到困惑。

domain-name-system dhcp ipv6 dhcpv6
  • 3 个回答
  • 2562 Views
Martin Hope
goulashsoup
Asked: 2020-02-25 14:51:48 +0800 CST

DHCPv6 (RFC 8415) - 时间间隔 T1/T2 的合理初始值是多少?

  • 0

如第 18.2 节所述。- 客户端的客户端行为使用DHCP - RFC 8415请求消息来发现配置为分配租约的 DHCP 服务器或返回客户端连接到的链路上的其他配置参数。

作为 Solicit 消息的一部分,客户端使用 IA_NA ( Identity Association for Non-temporary Addresses)选项(参见第 21.4 节)来请求分配非临时地址(第 18.2.1 节)。

包括Identity Association for Non-temporary Addresses Option两个时间间隔:

  • T1 - 客户端应联系从其获取 IA_NA 中的地址以延长分配给 IA_NA 的地址的生命周期的服务器的时间间隔;T1 是以秒为单位表示的相对于当前时间的持续时间。包含无符号整数的 4 字节字段。

  • T2 - 客户端应该联系任何可用服务器以延长分配给 IA_NA 的地址的生命周期的时间间隔;T2 是以秒为单位表示的相对于当前时间的持续时间。包含无符号整数的 4 字节字段。

尽管我了解时间T1/T2代表什么,但我找不到有关默认值或设置合理初始值的算法的任何信息。第 14.2 节。描述了值可能为 0 的情况,但仅在接收到 IA_NA 选项时,而不是在初始请求消息中。


T11. 当客户端发送初始 Solicit 消息时/的值是否T2无关紧要(所以我假设将它们设置为 0 是可以的)?

2. 如果它们不是不相关的,那么T1/的合理初始值是T2多少?

dhcp rfc dhcpv6 protocol
  • 1 个回答
  • 147 Views
Martin Hope
Craig McQueen
Asked: 2019-02-03 21:48:27 +0800 CST

IPv6客户端如何找到NTP、SIP等服务器

  • 5

对于 IPv6,我知道客户端可能会使用 SLAAC 无状态地获得地址,或者使用 DHCPv6 有状态地获得地址(尽管我听说 Android 不支持通过 DHCPv6 分配地址)。

我的问题是,对于通过 SLAAC 配置其 IPv6 地址的客户端,网络将其他网络配置推送给他们的方式是什么?他们能否通过路由器广告获得这样的配置,或者网络是否还必须为客户端部署 DHCPv6 才能获得这些额外信息(但不能获得他们的 IPv6 地址)?例如:

  • DNS 服务器
    • 我听说RFC 6106 - DNS 配置的 IPv6 路由器广告选项旨在提供一种与 DNS 服务器通信的方式。在实践中,Windows、Linux、Android、iOS 客户端是否使用 RA 或 DHCPv6 来查找 IPv6 DNS 服务器?
  • NTP 服务器
    • 我通过 Router Advertisements 找到了一份 NTP 广告草案。但我猜这个草案没有被接受。那么客户端是否需要通过 DHCPv6 找到 NTP 服务器?
  • SIP服务器
    • 客户端是否需要使用 DHCPv6选项 21 或 22?是否有任何等效的路由器广告?
  • 供应商特定协议
    • DHCPv6 有选项 16和选项 17用于供应商特定信息,如果 DHCPv6 管理员已配置,客户端可以使用这些信息在网络上查找供应商特定服务器。是否有任何等效的路由器广告?

如果 DHCPv6 是获取此类服务器信息的唯一方法,那么配置客户端以通过 SLAAC 获取其地址,然后通过 DHCPv6 获取此额外配置是否合理直接?

dhcpv6
  • 1 个回答
  • 1017 Views
Martin Hope
Craig McQueen
Asked: 2019-01-30 19:05:01 +0800 CST

是否有与 DHCPv4 的私人使用选项等效的 DHCPv6?

  • 2

DHCPv4 允许使用“私人使用”选项将自定义信息提供给网络设备。DHCP 参数的IANA 注册表保留选项编号 224 到 254 供私人使用。

DHCPv6 是否具有等同于 DHCPv4 的专用选项?我在DHCPv6 参数的 IANA 注册表中看不到任何内容。

我找到了IPv6 的 DHCP 的站点特定选项草案,它提出了特定于站点的选项,但说它们不能用于特定于供应商的选项。

一种可能的使用场景是,我有兴趣制作一个可以自动获取自定义 IP 协议的服务器地址的网络设备。因此,DHCPv4 私有使用选项似乎是设备请求服务器地址并由 DHCP 服务器提供它的一种可能途径。

dhcpv6
  • 1 个回答
  • 413 Views

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve