首页 > 代码库 > openstack固定ip和浮动ip
openstack固定ip和浮动ip
今日在学习openstack的网络,我们用的是flatdhcp这种网络模式。一直有个疑惑,为什么固定ip是不能访问,而浮动ip是可以ping通。这是怎么做到的。
其实固定ip和浮动ip本质是没什么区别的,先需要看下iptables的一些知识
假设我们在云主机上ping 浮动ip 192.168.139.7,那么是直接从本地进程出发,到路由表,走output链
查看iptables的规则,可以看到在nat的表中有一个dnat的规则,也就是
Chain nova-network-OUTPUT (1 references) target prot opt source destination DNAT all -- 0.0.0.0/0 192.168.139.7 to:192.168.138.17
既然修改的是nat表中的output链,这个过程是把目标访问是浮动ip变为固定ip。这个可以通过,而直接ping固定ip是不能通过的,那么只有通过在filter这里的output链中的规则了。果然查看filter可以看到
Chain nova-compute-inst-43 (1 references) pkts bytes target prot opt in out source destination 28080 4431K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 nova-compute-provider all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT udp -- * * 192.168.138.227 0.0.0.0/0 udp spt:67 dpt:68 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 match-set b0f65738cef046168b1dbed09be4c14 src 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ! ctstate DNAT 0 0 ACCEPT 4 -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 1:65535 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 nova-compute-sg-fallback all -- * * 0.0.0.0/0 0.0.0.0/0
其中有一个很重要的DROP!这条规则最后就是在filter的output链路中!
那么如果我们这个ping是从其他地方过来的,数据包又是怎么走的?这个时候在上面的图中走的是数据包到本地进程这条路线,只要有路由就是ping通。
以上都是开通安全规则的情况
openstack固定ip和浮动ip
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。