V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
njzy
V2EX  ›  NAS

请假下大家,如何在 pve 中利用 openwrt 接管所有虚拟机的 ip 分配

  •  
  •   njzy · 2023-11-27 09:40:41 +08:00 via iPhone · 2867 次点击
    这是一个创建于 369 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我局域网下已经有一个 dhcp 服务了 子网掩码为 255.255.0.0 分配地址段为 192.168.1.1-192.168.1.254

    pve vmbr0 的 ip 为 192.168.2.1 能做到开一台 openwrt 虚拟机接管所有虚拟机的 ip 分配吗 让它们分配到 192.168.2.*,同时不会跟我局域网中的 dhcp 发生冲突且可以互相访问
    第 1 条附言  ·  2023-11-29 13:16:23 +08:00

    通过设置静态路由和nat ip伪装规则,目前已经实现,大致拓扑图可见: network

    13 条回复    2023-11-29 13:48:00 +08:00
    var1122
        1
    var1122  
       2023-11-27 09:48:10 +08:00
    openwrt 把挂上的虚拟网卡设置为 lan 口,然后其它虚拟机都挂这个虚拟网卡,然后就可以让 openwrt 分配 IP 了;
    好久没这么干了,之前这么做过
    var1122
        2
    var1122  
       2023-11-27 09:52:56 +08:00
    草,好像你想访问局域网的设备有点问题;;; G 了,这个我没实际落地过
    njzy
        3
    njzy  
    OP
       2023-11-27 09:57:10 +08:00 via iPhone
    @var1122 wan 口为 vmbr0 新建一个 vmbr1 作为 lan 口,然后其他虚拟机把网络桥接端口改为 vmbr1?
    totoro625
        4
    totoro625  
       2023-11-27 10:10:25 +08:00
    @njzy 互相访问有点麻烦
    openwrt 下的虚拟机 192.168.2.* 能访问上级 192.168.1.*
    上级 192.168.1.* 访问下级 192.168.2.* 挺麻烦的,我是直接在 openwrt 上建立端口转发,顺手安装 Tailscale 组网
    uion
        5
    uion  
       2023-11-27 10:14:14 +08:00
    https://github.com/xYx-c/build-openwrt
    可以参考我这个,pve 启动负责拨号的 openwrt 还未启动,做个延迟定时任务主动获取 dhcp 服务的分配的 ip
    var1122
        6
    var1122  
       2023-11-27 10:50:25 +08:00
    @njzy 这个方法就是 openwrt 做子路由了;同级路由下只能由一个 DHCP ,俩个就会冲突;可以试试配置 openwrt 做 NAT 转发,然后主路由挂 192.168.2.1/24 的静态路由。
    afirefish
        7
    afirefish  
       2023-11-27 11:10:48 +08:00
    有多网口的话。比如说 A,B,C 三个网口。C 网口为 pve 的 vmbr0 。
    pve 创建虚拟机 openwrt ,直通网卡 A,B 。
    A 为 WAN ,接网关为 192.168.1.x 的路由器。openwrt 网关为 192.168.2.1 。
    B 为 LAN ,C 网口接 B 网口。
    然后关闭 openwrt 的 wan 防火墙,上级路由器配置静态路由。

    缺点就是白白浪费两个网口。
    totoro625
        8
    totoro625  
       2023-11-27 22:00:21 +08:00
    @afirefish #7 这样能实现什么,让 PVE 的 IP 变成 192.168.2.* 吗?,似乎没有任何作用,并不能使 192.168.1.* 访问下级 192.168.2.*
    totoro625
        9
    totoro625  
       2023-11-27 22:09:50 +08:00
    @afirefish #7 弄错了,上级路由器配置静态路由后就能访问下级了

    感觉单网口就能实现,创建一个虚拟网卡 vmbr1
    pve 创建虚拟机 openwrt ,添加 vmbr0 作为 wan ,vmbr1 作为 lan
    在 PVE 网络管理界面删除 vmbr0 的 CIDR 及网关内容,在 vmbr1 添加 openwrt 的 CIDR 及网关内容,应用即可。
    njzy
        10
    njzy  
    OP
       2023-11-28 14:22:12 +08:00
    @totoro625 尝试了,我的主路由是 routeros ,加上静态路由后感觉并没有生效,访问不了二级路由,二级路由倒是可以访问一级
    njzy
        11
    njzy  
    OP
       2023-11-29 13:18:14 +08:00   ❤️ 1
    @totoro625 搞定了,就是加静态路由和 nat ip 伪装规则,详细的拓扑图可见我上面更新的内容
    xiaoxiang69460
        12
    xiaoxiang69460  
       2023-11-29 13:34:35 +08:00
    感觉 PVE 里的 2 个 Openwrt VM 可以合并为一个。VM 的 Openwrt 可以防火墙配置为无 NAT ,配合上级 RouterOS 设置静态路由达到 2 个网段互访,且内网没有 NAT ,仅需要配置 RouterOS NAT 192.168.0.0/16 到外网即可(因为没用过 RouterOS ,不太清楚是否需要额外设置,Openwrt 我目前在用,是不需要的)。
    njzy
        13
    njzy  
    OP
       2023-11-29 13:48:00 +08:00
    @xiaoxiang69460 分两个原因我是希望 nas 虚拟机还有 emby 服务可以正常网络发现,不然都是 10.0.0.0/24 网段里,打开 infuse app 应该不会自动搜到这两个服务
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2615 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:35 · PVG 19:35 · LAX 03:35 · JFK 06:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.