单网卡加入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

参考文档

  1. OVS 单物理网卡模式下,物理网卡添加到ovn 网桥
  2. ovn 通过分布式路由器连接外部网络 redhat
  3. ovn 通过分布式网关端口连接外部网络
  4. ovn 通过网关虚拟路由器连接外部网络
  5. ovn 通过l2gateway端口连接外部网络
  6. ovn 通过localnet端口连接外部网络
  7. ovn Southbound DB
  8. ovn Northbound DB
  9. ovn load balance功能
  10. ovn acl功能
  11. ovn 配置逻辑路由器实现三层转发
  12. ovs conntrack及nat
  13. ovs-conntrack
  14. OVN 限速
  15. OVN路由器对等连接
  16. 私有地址块
  17. OVN虚拟网络出网网关配置
  18. 容器基于OVN实现跨主机通信实验一
  19. iptables四表五链
  20. 小破站批量屏蔽IP地址实践
  21. iptables详解(1):iptables概念
  22. 帧、报文、报文段、分组、包、数据报的概念区别
  23. Kube-OVN如何实现Pod和主机网络连通
  24. 容器如何使用虚拟化网络
  25. How to make the OVN BGP Agent ready for HWOL and OVS-DPDK
  26. How to create an Open Virtual Network distributed gateway router

SD-WAN 案例

什么是SD-WAN?
什么是智能接入网关
什么是 SD-WAN(新版)

posted @   jingjingxyk  阅读(516)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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
点击右上角即可分享
微信分享提示