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 / 问题 / 1085864
Accepted
Paul Stelian
Paul Stelian
Asked: 2021-12-10 12:17:37 +0800 CST2021-12-10 12:17:37 +0800 CST 2021-12-10 12:17:37 +0800 CST

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

  • 772

(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 1 个回答
  • 498 Views

1 个回答

  • Voted
  1. Best Answer
    Paul Stelian
    2021-12-12T17:26:26+08:002021-12-12T17:26:26+08:00

    原来我做的一些事情有点过于复杂,现在我已经设法自己回答了这个问题。

    首先,让我链接到对此目的最有帮助的外部资源:超级用户回答。

    我的配置反映了那篇文章中的配置:

    • 路由器:启用前缀委托。可能不需要做任何事情来改变默认值,但以防万一。
    • 安装包“wide-dhcpv6-client”。相应地对其进行配置以请求前缀委托,并为每个接口进行相应的配置。
    • 调整 dnsmasq 以提供 IPv6 地址——这允许路由器通告和 DHCP 正常工作。
    • 重新启动(由于某种原因 ifup/ifdown 没有正确调整,否则)。

    dhcp6c.conf 片段:

    interface wlp2s0 {
            send rapid-commit;
            send ia-na 0;
            send ia-pd 0;
    };
    
    id-assoc na 0 {
    };
    
    id-assoc pd 0 {
            prefix ::/60 infinity;
            prefix-interface vmbr0 {
                    sla-len 4;
                    sla-id 0;
                    ifid 1;
            };
    };
    

    dnsmasq.conf 片段:

    enable-ra
    dhcp-range=::1,constructor:vmbr0,ra-stateless,ra-names,4h
    
    • 1

相关问题

  • 主机重启时NUT从机掉电

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