openstack 主机无法ping通instance,无法ssh到instance
https://docs.openstack.org/zh_CN/user-guide/cli-nova-configure-access-security-for-instances.html
好不容易安装好了OpenStack,发现无法ping通instance,无法ssh到instance:
最后折腾了半天发现是security group的问题:
Neutron 默认的安全组规则会禁止掉所有从外面访问 instance 的流量。
本节我们会修改安全组的配置,允许 ping 和 ssh instance。
有两种方法可以达到这个目的:
1. 修改 “default” 安全组。
2. 为 cirros-vm1 添加新的安全组。
一、什么是安全组
安全组,翻译成英文是 security group。安全组是一些规则的集合,用来对虚拟机的访问流量加以限制,这反映到底层,就是使用iptables,给虚拟机所在的宿主机添加iptables规则。
可以定义n个安全组,每个安全组可以有n个规则,可以给每个实例绑定n个安全组,nova中总是有一个default安全组,这个是不能被删除的。创建实例的时候,如果不指定安全组,会默认使用这个default安全组。
现在nova中安全组应该会移到quantum中,并且会增加对虚拟机外出流量的控制。现在nova中的安全组只是对进入虚拟机的流量加以控制,对虚拟机外出流量没有加以限制。
https://docs.openstack.org/zh_CN/user-guide/cli-nova-configure-access-security-for-instances.html
设定实例的权限和安全设置¶
当你启动一个虚拟机,你可以注入*key pair*,它为你的实例提供了SSH访问路径。为了能运行,镜像必须包含’cloud-init’包
你可以为每个项目至少创建一个密钥对。你可以在项目所属的多个实例上使用该密钥对。如果你使用外部工具生成密钥对,那么你可以将它导入到OpenStack。
注解
一个密钥对属于独立用户而不属于项目。要想在多个用户中共享密钥,那么每个用户需要导入该密钥对。
如果镜像使用一个静态根密码或者静态密钥集(都不推荐),那么当你启动实例的时候就没必要提供一个密钥。
一个*安全组*是一个被命名为网络访问规则的集合,安全组被用来限制访问实例流量的类型。当你启动一个实例时,你可以为它指定一个或多个安全组。如果你没有创建安全组,那么新实例会自动分配一个默认安全组,除非你明确指定一个不同的安全组。
每个安全组中的关联*规则*控制着组中访问实例的流量。任何进入的流量与规则不匹配将会默认被拒绝。你可以在安全组中添加或删除规则,并且可以修改默认的或任何其他安全组中的规则。
你可以修改安全组中的规则来允许通过不同的端口和协议访问实例。比如,你可以为实例上运行的DNS修改规则来允许通过SSH访问实例,ping通实例或者允许UDP流量。你可以为规则指定以下参数。
- 流量来源 允许来自云环境其他组成员的IP地址或所有IP地址的流量访问实例。
- 协议,SSH用TCP、Pings用ICMP或者UDP。
- 虚拟机的目标端口。定义一个端口范围。只需要打开单个端口,输入同样的值两次。ICMP不支持端口,你输入一个值定义代码和被允许的ICMP流量类型。
规则在新建或者修改之后实时生效
添加密钥对¶
你可以生成一个秘钥对或上传一个现有的公钥
要生成一个密钥对,运行以下命令。
- $ openstack keypair create KEY_NAME > MY_KEY.pem
这个命令生成一个你指定名为KEY_NAME的秘钥对,将私钥写入指定的”.pem”文件里,且为Nova数据库注册公钥。
运行以下命令,设置”.pem”的权限为只有你本人可读写。
- $ chmod 600 MY_KEY.pem
导入秘钥对¶
如果你已经生成一个密钥对且公钥位于”~/.ssh/id_rsa.pub”里面,那么运行以下命令上传公钥。
- $ openstack keypair create --public-key ~/.ssh/id_rsa.pub KEY_NAME
该命令将公钥记录在Nova数据库里且密钥对的名字命名为你指定的“KEY_NAME”。
为确保密钥对成功导入,将密钥对像以下这样列出:
- $ openstack keypair list
新建和管理安全组¶
列出当前项目的安全组,包括说明,输入以下命令:
- $ openstack security group list
要创建有指定名称和描述的安全组,则输入以下命令:
- $ openstack security group create SECURITY_GROUP_NAME --description GROUP_DESCRIPTION
要删除指定的组,请输入以下命令:
- $ openstack security group delete SECURITY_GROUP_NAME
注解
您不能删除一个项目的默认安全组。而且您也不能删除已经指定给正在运行的实例的安全组。
新建和管理安全组规则¶
使用命令:command:openstack security group rule`修改安全组规则。开始之前,使用source命令执行OpenStack RC文件。更多细节,参考:doc:../common/cli-set-environment-variables-using-openstack-rc`。
要列出安全组规则,则运行以下命令:
- $ openstack security group rule list SECURITY_GROUP_NAME
要允许SSH访问实例,则要选择以下项中的其中一项:
允许所有IP访问,指定IP子网 CIDR为``0.0.0.0/0``:
- $ openstack security group rule create SECURITY_GROUP_NAME \
- --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
- $ openstack security group rule create SECURITY_GROUP_NAME \
仅允许访问来自其他安全组(源组)的IP地址访问指定的端口:
- $ openstack security group rule create SECURITY_GROUP_NAME \
- --protocol tcp --dst-port 22:22 --remote-group SOURCE_GROUP_NAME
- $ openstack security group rule create SECURITY_GROUP_NAME \
要允许ping通实例,选择以下项中的其中一项:
允许所有IP访问,指定IP子网 CIDR为``0.0.0.0/0``。
- $ openstack security group rule create --protocol icmp \
- SECURITY_GROUP_NAME
这允许访问所有代码和所有ICMP的流量。
- $ openstack security group rule create --protocol icmp \
只允许其他安全组(源组)的成员ping 通云主机。
- $ openstack security group rule create --protocol icmp \
- --remote-group SOURCE_GROUP_NAME SECURITY_GROUP
- $ openstack security group rule create --protocol icmp \
为了允许访问UDP端口,比如允许访问一台虚拟机上面的DNS服务,选择以下选项:
允许IP地址UDP访问,以CIDR的方式指定IP网段为``0.0.0.0/0``。
- $ openstack security group rule create --protocol udp \
- --dst-port 53:53 SECURITY_GROUP
- $ openstack security group rule create --protocol udp \
只允许来自其他安全组(源组)的IP地址访问指定的端口。
- $ openstack security group rule create --protocol udp \
- --dst-port 53:53 --remote-group SOURCE_GROUP_NAME SECURITY_GROUP
- $ openstack security group rule create --protocol udp \
删除安全组规则¶
要删除一个安全组规则,请指定规则ID。
- $ openstack security group rule delete RULE_ID
511 openstack keypair create mykey >mykey.pem
515 chmod 600 mykey.pem
517 openstack keypair list
538 openstack security group rule create 83da1f44-482d-4d9c-90dd-fc081b5756b7 --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
541 openstack security group rule list 83da1f44-482d-4d9c-90dd-fc081b5756b7
542 openstack security group rule create --protocal icmp --remote-ip 0.0.0.0/0
543 openstack security group rule create --protocal icmp --remote-ip 0.0.0.0/0 83da1f44-482d-4d9c-90dd-fc081b5756b7
544 openstack security group rule create --protocol icmp --remote-ip 0.0.0.0/0 83da1f44-482d-4d9c-90dd-fc081b5756b7
openstack 主机无法ping通instance,无法ssh到instance的更多相关文章
- route 一个很奇怪的现象:我的主机能ping通同一网段的其它主机,并也能xshell 远程其它的主机,而其它的主机不能ping通我的ip,也不能远程我和主机
一个很奇怪的现象:我的主机能ping通同一网段的其它主机,并也能xshell 远程其它的主机,而其它的主机不能ping通我的ip,也不能远程我和主机. [root@NB Desktop]# route ...
- 虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)
我在Windows7系统安装了虚拟机,通过虚拟机安装了Ubuntu13.04,我设置的主机与虚拟机的连接方式是桥接,安装好后,发现虚拟机ping不通主机,但是主机可以ping通虚拟机. 我的操作是:关 ...
- 防火墙设置:虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)
我在Windows7系统安装了虚拟机,通过虚拟机安装了Ubuntu13.04,我设置的主机与虚拟机的连接方式是桥接,安装好后,发现虚拟机ping不通主机,但是主机可以ping通虚拟机. 我的操作是:关 ...
- OpenStack平台上,windows云主机可以ping通百度但是无法打开网页,部分其它网页可以打开
问题描述: 在OpenStack平台上的64位Windows7虚拟机,可以ping通百度,但是却无法打开百度网页. 于是,笔者又对其它网址进行的测试,发现淘宝.京东.携程部分网页可以打开,而新浪等等网 ...
- VCenter中嵌套openstack VM不能ping通外部网络问题解决的方法
问题描写叙述: 近期搭建了vCenter环境,并使用vCenter创建的VM搭建了一套openstack环境.在验证openstack的外网功能时.发现报文死活ping不通外网,抓包发现报文在vcen ...
- 虚拟机Linux(centos)系统能ping通主机,主机无法ping通Linux解决方案
本文引用:https://blog.csdn.net/clean_water/article/details/53023308 三个步骤: 第一步:虚拟机网络连接方式选择Nat 第二步.关闭liunx ...
- 能ping通Linux但是ssh连不上问题解决方法
问题:能ping通Linux服务器 但是ssh连不上 <Linux redhat AS4 版本> 解决方法这个问题花了我20分钟去查资料,网上写的解决方法也是五花八门,不过,总算解决了, ...
- 关于能ping通服务器但ssh登陆不上的问题
一般来说能ping通服务器说明网没问题 这是可以查看一下防火墙的设置和ip的屏蔽设置 /etc/init.d/iptables status 查看防火墙状态 vim /etc/hosts.allow ...
- 虚拟机centos与主机互相Ping通
在虚拟机(Vmware Workstation)下,安装了CentOS7,现在想通过SSH工具连接虚拟机中的CentOS7 1. 首先,要确保CentOS7安装了 openssh-server,在 ...
随机推荐
- unbuntu 安装python包提示E: Unable to locate package python-timeout
今天本想着在unbuntu环境下安装python的一个包,安装了几次都提示 E: Unable to locate package python-timeout 查阅了一些信息才知道,原来是一些软件源 ...
- word文档重新打开后文档结构错乱
word文档重新打开后文档结构错乱,然后通过如下方法解决了. OFFICE2007及以上. 在打开word的时候左下角会有提示word自动更新文档样式,按esc键取消,然后在大纲模式下任 ...
- November 01st, 2017 Week 44th Wednesday
People always want to lead an active life, and is not it? 人们总要乐观生活,不是吗? Be active, and walk towards ...
- MySQL Error Code文档手册---摘自MySQL官方网站
This chapter lists the errors that may appear when you call MySQL from any host language. The first ...
- Nowcoder 提高组练习赛-R7
Nowcoder 提高组练习赛-R7 https://www.nowcoder.com/acm/contest/179#question 中间空了两场,因为实在是太难了... 第五场的第二题好像还比较 ...
- [GXOI/GZOI2019]逼死强迫症
题目 设我们最后的答案是\(g_n\) 我们发现在最后竖着放一个\(2\times 1\)的,和横着放两个\(1\times 2\)的就可以区分开之前的方案了 所以如果仅仅使用\(1\times 2\ ...
- Scala学习之路 (三)Scala的基本使用
一.Scala概述 scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性.scala运行在虚拟机上,并兼容现有的Java程序.Scala源代码被编译成java字节码,所以运行在JV ...
- Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-2-Compose 命令说明
Compose 命令说明 1)命令对象与格式 对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中 的服务或者容器.如果没有特别的说明,命令对象将是项目,这意味着项目中所有 ...
- 2019年春季学期《C语言程序设计II》助教注意事项
本学期<C语言程序设计II>课程安排 理论课时24(1-12周),实验课时8(13周),课程设计课时16(14-15周) 理论课教学内容 附:教学进度表 本学期实验课和课程设计参考教材 & ...
- Android cannot be cast to android.app.Fragment
10-21 17:33:45.171: E/AndroidRuntime(7644): java.lang.RuntimeException: Unable to start activity Com ...