笔者最近使用阿里云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)