添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

笔者最近使用阿里云CDN(内容分发网络)来给 OSS 源站点做加速,CDN的管理后台可以设置IP黑名单的来屏蔽恶意的流量请求。笔者用手机的这台电脑做了测试,CDN的后台日志记录了笔者最近的IP访问记录,于是笔者想先查看下本机的公网IP地址,然后在后台选择该 IP 地址来做屏蔽黑名单的测试。但是让我笔者疑惑的问题出现了,笔者在不同的网站上面查的公网IP居然是不相同的?笔者接入的带宽运营商是方正宽带。

运营商:「方正宽带」  不同站点IP查询记录 日期|IP查询网站

ipshudi

ip138

baiduchinazDay: 10.15

100.102.18.22

(保留地址: 运营商级NAT IP地址)

59.109.149.63

(中国北京北京 方正宽带)

59.109.121.31 (中国北京北京 方正宽带)

60.10.12.102

(中国河北廊坊安次区 联通)

Day: 10.16

100.102.3.228

(保留地址: 运营商级NAT IP地址)

59.109.145.139

(中国北京北京 方正宽带)

59.109.121.175 (中国北京北京 方正宽带)

222.129.60.69

(中国北京北京 联通)

备注:「IP 地址单元格」的括号里面是IP的归属,在ip138首页输入IP地址查询可以获取到。

一、横向比较与分析

按日期横向来比较,不同网站查询到的IP地址不一样。为了方便说明,这里先忽略第一列的「保留地址」,只看后面三列的数据,ip123 和 baidu 查询 IP 都属于方正宽带,chinaz 查询到的IP属于联通,这是因为长城宽带租用了基础运营商-联通的带宽,所以如果走联通的出口获取到的就是联通的公网IP。这里也可以这么理解,当笔者本机请求 ip138、baidu、chinaz 这三个站点时,因为请求的「 目标站点 」不一样的,选择的出口不一致,因此接入公网的IP就不一样了。 这种情况在小的运营商里很常见(通过基础运营商电信、联网、移动接入公网),尤其是长宽、歌华、宽带通(俗称二手运营商)等,据说接入的是联网、电信这样宽带服务不会出现类似的问题。简单点说,你的网络运营商有多个出口,不同出口的IP公网地址不同。

二、纵向比较与分析

如果以某个网站为基准纵向对比,同样的运营商(ISP),为什么查询到的IP公网地址也不相同呢?答案是「 动态NAT技术 」。

1. NAT技术原理介绍:

这里为了方便理解,先介绍下NAT(一种网络地址转换技术)。简单来说,我们的IP地址分为「公网/外网IP」和「私网/内网IP」,因为ipv4设计的局限性,随着全球联网设备的不断增加,公网IP地址已经接近枯竭,因此采用NAT技术可以实现将一个公网IP和多个内网IP地址之间的转换,解决了IP公网地址短缺的问题。通过这种方式,多个用户能够「共享」同一个公网IP,所以即使运营商只分配了一个公网IP,多个用户也能同时访问 Internet。

在 IPv4 地址资源越来越紧张的今天,很多电信运营商,已经不再为用户分配公网IP;而是直接在运营商自己的路由器上运营 NAT,为用户分配内网 IP。这样,只需要少量的 IP 地址,就可以支撑大量用户的上网需求。这样的 NAT 又叫做 CGN(Carrier-grade NAT,电信级 NAT)

2、什么是动态NAT?

使用公有地址池,并以先到先得的原则分配这些地址。当具有私有IP地址的主机请求访问 Internet 时,动态 NAT 从地址池中选择一个未被其它主机占用的 IP 地址一对一的转化。当数据会话结束后,路由器会释放掉公有IP地址回到地址池,以提供其他内部私有IP地址的转换。

3、动态选择公网IP地址

内网中有设备需要去访问我们公网,需要做一个NAT地址转换,把我们私网的IP地址转换成我们公网的IP地址,这时就需要使用动态NAT了,使用地址池中的公网地址进行IP地址转换,去访问我们的公网,因为选择的公网IP是随机的或者变化的,所以我们查询到IP地址就不一样了。

三、保留地址:运营商级NAT IP地址

现在来说下最开始提到的 「保留地址」 ,ipshudi 网站查到的两个IP地址有个特点,他们的地址都是在 100.64.0.0 ~ 100.127.255.255」 这个范围以内,这个 保留地址也是用于内网,但是这个内网不是一般内网而是 Carrier-grade NAT ,这个英文对应的翻译是“ 运营商级NAT ”。进一步搜索得知2012年4月的 RFC 6598 (IANA-Reserved IPv4 Prefix for Shared Address Space) 将 100.64.0.0/10 (Shared Address Space) 地址块,用于给运营商ISP使用。

常见的保留地址见下图,这个数据是我们网上可以搜到的,但是因为比较老旧了,所以看不到上面提到的「 Carrier-grade NAT 」保留地址:

更加「 完善 」的保留地址:

既然在「ipshudi」网站查到的两个IP地址都是NAT处理后的内网地址,它们就是动态生成的,所以不一样也就可以理解了。

「注意」 :为什么一个内网地址可以在「ipshudi」这样的第三方站点查到呢?笔者在CDN后台的请求IP日志里也找到了和「ipshudi」同样的内网地址。内网IP是不可以直接和外网站点就行连接和通信的,那这个地址是怎么获取到的呢?所以笔者的猜想是:「ipshudi」和 「CDN站点」在笔者接入的方正宽带的内网里也有服务器,既然用户和第三方服务器都都在同一个内网,所以获取到的IP地址也是内网地址,见下表的第一行:

既然用户的IP地址是变化的,那么CDN用后台记录的IP来做黑名单管理可能就不是那么准确了。因为用户发起请求的的公网IP在不断变化,恶意请求源IP就无法准确定位了。另外,如果单个公网IP通过NAT由多个用户共享并联网,那么被黑名单屏蔽的公网IP可能会影响到其他的正常请求服务的用户了。

为了弄明白上面的这个问题,笔者查阅了相关文章,重拾起「计算机网络」的基础知识,对一些疑惑的知识点有了更清晰和更深入的理解。推荐几篇非常好的文章,能帮助你快速建立计算机网络的整体知识结构和图谱,并且轻松掌握一些比较难理解的基础知识,可以进一步帮助你的工作和学习。

互联网协议入门(一) - 阮一峰的网络日志

入网指南 01 | 一文读懂你身边的「网络」

入网指南 02 | 当你发消息的时候,发生了什么

入网指南 03 | 交换机在交换什么? - 少数派

入网指南 04 | IP 地址大揭秘 - 少数派

家庭网络中的「NAT」到底是什么? - 少数派

FastDFS 系统有三个角色,跟踪 服务器 (Tracker Server)、存储 服务器 (Storage Server)和客户端(Client)。 话不多说开始吧! 对了如果发生了什么错误可以在文章尾部查看有没有类似错误!!! 1 安装软件 以下软件在安装fastdfs都可能用的到,为了防止安装时报错我们全部安装。 yum -y install zlib z NAT转发:简单地说,NAT就是在局域网内部 网络 中使用内部地址,而当内部节点要与外部 网络 进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处,将内部地址替换成公用地址,从而在外部 公网 (internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共 IP 地址紧缺的问题。通过这种方法,可以只申请一个合法 IP 地址,就把整个局域网中的计算机接入Internet中。这时,NAT屏蔽了内部 网络 ,所有内部网计算机对于公共 网络 来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在。如下图所示。这里提到的内部地址,是指在内部 网络 中分配给节点的私有
如果把家庭宽带,路由器的动态 公网 ip 和域名进行绑定 把家庭主机变成 公网 服务器 1>获取路由起的 公网 ip 注意事项:一定是路由器通过opp 拨号上网,获取到的 公网 ip (也就是我们经常在百度搜索的输入框里面 输入"本地 ip " 点击搜索 显示的 ip 地址) 2>修改:项目:qhztms-dsn 里面的 配置文件application.properties(springboot) 后 运行就可以把 路由器的动态 公网 ip 地址绑定到制定的域名上了,频率4四分钟一次。自己可以手动修改 3>注意事项:如果自己的路由器是通过opp拨号上网,但显示的 公网 ip 和百度的 “本地 ip ” 显示的结果不一样,那就要找宽带客服,让他们开一个 公网 ip 就可以了。 有问题咨询:qq:49046304
IP 的发送与转发:关于“内网的所有用户都是通过同一个外网 IP 地址进行上网的。”的理解 一、首先我们先了解一下什么是 IP 公网 IP 、内网 IP 以及 网络 地址转换NAT? IP 是Internet Protocol(网际互连协议)的缩写,是 TCP / IP 体系中的网际层协议。设计 IP 的目的是提高 网络 的可扩展性:一、是解决互联网问题,实现大规模、异构 网络 的互联互通;二、是分割顶层 网络 应用和底层 网络 技术之间的耦合关系,以利于两者的独立发展。 根据端到端的设计原则, IP 只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务
详解用java获取主机名和 IP 地址过程中所遇到的问题 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你...
造成该现象的原因是谷歌浏览器SameSite安全机制问题,浏览器在跨域时不允许请求携带cookie。所以每次session id都是新的。 浏览器地址栏中输入chrome://flags/ 搜索关键字SameSite将下图中圈画的设置设为disabled,关闭浏览器,重新打开后即可,便不会有 不同 session id 的现象。
前提:在H3C防火墙上对内部 服务器 IP :192.168.200.1上在电信和移动出口都做了映射8089,现在外网(电信、移动、联通)访问能通过移动运营商112.12.34.5:8089/c6访问,但是不能通过电信运营商60.182.172.53:8089/c6访问。      要求:现在希望外网即能通过移动也能通过电信访问。 解决方法:需要在二个接口上都要添加如下命令, 1、 int
想到了域名配置dns解析, 应用里面都配置域名代替 ip 地址.每次 ip 变了我只需要去改一下域名的dns解析就可以了 但是还会有问题, 每次都需要手动改一下, 并且还必须得连上家里网才能知道最新的 公网 ip 查了阿里云/腾讯云/华为云等等dns解析都对外提供了api文 1, ip config查出的是 本机 ip 地址,此地址仅限于在局域网内使用,不能连通外网 2,百度查出的地址是与外界 网络 通信的 ip 地址,不是你主机的地址,而是电信或联通分给你的地址,用于连接互联网 现在我们想知道的是,为什么要弄两个 不同 的地址,以及这两个地址之间的关系??? 2,为什么会存在这样子的现象 2.1存在原因 2.2解决方法 在同一个局域网内,使用 不同 私网 ip 的人,使用同一个 公网 ip 去上网,这样用于 网络 通信的 ip 地址就大大减 Nginx重启报错: [error] open() “/usr/local/nginx/logs/nginx.pid“ failed (2: No such file or directory) HTML页面跨域请求图片资源报错:Failed to load resource: the server responded with a status of 403 (Forbidden)