openstack 中比较核心的三个网络概念Network,Subnet, Port ,必须搞清楚这三个的关系才能在使用时理清头绪。
其他关于openstack网络相关参考https://mp.weixin.qq.com/s/QtdMkt9giEEnvFTQzO9u7g中neutron的讲解
subnet 是一个 IPv4 或者 IPv6 地址段。instance 的 IP 从 subnet 中分配。每个 subnet 需要定义 IP 地址的范围和掩码。 network 与 subnet 是 1对多 关系。一个 subnet 只能属于某个 network;一个 network 可以有多个 subnet,这些 subnet 可以是不同的 IP 段,但不能重叠。
network A subnet A-a: 10.10.1.0/24 {"start": "10.10.1.1", "end": "10.10.1.50"}
subnet A-b: 10.10.2.0/24 {"start": "10.10.2.1", "end": "10.10.2.50"}
Port port 可以看做虚拟交换机上的一个端口。port 上定义了 MAC 地址和 IP 地址,当 虚拟机的虚拟网卡 VIF(Virtual Interface) 绑定到 port 时,port 会将 MAC 和 IP 分配给 VIF。subnet 与 port 是 1对多 关系。一个 port 必须属于某个 subnet;一个 subnet 可以有多个 port。neutron net-create licko-test --shared --provider:network_type vlan --provider:physical_network physnet2 --tenant-id ID
创建network需要指定其他参数请参考help,以下命令类似
创建subnet licko-test 是上面创建network的名字。neutron subnet-create licko-test 192.168.11.0/24 --name licko-test --allocation-pool start=192.168.11.100,end=192.168.11.200 --gateway 192.168.11.254 --dns-nameserver 8.8.8.8 --tenant-id ID
创建port neutron port-create licko-test --name licko-port --fixed-ip subnet_id=01ab229b-7c90-4d5e-80a6-7604f2fa826d相关命令查看所有租户id
keystone tenant-list
以下有些命令后添加 --tenant-id ID,是查看指定租户的相关信息
查看所有network信息
neutron net-list
查看指定network信息
neutron net-show network-ID
查看所有subnet信息
neutron subnet-list
查看指定subnet信息
neutron subnet-show subnet-ID
查看所有端口列表
neutron port-list
查看指定端口信息
neutron port-show port-ID
network,subnet,port需要设置什么信息可以创建时指定,也可以通过以下命令更新:
neutron net-update/subnet-update/port-update