网络功能测试
本文介绍 OpenStack 网络功能的完整测试方案。
系列导航
上一篇:Horizon 管理控制台 | 下一篇:计算功能测试
一、测试准备
1.1 环境检查
bash
# 检查网络代理状态
openstack network agent list
# 确保所有 Agent 状态为 UP
二、外部网络测试
2.1 创建外部网络
bash
openstack network create --external \
--provider-network-type flat \
--provider-physical-network external \
external-net
openstack subnet create --network external-net \
--subnet-range 172.16.10.0/24 \
--gateway 172.16.10.1 \
--allocation-pool start=172.16.10.100,end=172.16.10.200 \
external-subnet
2.2 验证外部网络
bash
openstack network show external-net
openstack subnet show external-subnet
三、租户网络测试
3.1 创建租户网络
bash
openstack network create tenant-net
openstack subnet create --network tenant-net \
--subnet-range 192.168.100.0/24 \
--gateway 192.168.100.1 \
--dns-nameserver 8.8.8.8 \
tenant-subnet
3.2 验证租户网络
bash
openstack network list
openstack subnet list
四、路由器测试
4.1 创建路由器
bash
openstack router create tenant-router
openstack router add subnet tenant-router tenant-subnet
openstack router set --external-gateway external-net tenant-router
4.2 验证路由器
bash
openstack router show tenant-router
openstack router list
五、浮动 IP 测试
5.1 创建浮动 IP
bash
openstack floating ip create external-net
5.2 绑定浮动 IP
bash
# 创建测试虚拟机
openstack server create --flavor m1.tiny --image cirros --network tenant-net test-vm
# 绑定浮动 IP
FIP=$(openstack floating ip list -f value -c "Floating IP Address" | head -1)
openstack server add floating ip test-vm $FIP
5.3 测试连通性
bash
ping $FIP
六、安全组测试
6.1 配置安全组
bash
# 允许 ICMP
openstack security group rule create --proto icmp default
# 允许 SSH
openstack security group rule create --proto tcp --dst-port 22 default
6.2 验证安全组
bash
openstack security group rule list default
七、VXLAN 隧道测试
7.1 检查隧道
bash
kubectl exec -n openstack <ovs-pod> -- \
ovs-vsctl show | grep vxlan
7.2 测试跨节点通信
创建两个虚拟机在不同计算节点,测试互通性。
八、测试脚本
bash
#!/bin/bash
# network-test.sh
echo "=== 网络功能测试 ==="
# 1. 检查网络代理
echo "[1/6] 检查网络代理"
AGENTS_UP=$(openstack network agent list -f value -c Alive | grep -c ":-)")
echo "UP Agents: $AGENTS_UP"
# 2. 创建网络
echo "[2/6] 创建测试网络"
openstack network create test-net
openstack subnet create --network test-net --subnet-range 192.168.200.0/24 test-subnet
# 3. 创建路由器
echo "[3/6] 创建路由器"
openstack router create test-router
openstack router add subnet test-router test-subnet
# 4. 创建虚拟机
echo "[4/6] 创建虚拟机"
openstack server create --flavor m1.tiny --image cirros --network test-net test-vm
sleep 30
# 5. 分配浮动 IP
echo "[5/6] 分配浮动 IP"
FIP=$(openstack floating ip create external-net -f value -c floating_ip_address)
openstack server add floating ip test-vm $FIP
# 6. 测试连通性
echo "[6/6] 测试连通性"
ping -c 3 $FIP
echo "=== 测试完成 ==="
九、测试结果
| 测试项 | 预期结果 | 实际结果 |
|---|---|---|
| 网络代理状态 | 12/12 UP | |
| 外部网络创建 | 成功 | |
| 租户网络创建 | 成功 | |
| 路由器创建 | 成功 | |
| 浮动 IP 分配 | 成功 | |
| 网络连通性 | 可 ping 通 |
下一篇:计算功能测试