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
相关推荐
福兮说几秒前
URL 编码的七个坑:c++ 传到后端变空格、%25 套娃、截断 emoji 直接报错
开发语言·前端·javascript·node.js·url
吴声子夜歌6 分钟前
Nginx应用与运维——Nginx Web服务应用实战(Python网站的搭建)
运维·前端·nginx
小的时候可菜了24 分钟前
JS 异步的本质:从单线程到 thenable(一条进化链)
开发语言·前端·javascript
liangshanbo121530 分钟前
Webpack vs Vite 底层原理高频追问的问题
前端·webpack·node.js
web打印社区1 小时前
Windows 网页静默打印设置步骤:客户端、防火墙与联调清单
开发语言·前端·javascript·chrome·pdf·ecmascript
恋猫de小郭1 小时前
KMP 又改了编译流程, Separate Compilation 禁止了 `commonMain` 的依赖穿透
android·前端·flutter
吴声子夜歌1 小时前
Nginx应用与运维——Nginx Web服务应用实战(静态文件服务器的搭建)
运维·前端·nginx
y = xⁿ1 小时前
关于Agent工程落地
前端·人工智能·python
web打印社区2 小时前
JS 静默打印怎么做:纯前端为什么不行,以及最小可跑通写法
开发语言·前端·javascript·websocket·网络协议·http·pdf
web打印社区2 小时前
HTML5 静默打印:前端页面怎么调用打印机且尽量不弹窗
前端·javascript·vue.js·pdf·html·html5