macvlan解决vlan路由冲突

172.28.225.0/24 dev eth0.2 proto kernel scope link src 172.28.225.10

172.28.225.0/24 dev eth1.13 proto kernel scope link src 172.28.225.13

这两个vlan路由冲突了,用下面的方法解决。。

复制代码
#!/bin/bash
# 使用macvlan解决路由冲突

# 0. 清理旧配置
ip link del eth0.2 2>/dev/null
ip link del macvlan1 2>/dev/null
ip link del macvlan2 2>/dev/null

# 1. 创建VLAN接口
echo "1. 创建VLAN接口 eth0.2..."
ip link add link eth0 name eth0.2 type vlan id 2
ip link set eth0.2 up

# 2. 在VLAN接口上创建两个macvlan
echo "2. 创建macvlan接口..."

# macvlan1: 172.28.225.10
ip link add link eth0.2 name macvlan1 type macvlan mode bridge
ip link set macvlan1 address 00:11:22:33:44:55  
ip addr add 172.28.225.10/24 dev macvlan1
ip link set macvlan1 up

# macvlan2: 172.28.225.13  
ip link add link eth0.2 name macvlan2 type macvlan mode bridge
ip link set macvlan2 address 00:11:22:33:44:66 
ip addr add 172.28.225.13/24 dev macvlan1
ip link set macvlan2 up

# 3. 禁用eth0.2的IP(避免路由冲突)
echo "3. 清理VLAN接口IP..."
ip addr flush dev eth0.2

# 4. 查看路由表
echo "4. 查看路由表..."
ip route show | grep "172.28.225.0/24"

# 5. 验证配置
echo ""
echo "=== 配置完成 ==="
echo "接口列表:"
ip link show | grep -E "(eth0.2|macvlan)"
echo ""
echo "IP地址配置:"
ip addr show | grep -A2 -E "(eth0.2|macvlan)"


iptables -A FORWARD -i macvlan1 -d 255.255.255.255 -j DROP
相关推荐
wearegogog1232 小时前
基于 MATLAB 的卡尔曼滤波器实现,用于消除噪声并估算信号
前端·算法·matlab
Drawing stars3 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
品克缤3 小时前
Element UI MessageBox 增加第三个按钮(DOM Hack 方案)
前端·javascript·vue.js
小二·3 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
小沐°3 小时前
vue-设置不同环境的打包和运行
前端·javascript·vue.js
qq_419854054 小时前
CSS动效
前端·javascript·css
烛阴4 小时前
3D字体TextGeometry
前端·webgl·three.js
桜吹雪4 小时前
markstream-vue实战踩坑笔记
前端
C_心欲无痕4 小时前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
花哥码天下4 小时前
恢复网站console.log的脚本
前端·javascript·vue.js