重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在阿里云中购买服务器,可以免费自建专有网络VPC,就可以将购买的服务器放在一个网段中,成为互通的内网,加快内网中服务器的访问速度。但是专有网络中不是每一台服务器都有公网IP和带宽的,在访问服务器时,我们可以通过nginx,负载均衡等来实现对内网服务器的访问。但反过来,内网服务器要访问外网,就需要有NAT网关,但是阿里云的NAT网关是需要额外花钱购买共享带宽的,也就是专有网络中的服务器可以用购买的共享带宽来上网。但是,这要钱啊!
创新互联公司专注于网站建设,为客户提供做网站、网站设计、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。
在我们已经购买了公网IP和带宽的情况下,就可以利用现有的公网ip和带宽,在专有网络内,自建NAT网关,实现专有网络内所有服务器的上网。
注意:在阿里云的传统网络中,是不支持自建NAT网关的。只有在专有网络VPC中,才可以,但是VPC是免费创建的!免费! 很好,都不要钱。
下面我们就记录介绍一下如何在阿里云的的VPC中,自建NAT网关,实现上网。另外,别的云服务,方法类似,可以借鉴参考。
进入专有网络VPC中,进入路由表,进入路由表管理界面,选择添加路由条目
按如下配置新添加的路由条目,选择有公网IP和带宽的ECS实例作为下一跳。
下面进入你刚才作为下一跳的ECS实例,按照如下进行操作配置
至此自建NAT网关成功,实现了内网主机通过这台机进行上网,而反向的访问,就可以使用nginx的反向代理进行实现
根据我所知道的回答一下这个问题。
利用公有云(比如阿里云、腾讯云、华为云等)部署了应用之后,为了访问申请的云服务器,需要使用公网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转换必须有一方是公网地址
由于历史原因一直在用经典网络的 ECS,在安全性方面要弱于 VPC,所以决定将服务器迁移到 VPC 中。给 ECS 配置自定义 DNS 服务器的好处是可以给 ECS 分配自定义后缀的域名,比如 web01.abc ,这样在内网定位服务器就很方便,不用去记一堆内网 IP,如果配置得当,还可以通过 host $ip 这个命令寻找 IP 对应的服务器。
一开始的时候我按照给经典网络 Centos ECS 配 DNS 服务器的方法来操作,直接修改 /etc/resolv.conf ,把里面的 nameserver 配置改成了自己内网中 DNS 服务器 IP,但是发现重启服务器之后会被重置成阿里云分配的 DNS 服务器。
经过研究之后发现,是 Ubuntu 的 resolvconf 会在每次启动的时候将 /etc/resolv.conf 覆盖。 /etc/resolv.conf 本质上是一个软链,会链接到 /run/resolvconf/resolv.conf ,而后者可以通过 resolvconf -u 命令重新生成,生成的内容来自于两个地方:
所有我一开始的思路是:
在删除了 /run/resolvconf/interface/eth0.dhclient 文件之后,执行 service networking restart resolvconf -u 之后,发现 /etc/resolv.conf 里的内容变成了我们期望的值。
但是后来发现同一个 VPC 的不同子网之间 ECS 无法互通,检查之后发现是路由表配置不正确,原因就是之前把 DHCP 给改成了静态 IP,看来 DHCP 是不能禁了,只好重新寻找解决方案。
想到阿里云 DNS 服务器的值是来源于 DHCP,于是就尝试搜索禁止从 DHCP 获得 DNS 服务器,找到了一个相关的 问答 ,有两种方法,一是将 /etc/dhcp/dhclient.conf 文件中 request 配置项的 domain-name, domain-name-servers, domain-search 参数移除,二是在 /etc/dhcp/dhclient.conf 文件中追加一行 supersede domain-name-servers $dns_ip; 。
为了保险起见,我把两个方法都用上,然后执行 rm -f /run/resolvconf/interface/eth0.dhclient service networking restart resolvconf -u ,再重启了一次服务器。检查 /etc/resolv.conf 符合预期,与其他子网 ECS 也能互通,搞定。