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