一、在控制端进行配置网络

#启动实例文档:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/launch-instance.html#

#创建网络提供者文档:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/launch-instance-networks-provider.html

#(提供者)桥接网络示意图:

#桥接网络IP划分,要求虚拟机与物理机必须在同一个相同子网的网络内。

1、创建提供者网络

1、在控制节点上,加载 admin 凭证来获取管理员能执行的命令访问权限:

. admin.sh

2、创建桥接网络

openstack network create  --share --external \
--provider-physical-network external \
--provider-network-type flat external-net

3、在网络上创建一个子网,当分的子网用完时,我们可以再进行分配一段地址池,解决IP地址不够用的情况。

openstack subnet create --network external-net \
--allocation-pool start=192.168.200.201,end=192.168.200.220 \ #规划的地址池
--dns-nameserver 192.168.1.1 --gateway 192.168.1.1 \ #本地的dns和网关
--subnet-range PROVIDER_NETWORK_CIDR extarnal-sub

2、创建m1.nano类型

1、默认的最小规格的主机需要512 MB内存。对于环境中计算节点内存不足4 GB的,我们推荐创建只需要64 MB的``m1.nano``规格的主机。若单纯为了测试的目的,请使用``m1.nano``规格的主机来加载CirrOS镜像

. admin-openrc   #需要管理员的权限创建
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

3、生成一个键值对

1、导入``demo``项目凭证

$ . demo-openrc

2、大部分云镜像支持 :term:`public key authentication`而不是传统的密码登陆。在启动实例前,你必须添加一个公共密钥到计算服务。

$ ssh-keygen -q -N ""
$ openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey +-------------+-------------------------------------------------+
| Field | Value |
+-------------+-------------------------------------------------+
| fingerprint | ee:3d:2e:97:d4:e2:6a:54:6d:0d:ce:43:39:2c:ba:4d |
| name | mykey |
| user_id | 58126687cbcc4888bfa9ab73a2256f27 |
+-------------+-------------------------------------------------+

3、验证公钥的添加:

$ openstack keypair list

+-------+-------------------------------------------------+
| Name | Fingerprint |
+-------+-------------------------------------------------+
| mykey | ee:3d:2e:97:d4:e2:6a:54:6d:0d:ce:43:39:2c:ba:4d |
+-------+-------------------------------------------------+

4、增加安全组规则

默认情况下, ``default``安全组适用于所有实例并且包括拒绝远程访问实例的防火墙规则。对诸如CirrOS这样的Linux镜像,我们推荐至少允许ICMP (ping) 和安全shell(SSH)规则。

1、添加规则到 default 安全组,创建完安全组之后,后面在openstack控制端需要授权,比较麻烦,后面会在计算节点服务器上将其关闭。

openstack security group rule create --proto icmp default

2、允许安全 shell (SSH) 的访问:

$ openstack security group rule create --proto tcp --dst-port 22 default

5、在公有网络上创建实例

官方文档:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/launch-instance-provider.html  

1、在控制节点上,获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

$ . demo-openrc

2、一个实例指定了虚拟机资源的大致分配,包括处理器、内存和存储。

列出可用类型:

$ openstack flavor list

+----+---------+-----+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+---------+-----+------+-----------+-------+-----------+
| 0 | m1.nano | 64 | 1 | 0 | 1 | True |
+----+---------+-----+------+-----------+-------+-----------+

3、列出可用镜像:

$ openstack image list

+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| 390eb5f7-8d49-41ec-95b7-68c0d5d54b34 | cirros | active |
+--------------------------------------+--------+--------+

这个实例使用``cirros``镜像。 

4、列出可用网络:

$ openstack network list

+--------------------------------------+--------------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+--------------+--------------------------------------+
| 4716ddfe-6e60-40e7-b2a8-42e57bf3c31c | selfservice | 2112d5eb-f9d6-45fd-906e-7cabd38b7c7c |
| b5b6993c-ddf9-40e7-91d0-86806a42edb8 | provider | 310911f6-acf0-4a47-824e-3032916582ff |
+--------------------------------------+--------------+--------------------------------------+

这个实例使用 ``provider``公有网络。 你必须使用ID而不是名称才可以使用这个网络。  

5、列出可用的安全组:

$ openstack security group list

+--------------------------------------+---------+------------------------+----------------------------------+
| ID | Name | Description | Project |
+--------------------------------------+---------+------------------------+----------------------------------+
| dd2b614c-3dad-48ed-958b-b155a3b38515 | default | Default security group | a516b957032844328896baa01e0f906c |
+--------------------------------------+---------+------------------------+----------------------------------+

6、启动云主机

1、在控制节点上,获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

$ . demo-openrc

启动实例:

2、使用``provider``公有网络的ID替换``PUBLIC_NET_ID``

$ openstack server create --flavor m1.nano --image cirros-0.3.4 \   #cirros-0.3.4是镜像版本号
--nic net-id=PROVIDER_NET_ID --security-group default \ #用openstack network list查看ID号,然后将ID号复制到此。
--key-name mykey linux36-vm1 #命名为linux36-vm1

3、检查实例的状态:

$ openstack server list

+--------------------------------------+-------------------+--------+------------------------+------------+
| ID | Name | Status | Networks | Image Name |
+--------------------------------------+-------------------+--------+------------------------+------------+
| 181c52ba-aebc-4c32-a97d-2e8e82e4eaaf | provider-instance | ACTIVE | provider=203.0.113.103 | cirros |
+--------------------------------------+-------------------+--------+------------------------+------------+

7、使用虚拟控制台访问实例

1、获取你实例的 Virtual Network Computing (VNC) 会话URL并从web浏览器访问它:

$ openstack console url show linux36-vm1  #打开镜像的URL

+-------+---------------------------------------------------------------------------------+
| Field | Value |
+-------+---------------------------------------------------------------------------------+
| type | novnc |
| url | http://controller:6080/vnc_auto.html?token=5eeccb47-525c-4918-ac2a-3ad1e9f1f493 |
+-------+---------------------------------------------------------------------------------+

2、验证能否ping通公有网络的网关,由于安装了防火墙机制,需要在web界面将安全机制打开,让外部可以ping通本机:

$ ping -c 4 203.0.113.1

PING 203.0.113.1 (203.0.113.1) 56(84) bytes of data.
64 bytes from 203.0.113.1: icmp_req=1 ttl=64 time=0.357 ms
64 bytes from 203.0.113.1: icmp_req=2 ttl=64 time=0.473 ms
64 bytes from 203.0.113.1: icmp_req=3 ttl=64 time=0.504 ms
64 bytes from 203.0.113.1: icmp_req=4 ttl=64 time=0.470 ms --- 203.0.113.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.357/0.451/0.504/0.055 ms

3、在控制节点或其他公有网络上的主机使用 SSH远程访问实例,由于配置了防火墙机制,需要在web网页打开ssh机制,才能以cirros用户进行连接:

$ ssh cirros@203.0.113.103

The authenticity of host '203.0.113.102 (203.0.113.102)' can't be established.
RSA key fingerprint is ed:05:e9:e7:52:a0:ff:83:68:94:c7:d1:f2:f8:e2:e9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '203.0.113.102' (RSA) to the list of known hosts.

创建内网结构

1、用管理员的账号进行创建

# . admin.sh

2、控制端创建网络

# neutron net-create --shared  --provider:physical_network internal --provider:network_type flat internal-net

3、创建子网

neutron subnet-create --name external-subnet --allocation-pool  \
start=192.168.0.201,end=192.168.0.220 --dns nameserver 192.168.0.1 external-net 192.168.0.0/24

4、验证子网创建完成:

[root@linuxhost1 ~]# neutron net-list

  

  

  

  

  

 

  

 

  

  

  

  

 

  

Openstack之七:实现基于桥接的内外网络的更多相关文章

  1. Openstack实现共有云VPC的SDN网络

    Neutron的第二个网络模型,自服务网络 参考官方文档:https://docs.openstack.org/newton/zh_CN/install-guide-rdo/neutron-contr ...

  2. 寻找研究基于NS2研究覆盖网络的小伙伴:)

    如题,本人菜鸟刚刚入门,想找些基于NS2研究覆盖网络方面的小伙伴,具体点是关于覆盖网络中QoS服务调度方法方面的,有的小伙伴可以留下联系方式,或者加我QQ:245939069  :P:P:P

  3. 开源一个基于nio的java网络程序

    因为最近要从公司离职,害怕用nio写的网络程序没有人能看懂(或许是因为写的不好吧),就调整成了mina(这样大家接触起来非常方便,即使没有socket基础,用起来也不难),所以之前基于nio写的网络程 ...

  4. 基于Android Volley的网络请求工具

    基于Android Volley的网络请求工具. 一.说明 AndroidVolley,Android Volley核心库及扩展工程.AndroidVolleySample,网络请求工具示例工程.Re ...

  5. Linux下NAT模式和桥接模式的网络配置

        Linux下NAT模式和桥接模式的网络配置 最近在配置linux虚拟机的时候发现有很多坑,现在记录下来以防日后又跳到坑里. 我的运行环境是:主机 windows 7  虚拟机 Virtualb ...

  6. 基于 Keras 用 LSTM 网络做时间序列预测

    目录 基于 Keras 用 LSTM 网络做时间序列预测 问题描述 长短记忆网络 LSTM 网络回归 LSTM 网络回归结合窗口法 基于时间步的 LSTM 网络回归 在批量训练之间保持 LSTM 的记 ...

  7. 实现基于NTP协议的网络校时功能

    无论PC端还是移动端系统都自带时间同步功能,基于的都是NTP协议,这里使用C#来实现基于NTP协议的网络校时功能(也就是实现时间同步). 1.NTP原理 NTP[Network Time Protoc ...

  8. Ubuntu 16.04安装基于nethogs衍生的网络监控软件(应用实时网速监控)

    基于nethogs衍生的网络监控软件有如下所列举的: nettop显示数据包类型,按数据包的大小或数量排序. ettercap是以太网的网络嗅探器/拦截器/记录器 darkstat通过主机,协议等方式 ...

  9. 基于TC技术的网络流量控制实战

    本文转载在:http://server.it168.com/a2010/0426/878/000000878406.shtml 基于TC技术的网络流量控制实战 650) this.width=650; ...

随机推荐

  1. Python--day28--set去重

    set去重:set依赖对象hash eq

  2. java 多线程安全问题的解决方法

    三种方法: 同步代码块: synchronized(obj) { //obj表示同步监视器,是同一个同步对象 /**..... TODO SOMETHING */ }   同步方法 格式: 在方法上加 ...

  3. 【codeforces 789A】Anastasia and pebbles

    [题目链接]:http://codeforces.com/contest/789/problem/A [题意] 有n种物品,每种物品有wi个; 你有两个口袋,每个口袋最多装k个物品; 且口袋里面只能装 ...

  4. PHP mysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理

    相关文章:PHP的mysql扩展整理,操作数据库的实现过程分析  PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理 介绍 mysqli是PHP程序与mysql数据库进行数据交互的桥梁, ...

  5. Codeforces Round #561 (Div. 2)

    C. A Tale of Two Lands 题意: 给出 n 个数,问有多少点对(x,y)满足 |x-y| ≤ |x|,|y| ≤ |x+y|: (x,y) 和 (y,x) 表示一种答案: 题解: ...

  6. 螺旋矩阵O(1)根据坐标求值

    传送门 洛谷2239 •题意 从矩阵的左上角(第11行第11列)出发,初始时向右移动: 如果前方是未曾经过的格子,则继续前进,否则右转: 重复上述操作直至经过矩阵中所有格子. 根据经过顺序,在格子中依 ...

  7. Ubuntu安装微信,解决deepin“版本过低”或NO_PUBKEY问题

    在搜索引擎搜索Ubuntu安装微信,最多的结果是通过deepin安装 但是里面使用的deepin-for-ubuntu 安装之后微信扫码会提示版本过低 直接安装deepin.com.wechat_2. ...

  8. JVM内存结构探秘及编码实战

    了解JVM内存结构的目的 在Java的开发过程中,因为有JVM自动内存管理机制,不再需要像在C.C++开发那样手动释放对象的内存空间,不容易出现内存泄漏和内存溢出的问题.但是,正是由于把内存管理的权利 ...

  9. 一款类似loadRunner的优秀国产压力测试工具——kylinTOP测试与监控平台

    市面上流行的压力/负载/性能测试工具多是来自国外,近年来国内的性能测试工具也如雨后春笋般崛起,但大部分产品是基于Jmeter开源内核包装起来的性能测试工具,其中也不乏佼佼者,如:kylinTOP测试与 ...

  10. 常见的java异常——java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path

    此异常是由于你的controller中有两个名字与内容相同的方法: 出现此异常时去检查你的controller中是否有重复的名字的方法: