linux初探

首页

应用服务器

Linux技巧

中文文档

Linux初级

服务器源代码

命令详解

Linux技术应用

Linux安全应用

Linux业界新闻

UniX技术文章

Linux编程与内核

Linux数据库

Linux服务器

Linux安装指导

Linux论坛


首页>>Linux服务器>>

热门文章

·几个重要的RedHat Linux内核
·LINUX 常见问题1000个详细解
·Linux系统管理的内容及其常用
·Linux系统命令(文件管理)
·Linux系统命令(网络通信)
·代理服务器及防火墙FAQ集锦
·实战Linux拨号上网
·Red Hat中RPM命令的使用
·Red Hat下使用fdisk添加新硬
·在Linux中同时启动6个X控制台

推荐文章

使用DNS-views实现IP地址分区域解析


一、简介
在实际的网络应用中,我们有时希望对于同一个Domain Name能够根据不同的请求IP地址/区域,解析到不同的对应IP地址,比如:有时对于企业内部网络和外部网络希望对同一域名解析到不同的IP地址以达到安全目的或者应用目的,又比如为了解决中国南北方电信/网通互访速度差异问题,您也会希望电信用户解析到的域名IP是位于电信网络中的服务器,网通用户亦然,使用户能够访问到临近的最快的服务器。

而这些应用都可以通过对DNS的简单配置达到,使用DNS达到这一目的有以下的优点:

低成本-无需添加任何专用设备,只需通过简单配置即可;
灵活性强-可随时增加/删除解析规则;
有一定的可扩展能力-如果搭配Round Robin DNS可无缝快速的配置简单的负载均衡;

二、DNS-views配置
1、原理
使用DNS提供的view指令可以实现根据不同的IP范围来对同一个域名进行解析。

注意:view指令只在BIND9存在,以前的BIND8是没有view指令的!
2、配置示例
(1)环境假想
操作系统:CentOS 3.6
BIND版本:BIND 9.2.4-5
DNS 服务器:123.213.111.222(eht0)、10.0.0.1(eth1)
企业内部IP段:10.0.0.0/24
企业外部IP段:除10.0.0.0/24之外的所有
域名:testdns.org
我们希望企业内部IP所解析到www.testdns.org的IP地址为:12.34.56.78,外部IP段则解析到:87.65.43.21

(2)配置示例
named.conf

CODE:
//
// named.conf for Red Hat caching-nameserver
//

options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
/** If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

view "internal" {
match-clients { 10.0.0.0/24; };

zone "." IN {
type hint;
file "named.ca";
};
zone "testdns.org" {
type master;
file "db.internal";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
};

view "other" {
match-clients { any; };

zone "." IN {
type hint;
file "named.ca";
};
zone "testdns.org" {
type master;
file "db.other";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
};

include "/etc/rndc.key";

db.internal
CODE:
$TTL 86400
$ORIGIN testdns.org.
@ IN SOA ns1.testdns.org. webmaster.ns1.testdns.org. (
200512264
60
60
36000
86400 )
IN NS ns1.testdns.org.
@ IN A 10.0.0.1
ns1 IN A 10.0.0.1
www IN A 12.34.56.78

db.other
CODE:
$TTL 86400
$ORIGIN testdns.org.
@ IN SOA ns1.testdns.org. webmaster.ns1.testdns.org. (
200512264
60
60
36000
86400 )
IN NS ns1.testdns.org.
@ IN A 10.0.0.1
ns1 IN A 10.0.0.1
www IN A 87.65.43.21

通过这样的配置就可以实现我们之前所假想的功能了!测试:在内部网络中的一台电脑中将DNS服务器设置为10.0.0.1,之后ping www.testdns.org,会得到结果12.34.56.78;使用非内部网络的电脑设置好DNS:123.213.111.222,之后ping www.testdns.org,会得到结果87.65.43.21。

相关文章:

·服务器全局配置
·在linux as3中利用iptables+ipp2p限制bt、eMule等下载
·加强redhat linux系统安全的方法
·iptables-1.1.9指南(超经典) (2)
·Linux下由论坛到SSH的入侵
·Linux系统管理的内容及其常用命令
·中小异构 Linux 网络安全策略
·用Zebra在Linux 上构建路由器
·LINUX 9.0 DNS 问题!!!

Copyright@2005 www.linuxGoo.com All Right Reserved