通过设置静态路由和nat ip伪装规则,目前已经实现,大致拓扑图可见:
1
var1122 2023-11-27 09:48:10 +08:00
openwrt 把挂上的虚拟网卡设置为 lan 口,然后其它虚拟机都挂这个虚拟网卡,然后就可以让 openwrt 分配 IP 了;
好久没这么干了,之前这么做过 |
2
var1122 2023-11-27 09:52:56 +08:00
草,好像你想访问局域网的设备有点问题;;; G 了,这个我没实际落地过
|
3
njzy OP @var1122 wan 口为 vmbr0 新建一个 vmbr1 作为 lan 口,然后其他虚拟机把网络桥接端口改为 vmbr1?
|
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 组网 |
5
uion 2023-11-27 10:14:14 +08:00
https://github.com/xYx-c/build-openwrt
可以参考我这个,pve 启动负责拨号的 openwrt 还未启动,做个延迟定时任务主动获取 dhcp 服务的分配的 ip |
6
var1122 2023-11-27 10:50:25 +08:00
@njzy 这个方法就是 openwrt 做子路由了;同级路由下只能由一个 DHCP ,俩个就会冲突;可以试试配置 openwrt 做 NAT 转发,然后主路由挂 192.168.2.1/24 的静态路由。
|
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 防火墙,上级路由器配置静态路由。 缺点就是白白浪费两个网口。 |
8
totoro625 2023-11-27 22:00:21 +08:00
@afirefish #7 这样能实现什么,让 PVE 的 IP 变成 192.168.2.* 吗?,似乎没有任何作用,并不能使 192.168.1.* 访问下级 192.168.2.*
|
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 及网关内容,应用即可。 |
10
njzy OP @totoro625 尝试了,我的主路由是 routeros ,加上静态路由后感觉并没有生效,访问不了二级路由,二级路由倒是可以访问一级
|
12
xiaoxiang69460 364 天前
感觉 PVE 里的 2 个 Openwrt VM 可以合并为一个。VM 的 Openwrt 可以防火墙配置为无 NAT ,配合上级 RouterOS 设置静态路由达到 2 个网段互访,且内网没有 NAT ,仅需要配置 RouterOS NAT 192.168.0.0/16 到外网即可(因为没用过 RouterOS ,不太清楚是否需要额外设置,Openwrt 我目前在用,是不需要的)。
|
13
njzy OP @xiaoxiang69460 分两个原因我是希望 nas 虚拟机还有 emby 服务可以正常网络发现,不然都是 10.0.0.0/24 网段里,打开 infuse app 应该不会自动搜到这两个服务
|