
kathara/sdn本Docker镜像基于基础镜像扩展构建,集成了OpenVSwitch(虚拟交换机)和Ryu SDN控制器,旨在提供一个开箱即用的软件定义网络(SDN)开发、测试和部署环境。通过预安装关键组件,简化了SDN相关应用的搭建流程,适用于快速构建基于OpenFlow协议的网络拓扑。
bash# 假设镜像名称为sdn-base:latest(实际名称需根据镜像仓库调整) docker pull [镜像仓库地址]/sdn-base:latest
bash# 启动镜像并进入交互式终端 docker run -it --privileged --name sdn-env [镜像仓库地址]/sdn-base:latest /bin/bash
注意:使用
--privileged选项以确保OpenVSwitch能够正常创建网络设备
bash# 在容器内执行 service openvswitch-switch start
bash# 启动基础交换机应用(simple_switch) ryu-manager ryu.app.simple_switch # 或启动带REST API的控制器 ryu-manager ryu.app.simple_switch ryu.app.ofctl_rest
bashovs-vsctl add-br br0 # 创建名为br0的网桥 ovs-vsctl set-controller br0 tcp:127.0.0.1:6633 # 将网桥连接到本地Ryu控制器(默认端口6633) ovs-vsctl show # 验证网桥配置
bash# 创建两个虚拟接口并连接到网桥 ip link add veth0 type veth peer name veth1 ip link set veth0 up ip link set veth1 up ovs-vsctl add-port br0 veth0
bash# 在Ryu控制器日志中查看连接状态,或通过REST API查询 curl [***] # 若启用ofctl_rest,返回连接的交换机DPID
| 环境变量 | 描述 | 默认值 |
|---|---|---|
RYU_APP | 指定启动Ryu时加载的应用 | ryu.app.simple_switch |
OVS_BRIDGE | 默认创建的OpenVSwitch网桥名称 | br0 |
CONTROLLER_IP | 控制器IP地址(用于自动配置网桥) | 127.0.0.1 |
CONTROLLER_PORT | 控制器OpenFlow端口 | 6633 |
可通过挂载配置文件或 volumes 实现自定义:
bash# 挂载自定义Ryu应用到容器 docker run -it --privileged -v /local/ryu/apps:/opt/ryu/apps [镜像仓库地址]/sdn-base:latest \ ryu-manager /opt/ryu/apps/custom_app.py
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务