2

IPv6 地址编址记录

 3 years ago
source link: https://www.taterli.com/7998/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

IPv6 地址编址记录

  • TaterLi
  • 2021年6月22日2021年6月22日

IPv6的地址范围实在是太大,太大,太大了,按照目前来看,IANA平均把/12分配给各大机构,各大机构又平均把/32分给LIR,这就差不多允许每个机构LIR申请以百万来算的IP段总量,而最终ISP可能拿到的是/48,或者比较常见的大一点的/44.

注:为了直观,下面地址部分没使用通用压缩方法,但是在配置时候最好压缩地写.

注:这些都是个人记录,并非权威,如果需要更科学方法,咨询专业的人.权威一些的文档:https://www.cisco.com/c/dam/global/zh_cn/solutions/industry/segment_sol/enterprise/programs_for_large_enterprise/pdf/bn/cisco_sba_bn_ipv6addressingguide-aug2012_chn.pdf

几种常见前缀长度和分配场景:

  • /32 => 几种常见前缀长度和分配场景RIR/NIR分配给有ASN的运营商,互联网公司,大型企业,不过能吃下这段地址都是大佬级人物,并且分配机构再小就不给了.
  • /40 => 大型企业的标准分配(256个POP以内).
  • /44 => 小型企业的标准分配(16个POP以内).
  • /48 => 运营商向中小客户分配的常见前缀长度,但是国内一般不会给这么大.
  • /56 => 宽带运营商给家庭用户和小微企业分配的最小前缀长度,国内一线城市标配.
  • /64 => 末端设备子网,/64是很多协议硬性要求的,再往下需要人工分配.
  • /127 => 路由器点对点链路,此处不是为了节约地址而是防止一种资源耗尽型攻击.

按道理讲,由于IPv6的接口地址部分,即一般的后64位,所能容纳的地址数量远超过现有任何设备的硬件转发表项,可以近似看做无限的地址空间,完全不需要考虑节约地址的事情.但是节约依然是一种美德,不是吗?比如JustHost之类他们就只分1个IPv6,GulloHosting就分/112的子网,足够创建6万多个地址.

另外,也有一种IP地址规划观点就是,永远不要节约IPv6地址,因为他怎么都用不完,这说的其实也是有道理的,如果一个运营商拿到一个/32,可分配 4096个/44,即使个别小区较大,需要比/44大的网络,也能支持四千个左右小区,共16777216个小区,再分割到/64,那是余量充足.

由于穷人试验的只能拿到最小的公网BGP大小:2406:0840:97c6::/48 (IP是举例的!)

然后以BuyVM作为入口transit,需要内存至少1G(含)以上的Plan才能收全表,规划我的又穷又慢网.

BuyVM通过本地上游AS53667,已经通过隧道连接AS58057,在电信这种级别的应该都是通过物理线路连接的,就我们这破网这么干,要知道,怎么走隧道,都会受公网影响,然后再和一些其他人建立对等Peer,上游就是要付钱的,如果只要一个上游,那么上游故障就会出事,所以一般要2个上游,Peer是为了降低通信成本的,一般加入一些IXP可以获得大量Peer.

入口POP地址规划在网段2406:0840:97c6::/64,地址初步规划为2406:0840:97c6::1,由于入口的机的接口速度是1Gbps,地点是拉斯维加斯,所以给他分配了RDNS为ge.node1.las1.xxoo.net,标志着我这个入口POP是位于LAS的第一个节点,速度1GE(其实也不等于1Gbps).

然后进行我的全球网络规划.(要打通全部内部机的连接,对于实际运营商来说,会用物理线路连接,对于试验那就随你用干什么了.)

  • 2406:0840:97c6:XXX0:/64 <= 专门给POP用的,节点机不占用这里面的任何IP.
  • 2406:0840:97c6:XXX1:/64 <= 分配给洛杉矶服务器的IP段.
  • 2406:0840:97c6:XXX2:/64 <= 分配给纽约服务器的IP段.
  • 2406:0840:97c6:XXX3:/64 <= 分配给亚特兰大服务器的IP段.
  • 2406:0840:97c6:XXX4:/64 <= 分配给*****服务器的IP段,如果不够还可以继续延申,最大至15个,直到按地域划分完毕.

给15个选项足够配置所有服务器,然后前面还有三位,可以使用如下的分类.

  • 按设备类型 => 网络设备/楼内服务器/安防系统/会议系统/IP 电话/网络信息化中心/办公室无线/办公室有线等等.
  • 按速度分类 => 超低速设备/10Mbps/100Mbps/200Mbps/500Mbps/1Gbps/10Gbps/40Gbps等等.
  • 按用途分类,按维护人分类,按安全策略分类.按设备系统分类等等.

剩下的64位推荐的方法有两种,不推荐的方法有很多,但是都可以用,无状态配置是比较好的方法,另一个随机生成地址,这样能尽量地规避网络扫描.

然后给洛杉矶的机器可以有这些地址(要是这样还能被准确扫描到那简直超神!):

2406:0840:97c6:0001:5918:4A2E:A9C9:B9F7
2406:0840:97c6:0001:2DDF:D6E8:3D3A:F621
2406:0840:97c6:0001:31A3:DCA3:F648:F50F
2406:0840:97c6:0001:4202:AA8B:F8EA:6216
2406:0840:97c6:0001:CC91:91D8:E198:262C
2406:0840:97c6:0001:B393:4FB0:E72E:F902
2406:0840:97c6:0001:6F91:3C91:0ADE:A9E6
2406:0840:97c6:0001:E461:AF2A:4C2D:D12D
2406:0840:97c6:0001:2C96:C32F:8AA6:0C80
2406:0840:97c6:0001:A3C2:EFD0:169F:B16E

随机生成可以参考这段程序.

import random

def gen_random():
  ip = ''
  ip = ip + str(random.choice("0123456789ABCDEF"))
  ip = ip + str(random.choice("0123456789ABCDEF"))
  ip = ip + str(random.choice("0123456789ABCDEF"))
  ip = ip + str(random.choice("0123456789ABCDEF"))
  return ip

for i in range(10):
  print('2406:0840:97c6:0001:' + gen_random() + ':' + gen_random() + ':' + gen_random() + ':' + gen_random())

如果还不够小,可以考虑/112分配,一般来说,不建议比/112还小.除非你是单点设备,比如我买的绿帽云就是/112分配,他给我分配了2403:ac80:cc:7::2a9:0/112,并且IP地址部分也随机生成为2403:ac80:cc:7::2a9:8e5d,然后我系统中再添加一个IP,也是可以被外部访问的,因为路由器只管把/112下,符合这个前缀的都会转发给我.(/64是通过看ifconfig中另一个网卡得知的.)

ip addr add 2403:ac80:cc:7::2a9:8e56/64 dev eth0

通过traceroute能看出来网关,这里不深入探讨.

最后,附上子网计算器(可用IP数计算器):https://www.vultr.com/resources/subnet-calculator-ipv6

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论

显示名称 *

电子邮箱地址 *

网站地址


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK