重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
根据我所知道的回答一下这个问题。
创新互联制作网站网页找三站合一网站制作公司,专注于网页设计,成都网站设计、成都网站制作,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为数千家服务,创新互联网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
利用公有云(比如阿里云、腾讯云、华为云等)部署了应用之后,为了访问申请的云服务器,需要使用公网IP,公有云服务商不仅提供了固定的公网IP,更多采用的是弹性公网IP。
弹性公网IP的基础是:NAT
弹性公网IP
申请了弹性公网IP之后,可以将期绑定到云服务器实例,用于通过公网访问自己申请的云主机。
总结
腾讯云、阿里云、华为云均支持弹性公网IP。随着公有云业务的不断发展,云服务提供商的公网资源是远远不够的,目前通过运营商上网也采用了运营商级别的NAT。将来有可能所有的云主机均得采用弹性公网IP。
对于公有云服务商提供的云服务器的公网IP,大家有什么看法呢,欢迎在评论区,留言讨论。
如需更多帮助,请私信关注。谢谢
瞎回答的很多。实质上,并没有魔术。阿里云的ip就是买的,是一大段一大段ip范围买下的。
那些说类似专线独立ip的人,都是瞎掰,专线实质上是电信买下的ip范围里租一个给你用,电信那端通过调整路由表把对应的ip报文转发到你那根物理线路上。
阿里云的技术方式完全不一样。
首先阿里和电信一样,都是购买巨大的一段ip地址范围,它的地址范围不比电信小多少。ipv4的地址范围就是这些大佬买光的,国外aws,google,微软的ip范围更大。
其次,阿里云内部,不是简单的改路由器,而是当有bgp能力的核心路由把全网络里属于阿里云的ip报文导入数据中心后,通过服务器进行报文数据软交换,也就是常说的sdn(软件定义的网络)技术把ip分配给具体的虚拟机。这样确保虚拟机绑ip可轻松的自动绑定。当你在界面上点一下申请弹性ip的时候,阿里云就从它的ip池里空余的ip中,分一个给你,注意,这个ip池比阿里的机器数量,甚至虚拟机数量要大很多。当你分配了弹性ip后,如果要绑定弹性ip到具体某个虚拟机时候,背地里,阿里云就简单的把这个ip和虚拟机的路由关系告诉它的软交换服务器集群,然后所有进入阿里云中的报文里,属于这个ip的报文被投递给这台虚拟机。
下面有很多瞎回答的,NAT是可以减少公网IP地址的使用,但还是需要公网IP。
公网IP只可能是云服务商自己向电信或移动等运营商买的。
阿里云有很多服务器,但是并不是所有服务器都需要公网IP,比如数据库服务器,负载均衡服务器等,只需要内网IP就够了。实际需要使用公网IP的服务器就是直接面对用户的那几台而已。
借助内网IP和弹性公网IP,以及IP回收等,实际需要使用的公网IP数量是可控的。
那么,阿里云到底有多少公网IP呢?可以看下这里的不精确统计
大概是 860万个公网IP。
这里面包含了阿里在国内、美国、新加坡的IP地址统计,应该还不完整。
一句话回答:就是买的。
通过BGP自治号(AS)查询,阿里云大约有3千万个公网IP,AS名称为“CNNIC-ALIBABA-CN-NET-AP”,有兴趣的可以自己去查。
另外这么多IP当然不可能是运营商分配的,事实上运营商的公网IP还没阿里云多,这些IP是阿里云向CNNIC申请,APNIC审核并最终由ICANN分配的。
在逻辑上阿里实际就是一个运营商,它和移动联通电信的网络连接,和移动联通电信三网互通原理完全一样,都是基于边界网关协议BGP,搞一次地址广播的花费至少就要花好几百万
没啥特别的实现方法,就是大批量买IP地址,通过广域网路由协议发布。
原来IPV4地址还不值钱,阿里早就大段大段地买,囤积了非常多的IPV4地址资源。
国内的BAT,从IPV4资源来看,阿里比腾讯多一个数量级,腾讯比百度多一个数量级,百度比其他厂商多一个数量级。
查了下阿里的AS信息,大概有十来个B段地址。
现在的IPV4地址,基本上已经分配完了,现在要拿到新的IP网段,基本上只能找ISP买,或者收购其他有IPV4资源的公司。
全世界所有的公网IP地址都源自ICANN这个组织,这个组织掌握着全球“互联网地址簿”
互联网协议(IP)地址的空间分配、协议标识符的指派、通用顶级域名(gTLD)、国家和地区顶级域名(ccTLD)系统的管理、根服务器系统的管理等都是由ICANN负责管理。
ICANN先分配给亚太互联网信息中心(APNIC)、欧洲IP资源网络协调中心(PIPE NCC)、美洲互联网号码注册机构(ARIN)、拉丁美洲和加勒比地区互联网信息中心(LACNIC)、非洲互联网络信息中心(AfriNIC),再由这些地域性的组织分配给所在区域的ISP。
IPV4最多可以提供约42.9亿个IP地址,这么多年过去了,用着用着就发现不够用了。虽然全世界的各个分配机构都相继宣告了IPV4地址已经耗尽,但还是有大量的ISP私藏了大量的IPV4的IP地址。
绝大多数人对IPV4地址枯竭这件事都理解有偏差
宣告枯竭的对象是IPV4地址分配组织,它只是告诉大家我手里所有的IPV4地址已经全部发放完毕了,至于已经从分配组织获得的IP地址,分配组织才不管你用还是不用。假如还想从分配组织手里申请新的IPV4地址就必须要等别人不用归还,稀缺的资源往往需要排队走关系。
所以但凡稍微有点实力的ISP运营商都不会傻傻地将IPV4地址退回去,而是大批量的囤货,即使不用也会攥着手里。假如真有那些坚持不下去的ISP运营商,退了多少IPV4地址立马就会被瓜分掉。IPV6在不断的普及当中,当简短的IPV4地址注定会变成一种稀缺资源。
ISP手里囤积的IPV4地址是完全足够日常使用
IPV4地址就像海绵里的水,你挤挤它就会出来。这也就是为什么很多服务器的运营商和网络运营商能够保证公网IP地址的供应。
IPV4地址到目前为止还能游刃有余,很大程度上归功于NAT技术,即网络地址转换。
NAT技术能够将当前地址空间中的IP地址映射到另一个地址空间,可以理解成一个转换表,其中存储着外部地址/端口到内部地址/端口的转换关系。通过NAT技术就无需每台设备都拥有一个独立唯一的IP地址,可以很多台设备共用一个公网IP地址,而局域网内使用私网不重复的IP地址即可。
NAT技术不仅可以缓解IP地址短缺的问题,还可以有效地保护私有网络。现在申请宽带已经很难再申请到公网IP地址了,甚至于运营商可以实现一个地区都使用内网IP地址。那么问题就来了,绝大多数人并不喜欢NAT转换技术,希望设备能够获得公网的IP,便于远程管理。所以很多“攻城狮们”会尝试通过各种NAT穿透技术来解决NAT转换技术所带来的问题,比如:SOCKS、UPNP、ALG等等。
实际上服务器对于公网IP地址的需求量也并没有那么大,比如:很多网站、域名可以存放在一台服务器上,共用一个公网IP地址。理论上服务器的配置足够、带宽足够可以同时存放N多个网站,应用类的APP服务器也是同样的道理。
公网IP地址的配置和局域网的IP地址配置并无二致
互联网内很多组织都共同维护着一本类似“114”的地址查询薄,IP地址由分配组织分配给ISP后,分配组织就会更新地址簿,其他组织就会同步更新。
这就好比快递,收快递的人也许并不知道送到具体哪个地方,他只需要将包裹收好贴上地址后统一放到快递站点,再由快递站点送到区域中转站,再由区域中转站送到市级以上的大型中转站,大型中转站就知道如何层层下发,最终有派件员送到收快递的人手中。
IP地址分配组织会标识每个IP地址具体是属于哪个ISP运营商,至于ISP运营商是想很多个网站或者应用用一个公网IP地址、还是一个服务器用多个公网IP地址、还是一个服务器使用弹性的公网IP地址,就不是IP地址分配组织会管的事情了。
阿里云服务器是如何实现每台服务器都是公网IP的呢?服务器那么多,不应该每台服务器都去运营商购买公网IP吧。难道是使用NAT转换的吗?
阿里云的ip就是买的,是一大段一大段ip范围买下的。
那些说类似专线独立ip的人,都是瞎掰,专线实质上是电信买下的ip范围里租一个给你用,电信那端通过调整路由表把对应的ip报文转发到你那根物理线路上。
阿里云的技术方式完全不一样。
首先阿里和电信一样,都是购买巨大的一段ip地址范围,它的地址范围不比电信小多少。ipv4的地址范围就是这些大佬买光的,国外aws,google,微软的ip范围更大。
其次,阿里云内部,不是简单的改路由器,而是当有bgp能力的核心路由把全网络里属于阿里云的ip报文导入数据中心后,通过服务器进行报文数据软交换,也就是常说的sdn(软件定义的网络)技术把ip分配给具体的虚拟机。这样确保虚拟机绑ip可轻松的自动绑定。当你在界面上点一下申请弹性ip的时候,阿里云就从它的ip池里空余的ip中,分一个给你,注意,这个ip池比阿里的机器数量,甚至虚拟机数量要大很多。当你分配了弹性ip后,如果要绑定弹性ip到具体某个虚拟机时候,背地里,阿里云就简单的把这个ip和虚拟机的路由关系告诉它的软交换服务器集群,然后所有进入阿里云中的报文里,属于这个ip的报文被投递给这台虚拟机。
阿里云有很多服务器,但是并不是所有服务器都需要公网IP,比如数据库服务器,负载均衡服务器等,只需要内网IP就够了。实际需要使用公网IP的服务器就是直接面对用户的那几台而已。
借助内网IP和弹性公网IP,以及IP回收等,实际需要使用的公网IP数量是可控的。
人家阿里有自己的as号好吧,bgp互联的,有自己ip段,nat个锤子
很正常,开过专线的就知道,给钱,一条线路,所有内网电脑全可以分配外网ip。
当然是向运营商买ip了,不可能是NAT,至于为什么不是,你需要了解NAT的工作原理,NAT其中一个必要条件是NAT转换必须有一方是公网地址
内网服务器操作过程如下:
首先安装nginx和启动
1 [root@内网 ~]# yum install nginx -y /dev/null
2 [root@内网 ~]# /etc/init.d/nginx start
3 Starting nginx: [ OK ]
4 [root@内网 ~]# lsof -i:80
5 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
测试nginx安装正常,可以访问。
1 [root@内网 ~]# curl -I localhost
2 HTTP/1.1 200 OK
3 Server: nginx/0.8.55
公网服务器操作如下:
首先修改内核参数,开启ip转发
1 [root@公网 ~]# sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
2 应用生效
3 [root@公网 ~]# sysctl -p
4 net.ipv4.ip_forward = 1
配置iptables,将访问公网服务器80端口的请求,转发到内网服务器的80
1 [root@公网 ~]# iptables -t nat -I PREROUTING -d 115.29.96.246 -p tcp --dport 80 -j DNAT --to 10.144.26.11:80
这时候我们访问公网服务器IP测试一下,同时抓包看转发后的数据包情况:
这样原地址是访客的公网IP,目标是内网服务器的内网地址,这样也没办法双向通讯啊,所以,需要让这个数据包的原地址,也变成内网地址,这样才能和内网服务器建立通讯。
修改原地址就是SNAT
我们继续在公网服务器配置:
1 [root@公网 ~]# iptables -t nat -I POSTROUTING -d 10.144.26.11 -p tcp --dport 80 -j SNAT --to 10.163.209.59
访客本地公网-公网服务器公网IP
修改目标地址
公网服务器内网IP-内网服务器IP
修改原地址
内网服务器IP-公网服务器内网IP
公网服务器公网IP-访客本地公网
完成通讯,试试看。
登录路由器后,找到转发规则,里面有个虚拟服务器,点击添加新条目,输入你要映射的端口号,你计算机的ip地址,协议,生效即可。 例如你计算机的ip为192.168.1.10,要映射的端口为21,协议tcp,设置如图: