怎么根据用户ip地址转换成相应的省会地址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么根据用户ip地址转换成相应的省会地址相关的知识,希望对你有一定的参考价值。
应为网站需求用户直接进来就根据用户的ip定位到访问点的市级,比如我这是成都的ip,获取到ip后怎样把这个ip转换成”成都“呢?求大神给个思路吧。
条用个第三方就行。比如获取到ip后模拟百度搜索这个ip,然后再返回结构中利用正则匹配到结果省份。追问
模拟百度搜索这个是啥意思啊?
追答就是用代码模拟调用一下百度搜索。
或者也可以就像楼下说的,做好ip库文件,然后加载文件对比查询。但是这样的话估计效率不太好,毕竟ip库比较大。
注册就能免费使用。
链接成功你想要的城市即可。
网络地址转换 NAT
一、概念
网络地址转换(Network Address Translation,NAT) 将私网地址和端口转换成公网地址和端口,让使用私网地址的网络设备可以访问互联网。
NAT的工作原理是通过解析IP报文头部,自动替换报文头中的源地址或目的地址,实现使用私网地址的用户可以通过私网地址访问互联网。私网IP转换成公网IP的过程对于用户而言是透明的。
二、私网地址
为满足实验室、公司或其它组织独立于internet使用网络的需求,RFCA(Requests For Comment)预留了三段IP地址段给用户使用,私有地址不能在internet上分配,因此可以于用户自由使用。
私有IPv4地址空间
A类:10.0.0.0 - 10.255.255.255 (10.0.0.0/8)
B类:172.16.0.0 - 172.31.255.255 (172.16.0.0/12 )
C类:192.168.0.0 - 192.168.255.255 ( 192.168.0.0 /16 )
三、NAT的优缺点
优点:
(1)节省IP地址空间
(2)解决IP地址重叠问题
(3)当网络变更时减少更改IP重编址的麻烦
(4)对外隐藏内部地址,增加网络的安全性
缺点:
(1)增加转发延迟
(2)丧失端到端的寻址,某些应用不支持NAT
(3)需要消耗路由器的CPU和内容进行NAT操作
四、NAT的类型
(1)源IP地址转换(Source IP address-based NAT):
1.1 No-Port 地址转换( No-PAT)
1.2 网络地址及端口转换 (NAPT)
(2)目的IP地址转换 (Destination IP address-based NAT):
1.1 NAT Server
1.2 目的NAT
NAT类型1(No-PAT):
NAT No-PAT 也称为 “一对一地址转换”,在地址转换过程中,数据包的源IP地址由私网地址转换为公网地址,但端口号不做转换。
注:配置No-pat后,设备会将转换前后的地址的所有端口进行一 一 对应,这种应用的优点是私网地址的所有端口不做转换,缺点是公网地址不能被其它私网地址使用。
NAT类型2(NAPT):
NAPT是指在进行NAT转换IP地址的同时,还对端口号进行转换,这种应用可以实现多个私网地址共用一个公网IP,在NAPT方式中,还可以直接借用设备与互联网相连的接口的IP地址作为转换后的IP地址,这种借用接口IP做NAT的应用又称为easy-ip。
NAPT也称为“地址复用”,通过配置NAPT,设备将同时对ip和端口进行映射,允许多个私网ip地址同时映射到一个公网IP,相同的公网IP通过不同的端口映射不同的私网IP,从而实现多对一或多对多的地址转换。
NAT类型3(NAT Server ):
NAT Server 能使内部服务器可以供外部网络访问,外部用户访问内部服务器时,NAT将请求报文的目的地址转换成内部服务器的私有地址,对内部服务回应报文,NAT会将回应报文的源地址(私网地址)转换成公网地址。
五、NAT配置实例
1. NAT类型1(No-PAT):
(1)按上图拓扑结构,构建网络(配置略)
(2)在R1路由器做一对一静态地址转换。
[R1]nat static outbound 192.168.10.1 222.218.225.1 [R1-GigabitEthernet0/1]nat static enable //在相应的接口上应用静态转换
dis nat static //查看静态地址转换对应关系 dis nat session ver //查看NAT地址转换会话
NAT类型2(NAPT):
(1)按上图拓扑结构,构建网络(配置略)
(2)在R1路由器做多对一静态地址转换,只允许192.168.10.0/24用户访问互联网。
acl basic 2000 rule 5 permit source 192.168.10.1 24 [R1-GigabitEthernet0/1]nat outbound 2000
(3)在R1路由器做多对多静态地址转换,只允许192.168.10.0/24用户访问互联网。
acl basic 2000
rule 5 permit source 192.168.10.1 24
nat address-group 1
address 222.218.225.3 222.218.225.5
[R1-GigabitEthernet0/1]nat outbound 2000 address-group 1 [no-pat]
注:no-pat 即一对一,一个私网址址对应一个公网地址;否则,才是多对多关系。
NAT类型3(NAT Server ):
(1)按上图拓扑结构,构建网络(配置略)
(2)在R1路由器做一对一静态地址转换,互联网访问222.218.225.1 转换为192.168.20.1。
[R1-GigabitEthernet0/1] nat server global current-interface inside 192.168.20.1
(3)在R1路由器做一对一静态端口转换,互联网访问222.218.225.1:80 转换为 192.168.20.1:80。
[R1-GigabitEthernet0/1] nat server protocol tcp global current-interface 80 inside 192.168.20.1 80
以上是关于怎么根据用户ip地址转换成相应的省会地址的主要内容,如果未能解决你的问题,请参考以下文章
excel 怎么把IP地址转换成000.000.000.000的格式
在C语言中,如何将字符串“192.168.1.1”转换成MAC地址或IP地址?