首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有网桥的Proxmox中配置DHCPv6?

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

Server Fault用户
提问于 2021-12-09 20:17:37
回答 1查看 983关注 0票数 0

(交叉:网络栈交换)

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

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

对于IPv6连接,我考虑了几个选项:

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

这是我的建议。提前谢谢你。

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

  • 我获得IPv6前缀的委托,Proxmox服务器将得到一个/62
  • 在我启用了radvd的服务器上,它正确地向VM的内部LAN进行广告宣传。
  • VM,一个带有NetworkManager的Ubuntu20.04,正在获取路由器广告,甚至是自动配置默认路由。但是,它并不自动配置IPv6地址,这会导致在试图ping IPv6地址时出现“无法到达的目的地:超出源地址范围”的意外问题。如果我手动执行"ip a dev ens18 2001:db8:facb:9876:23:2918/62“,它就能工作(路由是2001:db8:facb:9874::/62加上默认路由)。

雷达转储输出:

代码语言:javascript
运行
复制
{
    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配置:

代码语言:javascript
运行
复制
interface vmbr0 {
  AdvSendAdvert on;
  MinRtrAdvInterval 30;
  MaxRtrAdvInterval 100;
  AdvSourceLLAddress on;
  prefix ::/64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
    Base6Interface vmbr0;
  };
  route ::/0 {
  };
};

(vmbr0的IPv6地址配置正确)

EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-12-12 01:26:26

原来我做的事情有些太复杂了,现在我已经为自己解答了这个问题。

首先,让我链接到外部资源,它对此最有帮助:一个超级用户的答案

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

  • 路由器:启用前缀委托。也许没有什么需要做的改变,从默认,但只是以防万一。
  • 安装包“Widedhcpv6-client”。相应地将其配置为请求前缀委托,并对每个接口进行相应的配置。
  • 调整dnsmasq给出IPv6地址--这允许路由器广告和DHCP正确工作。
  • 重新启动(由于某种原因,ifup/ifdown没有正确调整,否则)。

dhcp6c.conf片段:

代码语言:javascript
运行
复制
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片段:

代码语言:javascript
运行
复制
enable-ra
dhcp-range=::1,constructor:vmbr0,ra-stateless,ra-names,4h
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1085864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档