立即注册
登录
About云-梭伦科技
返回首页
pig2的个人空间
https://www.aboutyun.com/?61
[收藏]
[复制]
[分享]
[RSS]
空间首页
动态
记录
日志
相册
主题
分享
留言板
个人资料
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
首页
Portal
专题
BBS
面试
办公|编程助手
更多
我的空间
好友
帖子
收藏
道具
勋章
任务
动态
日志
相册
分享
记录
留言板
群组
导读
日志
openstack【juno】入门 【网络篇】十八:创建实例化网络
已有 768 次阅读
2015-2-26 17:57
http://www.aboutyun.com/thread-11637-1-1.html
问题导读
1.如何添加租户网络?
2.如何添加路由?
3.网络连通性如何验证?
接上篇:
openstack【juno】入门 【网络篇】十七:neutron安装部署(计算节点)
实例化网络结构
创建第一个实例之前,你必须创建实例连接所必需的虚拟网络基础设施,包括外网和租户网络。 参见图6.1, “Initial networks”.创建完虚拟网络基础设施之后,我们建议验证网络连接性,在继续之前解决遇到的任何问题。图6.1“Initial networks”可以看到初始化网络组件,展示了实例与外网或则Internet之间的流通。
图 6.1. Initial networks
外部网络
外部网络通常提供互联网访问实例。实例使用NAT允许互联网访问。你可以使用互联网访问内部实例,通过使用 floating IP 地址,和合适的安全组规则。admin租户有这个网络,因为它提供外部网络访问多租户。
注意:
执行下面命令在
控制节点
创建外部网络
1.生效环境变量
source admin-openrc.sh
复制代码
2.创建网络
neutron net-create ext-net --router:external True \
--provider:physical_network external --provider:network_type flat
复制代码
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | 0028b1d7-07c9-468c-abf2-ccd4dc17b240 |
| name | ext-net |
| provider:network_type | flat |
| provider:physical_network | external |
| provider:segmentation_id | |
| router:external | True |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | c52f15ccf48741c08fa8ba53b8b8ce01 |
+---------------------------+--------------------------------------+
复制代码
就像一个物理网络,虚拟网络需要的子网分配给它的。这个网络与网络节点连接外网的物理网卡共享同一个子网和网关
你应该指定路由子网的ip地址范围及floating ip地址,以防止干扰外网的其它网络设备。
创建外网的子网
创建一个子网,形式如下:
neutron subnet-create ext-net --name ext-subnet \
--allocation-pool start=FLOATING_IP_START,end=FLOATING_IP_END \
--disable-dhcp --gateway EXTERNAL_NETWORK_GATEWAY EXTERNAL_NETWORK_CIDR
复制代码
替换掉FLOATING_IP_START,FLOATING_IP_END,分别是floating ip地址的开始地址和结束地址。替换掉EXTERNAL_NETWORK_CIDR子网关联的物理网络。替换 EXTERNAL_NETWORK_GATEWAY 与物理网络的网关。通常.1ip地址。禁用子网ip地址,因为实例不直接连接外网,floating ip需要手工分配。
举例:, 使用 203.0.113.0/24 , floating IP 地址范围 203.0.113.101 to 203.0.113.200:
neutron subnet-create ext-net --name ext-subnet \
--allocation-pool start=203.0.113.101,end=203.0.113.200 \
--disable-dhcp --gateway 203.0.113.1 203.0.113.0/24
复制代码
Created a new subnet:
+-------------------+----------------------------------------------------+
| Field | Value |
+-------------------+----------------------------------------------------+
| allocation_pools | {"start": "203.0.113.101", "end": "203.0.113.200"} |
| cidr | 203.0.113.0/24 |
| dns_nameservers | |
| enable_dhcp | False |
| gateway_ip | 203.0.113.1 |
| host_routes | |
| id | e6fab309-a8ff-4385-8b32-c942434414cf |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | ext-subnet |
| network_id | 0028b1d7-07c9-468c-abf2-ccd4dc17b240 |
| tenant_id | c52f15ccf48741c08fa8ba53b8b8ce01 |
+-------------------+----------------------------------------------------+
复制代码
创建租户网络
租户网络提供内部网络访问实例,这种结构使与其它租户分开。demo租户拥有自己的网络,因为内部它提供网络访问实例。
注意:
在
控制节点
,执行下面命令
1.生效demo环境变量
source demo-openrc.sh
复制代码
demo-openrc.sh的内容如下:
export OS_TENANT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://controller:5000/v2.0
复制代码
2.创建网络
neutron net-create demo-net
复制代码
像外部网络一样,租户网络需要添加子网,你可以指定任何的有效子网,因为这个结构是租户网络结构隔离。默认子网使用dhcp,因此你的实例,可以得到ip地址。
创建租户子网
创建子网
neutron subnet-create demo-net --name demo-subnet \
--gateway TENANT_NETWORK_GATEWAY TENANT_NETWORK_CIDR
复制代码
替换子网TENANT_NETWORK_CIDR 成你想更换的租户网络,和TENANT_NETWORK_GATEWAY 替换成你想更换的网关。通常是.1ip地址。
例如使用192.168.1.0/24:
neutron subnet-create demo-net --name demo-subnet \
--gateway 192.168.1.1 192.168.1.0/24
复制代码
Created a new subnet:
+-------------------+--------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------+
| allocation_pools | {"start": "192.168.1.2", "end": "192.168.1.254"} |
| cidr | 192.168.1.0/24 |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 192.168.1.1 |
| host_routes | |
| id | dfb5a684-e837-4556-8c29-c7e01ada590a |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | demo-subnet |
| network_id | 299e4203-135e-4305-8a9f-cdd4f4bda185 |
| tenant_id | bfb31e69f05b44cd89e1336c09042e2f |
+-------------------+--------------------------------------------------+
复制代码
一个或则多个网络由路由来连通。一个路由需要一个或则多个网卡和网关来提供访问指定的网络。这种情况下,你需要创建一个路由附加到租户和外部网络。
在租户网络创建路由和附加外网和租户网络到路由
1.创建路由
neutron router-create demo-router
复制代码
root@controller:~# neutron router-create demo-router
Created a new router:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| external_gateway_info | |
| id | 0481ede7-93e6-40c7-aa08-cc2c040a639e |
| name | demo-router |
| routes | |
| status | ACTIVE |
| tenant_id | bfb31e69f05b44cd89e1336c09042e2f |
+-----------------------+--------------------------------------+
复制代码
2.附加路由到demo租户子网
neutron router-interface-add demo-router demo-subnet
复制代码
输出如下内容:
Added interface 1dd67bdd-5a2c-416b-a3f7-25661f78ba57 to router demo-router.
复制代码
3.连接路由器到外部网络通过设置为网关:
neutron router-gateway-set demo-router ext-net
复制代码
输出如下内容:
Set gateway for router demo-router
复制代码
验证安装
我们建议在进行下一步前,验证网络连通性,一下外部子网的例子使用 203.0.113.0/24,在floating ip地址范围内,路由网关应该是最低的ip地址, 203.0.113.101.如果你配置了虚拟机网络和外部物理网络正确,你应该可以ping ip地址从外部网络。说明:
如果你创建的openstack网络是虚拟机,你必须配置hypervisor 允许在外部网络上设置混杂模式。
验证连连通性
ping路由网关
root@controller:~# ping -c 4 203.0.113.101
PING 203.0.113.101 (203.0.113.101) 56(84) bytes of data.
64 bytes from 203.0.113.101: icmp_seq=1 ttl=128 time=4.76 ms
64 bytes from 203.0.113.101: icmp_seq=2 ttl=128 time=3.87 ms
64 bytes from 203.0.113.101: icmp_seq=3 ttl=128 time=3.86 ms
64 bytes from 203.0.113.101: icmp_seq=4 ttl=128 time=3.73 ms
--- 203.0.113.101 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 3.737/4.059/4.765/0.415 ms
root@controller:~# ^C
root@controller:~# ping -c 4 203.0.113.101
PING 203.0.113.101 (203.0.113.101) 56(84) bytes of data.
64 bytes from 203.0.113.101: icmp_seq=1 ttl=128 time=56.6 ms
64 bytes from 203.0.113.101: icmp_seq=2 ttl=128 time=3.86 ms
64 bytes from 203.0.113.101: icmp_seq=3 ttl=128 time=101 ms
64 bytes from 203.0.113.101: icmp_seq=4 ttl=128 time=4.42 ms
--- 203.0.113.101 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 3.863/41.512/101.157/40.554 ms
复制代码
在window下ping
ping 203.0.113.101
复制代码
路过
雷人
握手
鲜花
鸡蛋
收藏
分享
邀请
举报
全部
作者的其他最新日志
•
种用于单张图像大尺度人脸三维重建的VRN算法
•
基于 Openpose 实现人体动作识别
•
基于OpenCV使用OpenPose进行多个人体姿态估计
•
《DensePose: Dense Human Pose Estimation In The Wild》阅读笔记
•
Field types of query result and registered TableSink do not match
•
Clickhouse bug DB::Exception: PeekableReadBuffer: Memory limit exceed
评论 (
0
个评论)
涂鸦板
您需要登录后才可以评论
登录
|
立即注册
评论
pig2
加为好友
给我留言
打个招呼
发送消息
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈