侧边栏壁纸
  • 累计撰写 14 篇文章
  • 累计创建 14 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

在Docker中创建macvlan

AlanM
2025-05-07 / 0 评论 / 0 点赞 / 12 阅读 / 0 字
温馨提示:
本文最后更新于2025-05-22,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

开启混杂模式

使用命令查看目标网卡名称,复制备用

ifconfig

同时也可以观察输出内容中是否包含PROMISC字样

image.png

如果上述输出中不包含PROMISC字样,则需要开启网卡的混杂模式

#设置为off即可关闭混杂模式
ip link set 网卡名称 promisc on

开启之后网卡属性中会包含PROMISC字样

image.png

创建macvlan

docker network create \
-d macvlan \
--subnet=192.168.0.0/24 \
--ip-range=192.168.0.0/24 \
--gateway=192.168.0.254 \
-o parent=网卡名称 \
macvlan网络名称

在docker容器中使用macvlan

此处创建一个debian12:slim容器作为示例

docker run -itd \
--name=debian12 \
--network=macvlan网络名称 \
--ip=192.168.0.111 \
debian:bookworm-slim

macvlan子网与宿主机互通

macvlan的设计为了安全考虑,所以隔离了容器和宿主机的网络

  • 创建名为"br-macvlan"的macvlan接口,绑定到物理网卡(如enp2s0)
ip link add br-macvlan link enp2s0 type macvlan mode bridge
  • 为该接口分配与容器同网段的IP(如192.168.0.99)
ip addr add 192.168.0.99 dev br-macvlan
  • 启用该接口
ip link set br-macvlan up
  • 添加路由规则(假设容器IP为192.168.0.111)
ip route add 192.168.0.111 dev br-macvlan
0

评论区