openstack网络总结

 openstack 中比较核心的三个网络概念NetworkSubnetPort ,必须搞清楚这三个的关系才能在使用时理清头绪。

其他关于openstack网络相关参考https://mp.weixin.qq.com/s/QtdMkt9giEEnvFTQzO9u7g中neutron的讲解

一、术语

  1. Network
    network 是一个隔离的二层广播域。Neutron 支持多种类型的 network,包括 local, flat, VLAN, VxLAN 和 GRE。
  2. Subnet

    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"}

  3. Port 
    port 可以看做虚拟交换机上的一个端口。port 上定义了 MAC 地址和 IP 地址,当 虚拟机的虚拟网卡 VIF(Virtual Interface) 绑定到 port 时,port 会将 MAC 和 IP 分配给 VIF。subnet 与 port 是 1对多 关系。一个 port 必须属于某个 subnet;一个 subnet 可以有多个 port。

二、命令

  • 首先创建network

neutron  net-create licko-test --shared  --provider:network_type vlan  --provider:physical_network physnet2 --tenant-id ID

openstack网络总结

创建network需要指定其他参数请参考help,以下命令类似

openstack网络总结

  • 创建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

openstack网络总结

  • 创建port
    neutron port-create  licko-test --name licko-port --fixed-ip subnet_id=01ab229b-7c90-4d5e-80a6-7604f2fa826d
    openstack网络总结
  • 相关命令

查看所有租户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