大佬回答的太好了,采纳了,谢谢
S6850‑56HF‑G DRNI (M‑LAG) + 服务器对接 OSPF 问题梳理
先澄清概念:S6850 的 M‑LAG 在 H3C V7 叫 DRNI;DRNI 提供分布式双活网关,有两种网关实现:
DRNI 分布式网关(DRIP 虚拟 IP + 虚拟 MAC,两台设备 VLANIF 配置完全相同 IP/MAC)
VRRP 网关(传统主备,一台 Master,一台 Backup)
你的疑问:
① DRNI 分布式网关(同 IP 同虚拟 MAC)、VRRP,3 个地址是否可行?
② 跑 OSPF 是不是必须用 VRRP,不能用 DRNI 分布式网关?
一、两种网关核心对比
方式 A:DRNI 分布式网关(DRIP,双活,VLANIF 两边配置一模一样 IP + 虚拟 MAC)
两台 S6850‑56HF‑G:
shell
#设备A、设备B相同配置
interface Vlan‑interface 10
ip address 10.1.10.1 255.255.255.0
virtual‑mac 0000‑5e00‑0110
quit
两台交换机 Vlanif10 IP、virtual‑mac 完全一样。
二层 M‑LAG 把服务器双网卡分别接入两台 S6850,服务器双链路同时 up,真正双活。
⚠️重大限制:DRNI 分布式网关接口,不能直接在 Vlanif 上运行 OSPF!
原因:OSPF 依靠路由器 ID + 源 IP建立邻居;两台交换机同一个 IP,OSPF 协议层面冲突;DRNI 虚拟网关是二层双活网关,三层协议不能直接绑这个 Vlanif 做 OSPF 邻居。
OSPF 协议报文会从两台设备同时发出,同源 IP,对端 OSPF 邻居会报conflicting router id / duplicate ip address,邻居震荡、起不来。
方式 B:传统 VRRP 主备网关
A 为 Master,B 为 Backup,一个网关 IP,物理接口各有实 IP。
shell
#A
interface Vlan‑interface 10
ip address 10.1.10.2 24
vrrp vrid 10 virtual‑ip 10.1.10.1
vrrp vrid 10 priority 120
#B
interface Vlan‑interface 10
ip address 10.1.10.3 24
vrrp vrid 10 virtual‑ip 10.1.10.1
三个地址:
网关虚拟地址:10.1.10.1(服务器默认网关)
A 物理 Vlanif 实 IP:10.1.10.2
B 物理 Vlanif 实 IP:10.1.10.3
✅这就是你说的3 个地址方案,完全可行。
OSPF 用两台交换机各自 Vlanif 真实物理 IP(10.1.10.2、10.1.10.3)建立 OSPF 邻居;VRRP 虚拟 IP 仅作为服务器网关,不参与 OSPF 进程。
结论:
如果服务器要和交换机做 OSPF 邻居(服务器运行 OSPF,把交换机当 OSPF 邻居):不能直接使用 DRNI 分布式网关(同 IP 同 virtual‑mac)的 Vlanif 建立 OSPF,会协议异常。
不是必须 VRRP,但DRNI 分布式网关不能直接在业务 Vlanif 跑 OSPF,需要变通方案。
二、两种可行部署方案(服务器与 DRNI 双交换机跑 OSPF)
方案 1:业务 VLAN 用 VRRP 主备网关(最稳妥,现场最常用)
业务 VLANIF:每台交换机配置独立真实 IP,配置 VRRP 虚拟 IP 作为服务器网关(3 个地址)。
OSPF:交换机 A、B 分别以自己 Vlanif真实物理 IP,与服务器 OSPF 建立邻居。
服务器双网卡 M‑LAG 接入 DRNI 双交换机;服务器 OSPF 邻居对象填写两台交换机的 Vlanif 实 IP。
缺点:三层网关是主备模式,三层转发只有 master 在干活,backup 三层不转发;二层 M‑LAG 还是双活。
方案 2:DRNI 分布式网关(二层双活网关),单独起三层互联 VLAN 跑 OSPF(推荐,保留 DRNI 三层双活能力)
业务 VLAN10 继续使用 DRNI 分布式网关(两边 Vlanif10 同 IP、virtual‑mac,服务器网关用这个虚拟 IP,服务器双链路双活转发)
新增一个独立三层 VLAN(例如 Vlan 4000),专门用来做 OSPF 邻居,不走业务流量
在两台 S6850 上创建 Vlan4000,用物理口做三层互联,或者用 DRNI 的隔离互联链路;
A:Vlanif4000 10.2.40.1/24
B:Vlanif4000 10.2.40.2/24
服务器增加一个三层接口 / 子接口接入 VLAN4000,地址10.2.40.3/24;
OSPF 邻居建立在 Vlan4000 网段,业务 VLAN10 只做用户网关,不参与 OSPF 邻居建立。
优点:业务 VLAN 保留 DRNI 真正三层双活,业务流量 A/B 两台设备同时转发;OSPF 控制协议跑在另外独立网段。
缺点:服务器需要额外一个三层接口,服务器侧配置复杂度上升。
❌禁止操作:不要把 OSPF 进程绑定 DRNI 分布式网关 Vlanif(两边 IP 完全相同那个 Vlanif),OSPF 邻居会反复震荡。
三、服务器对接 M‑LAG(DRNI)注意点
服务器侧做 Bond/Teaming(静态聚合 LACP),双网卡分别接入两台 S6850‑56HF‑G 的 M‑LAG 成员口。
服务器网关:
方案 1VRRP:指向 VRRP 虚拟 IP
方案 2DRNI 分布式网关:指向 Vlanif 虚拟 IP(两边相同 IP)
OSPF 邻居:不要指向网关虚拟 IP,邻居必须填写设备真实物理 IP。
四、回答你的原始问题总结
双活网关 vlanif 下用同一个地址,虚拟 mac 或者 vrrp 的方式,需要 3 个地址都可以吧?
VRRP 模式:可以用 3 个地址:虚拟网关 IP + A 实 IP + B 实 IP,完全可行。
DRNI 分布式网关模式:业务 VLANIF 两边是完全相同一套 IP+virtual‑mac,没有第二个实 IP,做不出 3 个地址。
如果做 OSPF 必须得用 vrrp 的双活网关是吗?
不是必须 VRRP。
但是:业务 VLANIF 如果配置 DRNI 分布式网关(两边 IP 一模一样),该 VLANIF 接口不能直接建立 OSPF 邻居。
两个出路:
①业务 VLAN 改用 VRRP 主备网关,OSPF 跑在 Vlanif 真实 IP;
②业务 VLAN 保留 DRNI 分布式双活网关,新建独立三层互联 VLAN,专门跑 OSPF 邻居。
五、关键配置片段参考
方案 1 VRRP(业务 VLAN 跑 OSPF,简单)
shell
#SW‑A
vlan 10
interface Vlan‑interface 10
ip address 10.1.10.2 255.255.255.0
vrrp vrid 10 virtual‑ip 10.1.10.1
vrrp vrid 10 priority 120
ospf 1 router‑id 1.1.1.1
area 0
network 10.1.10.2 0.0.0.0
#SW‑B
vlan 10
interface Vlan‑interface 10
ip address 10.1.10.3 255.255.255.0
vrrp vrid 10 virtual‑ip 10.1.10.1
ospf 1 router‑id 1.1.1.2
area 0
network 10.1.10.3 0.0.0.0
服务器 OSPF 邻居写:10.1.10.2 和 10.1.10.3;网关写10.1.10.1。
方案 2 DRNI 分布式网关 + 独立 OSPF 互联网段
shell
#SW‑A、SW‑B业务VLAN10 DRNI分布式网关
vlan 10
interface Vlan‑interface 10
ip address 10.1.10.1 24
virtual‑mac 0000‑5e00‑0110
#专门OSPF互联VLAN4000
#SW‑A
vlan 4000
interface Vlan‑interface 4000
ip address 10.2.40.1 24
ospf 1 router‑id 1.1.1.1
area 0
network 10.2.40.1 0.0.0.0
#SW‑B
vlan 4000
interface Vlan‑interface 4000
ip address 10.2.40.2 24
ospf 1 router‑id 1.1.1.2
area 0
network 10.2.40.2 0.0.0.0
服务器网关指向10.1.10.1;OSPF 邻居建立在 10.2.40.0/24 网段。
补充:DRNI 分布式网关的底层原理:ARP 报文 DRNI 做代理转发,三层业务流量双活;但是路由协议(OSPF/BGP)协议报文不能在同一个 IP 的接口上两台设备同时对外发送,这是路由协议本身限制,不是 DRNIbug。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
大佬回答的太好了,采纳了,谢谢