一次与iptables有关的Openstack排错
先说下环境: 宿主机A(192.168.1.242)上运行着实例a(192.168.1.176), 宿主机B(192.168.1.56)上运行着实例b(192.168.1.50).
用户说从实例b上telnet实例a的9000端口, 但是在实例a上通过netstat -an | grep 9000查看到的Remote IP并不是实例b的, 而是宿主机B的网卡IP(192.1638.1.56). 于是我想是不是把实例a迁移到宿主机B上来就可以解决问题. 但是很可惜, 答案是否.
此时的环境: 宿主机B上运行着实例a和b.
于是我从iptables着手排查. 发现在宿主机B上有如下几条重要的规则链:
Chain nova-network-snat ( references)
pkts bytes target prot opt in out source destination
312K 20M nova-network-float-snat all -- * * 0.0.0.0/ 0.0.0.0/
RETURN all -- * * 192.168.1.60 0.0.0.0/
RETURN all -- * * 192.168.1.50 0.0.0.0/
80764 5060K SNAT all -- * * 192.168.1.32/27 0.0.0.0/0 to:192.168.1.56 Chain nova-postrouting-bottom ( references)
pkts bytes target prot opt in out source destination
312K 20M nova-compute-snat all -- * * 0.0.0.0/ 0.0.0.0/
312K 20M nova-network-snat all -- * * 0.0.0.0/ 0.0.0.0/
231K 15M nova-api-snat all -- * * 0.0.0.0/ 0.0.0.0/ Chain POSTROUTING (policy ACCEPT packets, bytes)
pkts bytes target prot opt in out source destination
368K 23M nova-compute-POSTROUTING all -- * * 0.0.0.0/ 0.0.0.0/
368K 23M nova-network-POSTROUTING all -- * * 0.0.0.0/ 0.0.0.0/
312K 20M nova-api-POSTROUTING all -- * * 0.0.0.0/ 0.0.0.0/
312K 20M nova-postrouting-bottom all -- * * 0.0.0.0/ 0.0.0.0/
此时问题就显而易见了: 192.168.1.33--62范围里的地址会通过SNAT动作将源地址转换为192.168.1.56. 所以在实例b上看到192.168.1.56这个地址也就解释的通了!
由于不清楚这条规则有没有实际作用, 所以我采用手动插入以下规则使之生效:
iptables -t nat -I nova-network-snat -s 192.168.1.50/ -j RETURN
一次与iptables有关的Openstack排错的更多相关文章
- openstack排错
一.排错方法: 1.查看日志路径为/var/log,具体哪个组件出了问题进入其目录查看. 2.debug root@sc-ctrl01:~# keystone --debug user-list ro ...
- openstack 排错
1.查看日志 grep ERROR /var/log/keystone/keystone.log 2. # nova list ERROR:n/a (http 404) 检查环境变量是否正确.
- 深入理解 Neutron -- OpenStack 网络实现(1):GRE 模式
问题导读1.什么是VETH.qvb.qvo?2.qbr的存在的作用是什么?3.router服务的作用是什么? 如果不具有Linux网络基础,比如防火墙如何过滤ip.端口或则对openstack ovs ...
- Ubuntu 12.04 Openstack Essex 安装(单节点)
这是陈沙克一篇非常好的博文,当时在进行openstack排错的时候,多亏了这篇文章里面有些内容 帮我找到了问题的所在: 原文:http://www.chenshake.com/ubuntu-12-04 ...
- 云计算openstack核心组件——keystone身份认证服务
一.Keystone介绍: keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户 ...
- 云计算底层技术-虚拟网络设备(Bridge,VLAN)( 转发)
云计算底层技术-虚拟网络设备(Bridge,VLAN) Posted on September 24, 2017 by opengers in openstack openstack底层技术-各种虚拟 ...
- squid代理http和https方式上网的操作记录
需求说明:公司IDC机房有一台服务器A,只有内网环境:192.168.1.150现在需要让这台服务器能对外访问,能正常访问http和https请求(即80端口和443端口)操作思路:在IDC机房里另找 ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(3)
继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装:kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)kvm虚拟化管理平台WebVirtMgr部署-完 ...
- keyston报错处理
1.35357端口启动不了 [root@controller conf.d]# openstack project create --domain default \ > --descripti ...
随机推荐
- 如何定义移动端字体Font-Family?
1.对于IOS 手机系统,默认中文字体是Heiti SC.默认英文字体是Helvetica.默认数字字体是HelveticaNeue.无微软雅黑字体: 2.对于Android 手机系统,默认中文字体是 ...
- 【转】Myeclipse建立Maven项目
原文地址: http://b-l-east.iteye.com/blog/1246482 1. 使用Maven创建webapp工程----原因是使用Maven时一般需要遵循一定的目录结构,虽然也可以使 ...
- 关于sharedPreferences的使用
在登录中,android 为什么能够保存上次的登录信息,就是使用了sharedPrerences进行获取和存储 比如记录了之前登录过的用户名.登录时间.登录详情等等
- CentOS增加swap分区
使用dd命令创建一个swap分区 [root@localhost Desktop]#dd if=/dev/zero of=/home/swap bs=1024 count=1048576 count的 ...
- 多表头固定demo--html Table
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- BZOJ 1355 & KMP
BZOJ放这种丝帛我也是醉了... 不过来填一下求最小循环节的坑... 以这道题为例,相同文本串粘起来的串中取一小节,可以把任意一个字符看做文本串头. 那么我们一次KMP求出next函数然后显见,最后 ...
- Android HttpURLConnection And HttpClient
Google的工程师的一个博客写到: HttpURLConnection和HttpClient Volley HTTP请求时:在Android 2.3及以上版本,使用的是HttpURLConnecti ...
- Leetcode Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...
- SpringMvc出现No mapping found for HTTP request with URI的终极解决办法
No mapping found for HTTP request with URI 出现这个问题的原因是在web.xml中配置错了,如: <servlet> <servlet-na ...
- children和childNodes的区别
children和childNodes 1,childNodes 属性,标准的,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本.可以通过nodeType来判断是哪种类型的节点,只有当no ...