OpenStack与OVN组网实验
OpenStack中的network是一个虚拟交换机,对应着OVN中的逻辑交换机(logical switch)
准备
- 创建第一个网络
n1和两台实例a、b,并将a、b连接至n1 - 创建第二个网络
n2和实例c,并将c连接至n2 - 创建路由器,并将
n1、n2连接至路由器 - 将
a、b连接至外部网络 - ACL访问控制通过设置安全组
操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # 简化UUID显示
abbrev() { a='[0-9a-fA-F]' b=$a$a c=$b$b; sed "s/$b-$c-$c-$c-$c$c$c//g"; }
# 设置镜像ID
IMAGE_ID=$(openstack image list -f value -c ID)
# 创建keypair
openstack keypair create demo > ~/id_rsa_demo
chmod 600 ~/id_rsa_demo
for group in $(openstack security group list -f value -c ID); do \
openstack security group rule create --ingress --ethertype IPv4 --dst-port 22 --protocol tcp $group; \
openstack security group rule create --ingress --ethertype IPv4 --protocol ICMP $group; \
done
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| # 创建网络
openstack network create --provider-network-type geneve n1
# 创建子网
openstack subnet create --subnet-range 10.1.1.0/24 --network n1 n1subnet
# 查看网络列表
openstack network list -f yaml | abbrev
# 创建实例
openstack server create --nic net-id=n1,v4-fixed-ip=10.1.1.5 --flavor m1.nano --image $IMAGE_ID --key-name demo a
openstack server create --nic net-id=n1,v4-fixed-ip=10.1.1.6 --flavor m1.nano --image $IMAGE_ID --key-name demo b
openstack port set --name ap $(openstack port list --server a -f value -c ID)
openstack port set --name bp $(openstack port list --server b -f value -c ID)
AP_MAC=$(openstack port show -f value -c mac_address ap)
BP_MAC=$(openstack port show -f value -c mac_address bp)
ovn-nbctl show | abbrev
ovn-nbctl list logical_switch_port ap bp | abbrev
ovn-sbctl lflow-list n1 | abbrev | less -S
|