openstack 云主机可以ping外网但ping不通浮动IP
情景如下:
我在云主机10.0.50.4中做测试,首先明确一点是:10.0.50..4可以ping通网关10.0.50.1,也能ping通外网192.168.18.0、24网段。当我第一次给云主机加入浮动IP(192.168.18.101)后,一切正常,也没有报错,之后我想用该云主机ping一下这个浮动IP,可惜的是不能够ping通
1)这时,我找了下原因,首先想到是是浮动IP的原理,又一次回顾了下原理,发现它是通过Iptables规则来处理的。由于这里没有报错,所以没有问题
2)接下来自然而然想到了安全组规则,我发现规则好像都没错。因为默认的安全组规则如下:
刚开始我以为可样就可以了,因为我发现ping其他地方的都有用,而且可以ssh到其他的外部主机。但是,事实上并不是这样的
3)我试图找找有没报错的地方,查找了日志文件,发现并没有显式的bug出现
4)在网上找了些相关的帖子看看,有人说加入的规则有问题,又回到了安全组规则上
5)于是,我添加入这样一个规则
导致规则链中成了这样
发现还是ping不通
6)辗转好久,终于发现,其实规则应该这样设置
这样,终于可以看到下面的结果了
我想从外网主机ping 192.168.18.101 ,照样OK
7)我发现,从外部主机192.168.18.18不能SSH到192.168.18.101。这时我立马想到了安全组规则。于是我马上添加了一条ALL TCP, 远程为CIDR的规则。瞬间发现SSH也可以了
参考链接: