单网卡加入OVS网桥
单网卡的情况下,将网卡加入OVS网桥
文档说明: 只记录关键的地方; 发布时间: 2023-08-11
环境: ECS debain 11 OVS+OVN
状态: 完善中
目的: 容器使用 OVN 实现跨主机通信
备注:
因主机只有一个网卡
网卡信息 (IP: 172.17.24.114/18 gateway 172.17.63.255 )
经验小提示:
验证的时候,请先打系统快照,无法登录主机时 就使用快照还原
曾有过血的教训: 因配置 IP 错误,无法登录主机,只能重置操作系统
使用云服务测试 OVN 跨节点互联时(比如成都节点和呼和浩特节点 互联) ,
暂时不要使用 阿里云内地的ECS来测试 ,原因如下:
ECS 安全组端口6081 已经已经开启的情况, 安全组仍然丢弃使用Geneve协议封装的UDP包 。 [暂时不知道如何解决此问题!]
经过各种排除测试, 发现阿里云海外节点ECS 没有这个问题,但是内地节点的ECS 存在上述这个问题
果断换一家云服务器商,比如 华为云 上述问题消失
省钱小提示: 使用 抢占式 云服务器 可以很便宜
网卡加入网桥
ovs-vsctl --if-exists del-br br-eth0 # 添加网桥 ovs-vsctl add-br br-eth0 # 激活网桥 ip link set br-eth0 up { ip addr add 172.17.24.114/18 dev br-eth0 # 这里是最关键的一环,搞错了,就得重启主机 ip route replace default via 172.17.63.253 dev br-eth0 ip addr flush dev eth0 } || { echo $? } ovs-vsctl add-port br-eth0 eth0 ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=external-network-provider:br-eth0
网卡移除网桥 (恢复为原来的样子)
# 先移除 ovs 配置 ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=' ' ip addr add 172.17.24.114/18 dev eth0 ovs-vsctl --if-exists del-port eth0 ip route replace default via 172.17.63.253 dev eth0 ip addr flush dev br-eth0 ovs-vsctl --if-exists del-br br-eth0
验证命令
ip a ip route show ovs-dpctl show ovs-dpctl dump-flows ovs-appctl ovs/route/show ovs-ofctl show br-int ovs-appctl ofproto/list-tunnels ovs-ofctl dump-flows br-int ovs-ofctl dump-ports br-int conntrack -L -p udp –src-nat cat /proc/net/udp tcpdump -i any port 6081 -v -n ## 测试端口6081是否畅通 ## 服务端 nc -v -u -l 0.0.0.0 6081 ## 客户端 (192.168.1.1 替换为你的服务器公网IP) nc -u -v 192.168.1.1 6081
关键点
也就这两行,把IP设置到网桥上
ip addr add 172.17.24.114/18 dev br-eth0 ip route replace default via 172.17.63.253 dev br-eth0
出网设置关键点
sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -o br-eth0 -j MASQUERADE # 默认是1500 需要降低一些 ip netns exec vm1 ip link set dev vm1 mtu 1400
参考文档
- OVS 单物理网卡模式下,物理网卡添加到ovn 网桥
- ovn 通过分布式路由器连接外部网络 redhat
- ovn 通过分布式网关端口连接外部网络
- ovn 通过网关虚拟路由器连接外部网络
- ovn 通过l2gateway端口连接外部网络
- ovn 通过localnet端口连接外部网络
- ovn Southbound DB
- ovn Northbound DB
- ovn load balance功能
- ovn acl功能
- ovn 配置逻辑路由器实现三层转发
- ovs conntrack及nat
- ovs-conntrack
- OVN 限速
- OVN路由器对等连接
- 私有地址块
- OVN虚拟网络出网网关配置
- 容器基于OVN实现跨主机通信实验一
- iptables四表五链
- 小破站批量屏蔽IP地址实践
- iptables详解(1):iptables概念
- 帧、报文、报文段、分组、包、数据报的概念区别
- Kube-OVN如何实现Pod和主机网络连通
- 容器如何使用虚拟化网络
- How to make the OVN BGP Agent ready for HWOL and OVS-DPDK
- How to create an Open Virtual Network distributed gateway router
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
2022-08-11 chromium自定义启动参数 和 启用远程调试
2022-08-11 下载最新二进制 chromium
2022-08-11 nginx 的http_proxy_connect_module模块使用
2022-08-11 javascript计算代码执行时间
2022-08-11 容器设置代理
2022-08-11 nginx TLSv1.3配置
2022-08-11 虚拟机有哪些?PVE qemu kvm VirtualBox Harvester