DNS BIND 搭建域名智能解析DNS服务器之IP地址归类(ACL)

2024-04-05 22:18

本文主要是介绍DNS BIND 搭建域名智能解析DNS服务器之IP地址归类(ACL),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

bind的是通过ACL+View实现域名的智能解析,实现流程即:客户端发送dns解析请求,bind通过acl过滤客户端Ip到对应view,然后查询该view下的配置zone解析出域名地址返回给客户端。所以智能解析的准确性很大程度取决于IP地址划分的准确性。目前IP地址信息获取途径主要通过apnic、cnnic、IP138等地址库获取。
1.apnic IP地址库
IANA是INTERNET域名系统的最高权威机构,掌握着INTERNET域名系统的设计、维护及地址资源分配等方面的绝对权力。在IANA之下另有3个分支机构分别负责欧洲、亚太地区、美国与其他地区的IP地址资源分配与管理。这3个机构是: RIPE(即设在比利时的Réseaux IP Européens),负责整个欧洲地区的IP地址资源分配与管理; APNIC(即设在澳大利亚的Asia Pacific Network Information Center),负责亚洲与太平洋地区的IP地址资源分配与管理;ARIN(即设在美国的American Registry for Internet Numbers) ,负责美国与其他地区的IP地址资源分配与管理。另外,许多国家和地区都成立了自己的域名系统管理机构,负责从前述3个机构获取IP地址资源后在本国或本地区的分配与管理事务。这些国家和地区的域名系统管理机构大多属于半官方或准官方机构。但在实际运作过程中,相关国家或地区的政府至少在业务上对其不加干预,使其成为前述3个机构之一在各该国家或地区的附属机构。如日本的JPNIC和中国的CNNIC均属此种机构。
iana官网:http://www.iana.org/
APNIC (Asia-Pacific Network Information Center的简称,中文:亚太互联网络信息中心)是世界中操作的五个地区的因特网登记处之一,分配B类IP地址的国际组织。属于开放性、会员制的非营利机构,其主要职责是确保IP地址和其他相关资源的公正分配以及负责管理。APNIC秘书处作为该机构的执行部门,负责维护公共APNICWhois数据库、管理储备DNS区域分派并提供资源认证服务。该机构通过开展培训和教育服务、为域名根服务器配置提供支持等技术活动以及与其他地区性和国际性组织合作等方式积极推动互联网的发展。APNIC负责管理数字互联网资源,但不负责注册域名。它提供全球性的支持互联网操作的分派和注册服务。这些成员包括网络服务提供商、全国互联网登记, 和相似的组织的一个非营利, 基于会员资格的组织。APNIC 负责亚洲太平洋区域,包含 56 经济区。
apnic官网:https://www.apnic.net/
可以通过apnic提供ftp服务下载IP地址分配信息:ftp://ftp.apnic.net/
最新的地址:
国际互联网代理成员管理局
ftp://ftp.apnic.net/pub/stats/iana/delegated-iana-latest
非洲地区
ftp://ftp.apnic.net/pub/stats/afrinic/delegated-afrinic-latest
亚太地区
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
北美地区
ftp://ftp.apnic.net/pub/stats/arin/delegated-arin-extended-latest
欧洲、中东和中亚
ftp://ftp.apnic.net/pub/stats/ripe-ncc/delegated-ripencc-latest
拉丁美洲和一些加勒比群岛
ftp://ftp.apnic.net/public/stats/lacnic/delegated-lacnic-latest
2.cnnic
cnnic提供国内地址分配查询系统:中国IP地址信息查询系统,可以通过该系统获取Ip地址信息。cnnic IP地址信息大部分也是来源apnic和ip138.
官网地址:http://www.cnisp.org/
3.ip138
ip138是传奇站长李兴平创立的,提供了大量实用工具,包括天气预报-预报五天、国内列车时刻表查询、手机号码所在地区查询、阴阳转换万年历、汉字简体繁体转换、国内国际机票查询、手机型号大全查询、五笔编码拼音查询、在线翻译、货币汇率转贴工具、在线度衡量转换器、邮编查询区号查询、身份证号码查询验证、快递查询、全国各地车牌查询表、EMS查询等。虽然网站界面非常简单,拥有的网页数非常少,但每天积聚了上百万的流量。网站包含了大量的信息查询,IP地址查询其中的服务之一。
官网地址:http://www.ip138.com/

下面我们通过apnic演示一下IP地址信息的整理(当然我们也可以根据自己写代码,加上人工整理,获取更准确的IP地址信息库,自己开发一个工具IP线路分析,参考代码:https://github.com/slimina/ip-line-analysis,分析文件下载地址:IP地址归类)
1.下载ripe-dbase-client-v3,并按照
wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz
tar -zxvf ripe-dbase-client-v3.tar.gz 
cd whois-3.1/
./configure 
make
2.获取IP数据
mkdir data
1)中国网通
./whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > data/cnc
./whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP-RR > data/cnc-rr #专门取网通路由表,基本上用这个
2)中国电信
./whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > data/chinanet
3)中国铁通
./whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC > data/crtc
打开获取后的文件可以看到里面的信息非常详细,甚至可以看到各个分公司的负责人、电话、电子邮件等等信息.如果想得到一份整齐干净的IP地址段文件,只要用grep和awk简单过滤就可以了。网络不好,执行失败需多次执行。
3.整理IP
cat data/cnc-rr|grep route|sed 's/route://g'|sed 's/. //g'|sed 's/. //g' > data/cnc-rr-new
$ more data/cnc-rr-new 
1.188.0.0/14
1.24.0.0/13
1.56.0.0/13
101.16.0.0/12
101.204.0.0/14
101.232.0.0/15
101.64.0.0/13
101.72.0.0/14
103.22.188.0/22
103.229.212.0/22
......
以上数据就是我们需要的acl数据。

注:
中国电信 CHINANET
中国联通 CNCGROUP  UNICOM
中国移动  CMNET  CTTNET CRTC
科技网 CSTNET
教育网 CERNET

给点福利,有好心人“苍狼山庄”定时更新整理后的IP地址:http://ispip.clangcn.com/
中国电信 IP地址段:
http://ispip.clangcn.com/chinatelecom.html
中国联通(网通)IP地址段:
http://ispip.clangcn.com/unicom_cnc.html
中国移动 IP地址段:
http://ispip.clangcn.com/cmcc.html
中国铁通 IP地址段:
http://ispip.clangcn.com/crtc.html
中国教育网 IP地址段:
http://ispip.clangcn.com/cernet.html
中国其他ISP IP地址段:
http://ispip.clangcn.com/othernet.html

参考文章:http://blog.chinaunix.net/uid-7608308-id-2047984.html

这篇关于DNS BIND 搭建域名智能解析DNS服务器之IP地址归类(ACL)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/878291

相关文章

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码