docker创建macvlan网络命令,带ipv6

以下是创建支持 IPv6 的 Docker macvlan 网络的完整命令及关键配置要点:

基础命令模板

docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
--ipv6 \
--subnet=240e:1a2b:3c4d::/64 \
--gateway=240e:1a2b:3c4d::1 \
-o parent=eth0 \
my_macvlan_network

核心参数详解

  1. IPv4 配置
    • --subnet=192.168.1.0/24:需与宿主机同一局域网段(示例为 192.168.1.x)
    • --gateway=192.168.1.1:网关地址通常为主路由 IP
  2. IPv6 配置
    • --ipv6:启用 IPv6 支持
    • --subnet=240e:1a2b:3c4d::/64:建议使用运营商分配的 /64 公网 IPv6 前缀,可通过 ifconfig 查看宿主机 IPv6 地址前缀
    • --gateway=240e:1a2b:3c4d::1:网关地址通常为 IPv6 前缀的首地址(::1)
  3. 物理接口设置
    • -o parent=eth0:指定物理网卡名称(通过 ifconfigip a 确认实际接口名)

关键操作步骤

  1. 启用物理接口混杂模式
    sudo ip link set eth0 promisc
  2. 创建网络后验证
    docker network ls
    docker network inspect my_macvlan_network
  3. 容器启动示例
    docker run -d --name=my_container \
    --network=my_macvlan_network \
    --ip=192.168.1.100 \
    --ip6=240e:1a2b:3c4d::100 \
    nginx:latest

高级注意事项

  1. IPv6 地址获取逻辑
    • 若使用无状态地址分配(SLAAC),容器将自动获取公网 IPv6 地址
    • 静态指定 IPv6 地址时需确保在子网范围内
  2. 宿主机与容器通信
    • 默认宿主机无法直接访问 macvlan 网络容器
    • 解决方案:创建辅助 macvlan 接口或使用独立物理网卡
  3. 网络稳定性优化
    • 避免使用 bridge 模式,优先选择 privatevepa 模式减少广播风暴风险

故障排查

  1. 内核模块检查
    lsmod | grep macvlan
  2. 接口状态验证
    ip -d link show eth0

建议根据实际网络环境调整子网和网关参数,并通过 journalctl -u docker 查看详细错误日志。

总结

docker network create -d macvlan --subnet=192.168.1.0/24 --gatway=192.168.1.1 --ipv6 --subnet=f80::/32 -o parent=eth0 macnet
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇