Linux创建智能DNS
根据客户端源IP地址的不同,DNS服务提供不同的解析地址
1、安装dns服务,修改全局配置文件/etc/named.conf
# yum -y install bind
# vim /etc/named.conf
acl beijingnet { 模拟北京用户网段
192.168.1.0/;
};
acl shanghainet { 模拟上海用户网段
10.10.10.0/;
}; options {
// listen-on port 53 { 127.0.0.1; }; 注释掉此配置:允许本机所有的IP地址都可以监测UDP53端口 // listen-on-v6 port 53 { ::1; };
// allow-query { localhost; }; 注释掉此配置,允许所有的ip来进行dns查询
//省略其他....
}; //zone "." IN { 注释掉此处配置,移至到/etc/named.rfc1912.zones.bj中
// type hint;
// file "named.ca";
//}; //include "/etc/named.rfc1912.zones"; view view_beijing { 使北京用户网段,匹配到/etc/named.rfc1912.zones.bj文件
match-clients {beijingnet;};
include "/etc/named.rfc1912.zones.bj";
};
view view_shanghai { 使上海用户网段,匹配到/etc/named.rfc1912.zones.sh文件
match-clients {shanghainet;};
include "/etc/named.rfc1912.zones.sh";
};
2、创建北京和上海的区域配置文件
创建北京的区域文件
# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj
# chown :named /etc/named.rfc1912.zones.bj
# vim /etc/named.rfc1912.zones.bj
//新增如下代码
zone "." IN {
type hint;
file "named.ca";
};
zone "ysu.com" {
type master;
file "ysu.com.zone.bj";
};
创建上海区域配置文件
# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.sh
# chown :named /etc/named.rfc1912.zones.sh
# vim /etc/named.rfc1912.zones.sh
//新增如下代码
zone "." IN {
type hint;
file "named.ca";
};
zone "ysu.com" {
type master;
file "ysu.com.zone.sh";
};
3、修改区域数据库文件
创建北京的区域数据库
# touch /var/named/ysu.com.zone.bj
# chown :named /var/named/ysu.com.zone.bj
# chmod 640 /var/named/ysu.com.zone.bj
# vim /var/named/ysu.com.zone.bj
$TTL
@ IN SOA ns1.ysu.com. admin.ysu.com. ( 1H
5M
7D
1D )
IN NS ns1.ysu.com.
ns1.ysu.com. IN A 192.168.1.1
www.ysu.com. IN A 192.168.1.250
创建上海的区域数据库
# touch /var/named/ysu.com.zone.sh
# chown :named /var/named/ysu.com.zone.sh
# chmod 640 /var/named/ysu.com.zone.sh
# vim /var/named/ysu.com.zone.sh
$TTL
@ IN SOA ns1.ysu.com. admin.ysu.com. ( 1H
5M
7D
1D )
IN NS ns1.ysu.com.
ns1.ysu.com. IN A 10.10.10.1
www.ysu.com. IN A 10.10.10.250
4、启动DNS服务
# systemctl start named
5、测试智能DNS效果
用两个网段的测试机可以通过dig命令测试
如: # dig www.ysu.com @192.168.1.1
# dig www.ysu.com @10.10.10.1
最新文章
- 使用VS Code从零开始开发调试.NET Core 1.0
- C# 可视化读取文件、文件夹
- 【我是老中医】codeblocks无法编译的问题解决方法
- 敲点JavaScript代码
- Grub命令行
- JS控制菜单样式切换
- 代码,显示IPhone剩余磁盘空间
- ExtJs007最常用的查询方法
- How to write own add-in for SSMS 2012 (Final release version)
- phpstorm显示行号
- Mybatis事务(一)事务管理方式
- centos 下安装mysql-5.6.11
- 深度学习与自动驾驶领域的数据集(KITTI,Oxford,Cityscape,Comma.ai,BDDV,TORCS,Udacity,GTA,CARLA,Carcraft)
- MongoDB分片详解
- python中序列化模块json和pickle
- Linux下运行Shell脚本或者可执行文件Executable方法
- [Linux]Ubuntu下安装Sublime-text 且 支持中文输入
- MFC连接MySQL C API方法
- 详细解读Android中的搜索框(四)—— Searchable配置文件
- TaskWarrior windows版制作
热门文章
- java.util.Properties类,保存时保留注释及格式不变
- QM[中控群控云控]01. 中控原理
- 页面布局 Paddiing Row Column Expanded 组件详解
- 消息队列(五)--- RocketMQ-消息存储1
- R语言 plot()函数
- 兵贵神速!掌握这10个Python技巧,让你代码工作如鱼得水
- echart中饼状图的高亮显示。
- CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)
- Unity中调用Windows窗口选择文件
- CentOS 7控制台屏幕分辨率问题