之前用其他厂的云服务,把内部服务(比如数据库)绑定在内网 IP ,外网是访问不到的。结果到了阿里云,绑定在 VPC 内网 IP 的服务,默认情况下,外网是能够访问到的,相当于把内部服务暴露到外网了,吓出了一身冷汗,问了客服,是这么说的:
VPC 的外网 EIP 是 NAT 到网卡上的,所以内网监听,外网也可以访问
解决方案是:
取消 EIP 即可
取消 EIP ?我一脸黑人问号,遇到客服给出的这个解决方案,我怀疑自己遇到了假客服...
后来摸索了一下,正确的姿势是设置一下安全组(阿里云自己搞的防火墙),只开放必要的端口
当然,可能有人说,用 VPC 前先设置安全组是常识,但对于第一次使用阿里云的用户来说,使用默认设置(VPC 默认安全组是开放全部端口)的情况下,很容易就踩到这个坑了,联想到最近 mongodb/ES 被脱裤勒索,是否也有一部分是因为这个坑导致的呢?
感觉阿里云应该在明显的地方提示这样的默认配置,避免初次使用的用户趟坑啊
1
rrfeng 2017-01-18 15:06:27 +08:00
不用 EIP
我坚持的原则是所有服务器没有公网 IP 地址,要主动访问外面经过 NAT 网关 |
2
paw 2017-01-18 15:09:56 +08:00
google 家的防火墙规则是默认只开 22 和 icmp ,其他自己手工加
|
3
cevincheung 2017-01-18 15:56:39 +08:00
千万云有 VPC 吗?没有吗?有吗?
个人觉得千万云在国内所有云服务器产品中属于最渣的(没有之一) |
4
wzxjohn 2017-01-18 16:09:15 +08:00
虽然是阿里黑,但是呢也要说一句。国内的云厂商,包括但不限于阿里云,腾讯云等,大多数对于 外网 IP/EIP 的做法都是 NAT 到网卡上,不论你是基础网络还是 VPC 。也就是说不管是哪家,基本都是监听 0.0.0.0 就相当于公网监听。
|
5
wzxjohn 2017-01-18 16:09:54 +08:00
当然腾讯云的默认策略是 Linux 只放通 22 ,除非你手动选了全通。
|
6
EPr2hh6LADQWqRVH 2017-01-18 16:50:47 +08:00
其实 Amazon 也是这样的来着。
如果真的一组公网 IP 给你路由到 VPC 里面。。。。。。 你确定你想自己做这些操作吗。。。 |
7
mooncakejs 2017-01-18 16:53:32 +08:00
基本上买过的 vps 这种都是这样的,同时只能作为入口用,不能用 interface 绑定出口,只有一台实体服务器是绑定到网卡的。
|
10
suomy OP @avastms
@mooncakejs 我的问题是,内部服务监听内网 IP ( e.g. 192.168.1.10 ),结果默认同时绑定到外网去了(相当于绑定 0.0.0.0 ),内部服务暴露出去了,其他的厂商也是这样的? |
12
hawhaw 2017-09-25 10:37:22 +08:00
vpc 的公网地址一对一 map 进来的就是这样的呀,外网的网络设备上对进来的包做了 DNAT 了呀,目标地址已经由公网转换成你的私网地址了呀,所以你的服务绑定在私网上也一样可以被访问到呀,所以,做好安全组以后再绑 eip 即可。
|