正文共:1616字 9图,预估阅读时间:4 分钟
你知道中国大陆一共有多少IPv4地址吗?
344514560个。占全球可用IPv4地址数量超过8%。
如果加上香港的12614144个和台湾的3568576个,也仅仅是9.15%。
这是目前中国大陆申请到的所有IP地址数量,包含网络地址(网段内第一个地址,
如192.168.1.0/24网络中的192.168.1.0)和广播地址(网段内最后一个地址,
如192.168.1.0/24网络中的192.168.1.255),这两个地址无法使用,但是是占了IP地址的数量的。
实际上无法使用的IP地址数量远不止于此,中国共申请了8616个网段,掩码长度从10-24位不等,实际使用中掩码大多是22-30位不等,大量地址无法实际使用。
那么,如果想从中国大陆境外访问境内,只需要添加8616条路由就好了,是不是很简单?那我今天就用模拟器搭一套小网络,把这些路由都放进来。
首先想一个网络,能容纳8000多条路由,路由的源就用设备的环回口代替,每个环回口配置一个.1的IP地址(第一个主机地址),掩码长度和网段长度相对应。
每个设备的环回口数量为1024个(0-1023),一共8616条CN路由,需要11台设备发布路由表,一台路由器来学习。
三个AS区域中,通过OSPF在区域内部一共发布8616条路由,RT1、RT2、RT3通过BGP发布给RT-ISP,RT-C将RT-ISP作为网关并配置默认路由。
AS 100通过192.168.11.0/24发布OSPF;
AS 200通过192.168.12.0/24发布OSPF;
AS 300通过192.168.13.0/24发布OSPF;
BGP通过192.168.10.0/24网段互相发布。
RT-C和RT-ISP通过192.168.20.0/24互联,RT-ISP为网关,RT-C配置NAT。
接下来就是想办法配上这8616条路由,也就是环回口地址。
首先了解到APNIC是全球5个地区级的Internet注册机构(RIR)之一,负责亚太地区的以下事务:
1、分配IPv4和IPv6地址空间,AS号;
2、为亚太地区维护Whois数据库;
3、反向DNS指派;
4、在全球范围内作为亚太地区的Internet社区的代表。
所以,中国大陆境内的地址都会登记在APNIC的地址库内。地址库获取方式:
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
例如在Linux系统中,使用wget命令可以拉取文件。
文件内容条目参考如下:
apnic|JP|asn|173|1|20020801|allocated
apnic|ID|ipv4|43.240.228.0|1024|20140818|allocated
apnic|HK|ipv6|2001:df5:b800::|48|20140514|assigned
条目格式如下:
注册机构|国家代码|类型|起始位|长度|分配日期|状态
注册机构:亚太地区一般为apnic
国家代码:ISO-3166定义的两位国家或地区代码,如中国为CN
类型:asn(Autonomous System Number,自治系统编号),也就是BGP的AS编号;ipv4,IPv4地址;ipv6,IPv6地址
起始位:第一个ASN编号或IP地址
长度:从第一个起始位开始,申请分配多少的编号或地址
分配日期:国家或地区向APNIC申请的日期
状态:allocated和assigned,都是已分配
所以,需要将delegated-apnic-latest文件中所有国家为CN、且类型为ipv4的条目导出,并转换为静态路由格式。
例如使用命令将符合条件的条目导入到china文件中。
可以查看文件行数,代表有多少条明细条目。
然后根据起始位和长度,转换出静态路由所需的目的地址和掩码即可。在excel中通过对长度进行函数运算,可以得到掩码长度,如:=32-LOG(E2,2),代入2048的话,可得到掩码长度为21。操作后得到类似下图的表格:
先将表格内容复制到记事本中,再从记事本粘贴到Word中,即可得到带有内容字段、tab制表符和段落标记的内容。如下:
1.0.1.0 CN 24 apnic
1.0.2.0 CN 23 apnic
1.0.8.0 CN 21 apnic
这就简单了,使用Word的替换功能,对对应字段进行替换就可以得到形如下文的配置:
int loop 1
ip add 1.12.0.1 14
int loop 2
ip add 1.24.0.1 13
int loop 3
ip add 1.48.0.1 15
int loop 4
ip add 1.56.0.1 13
int loop 5
ip add 1.68.0.1 14
再把配置分别刷入到11台设备当中,配置好OSPF和BGP就可以了。
从PC测试连通性。齐活!
运行有风险,我16核32G内存的服务器主机,虽然内存占用不高,只有4G多,但是CPU利用率一直很高,怪不得电脑跑的时候功能异常。所以操作须谨慎!