同一域名使内外网用户看到不同主页的技术方案_第1页
同一域名使内外网用户看到不同主页的技术方案_第2页
同一域名使内外网用户看到不同主页的技术方案_第3页
同一域名使内外网用户看到不同主页的技术方案_第4页
同一域名使内外网用户看到不同主页的技术方案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

同一域名使内外网用户看到不同主页的技术方案(暂定) 方案一:bind9(view)+apache(虚拟网站) 1 利用 dns 服务器对来自内网的域名解析请求解析成 ip内,对来自外网的域名解析请求解析 成 ip外。 2 方案二:php 如果自己没有 DNS 服务器,可以利用脚本语言(如 php) 资料: 1http:/www.ipsec.nu/dns/bind9/Bv9ARM.html 2 rootnode2 home# more index.php 3我们都知道事实上标准的 DNS 软件就是 BIND,几乎所有 Unix、Linux 下的 DNS 服务器使 用的都是这个软件。如果你使用的是 BIND8 或以前的版本不能很好地处理这个问题,如果你 使用 DNS 软件版本是 BIND9 的话,问题就可以得到很好的解决。 BIND9 可以根据不同的原地址给出不同的解析结果,也就是说内网的用它解析得出是内网的 IP 地址,公网的用它解析得出的是公网的 IP 地址。要实现这个功能只需要用好 BIND9 的 view 语句就可以了,任何有 BIND 配置经验的管理员使用以下的方法都不会有任何困难,十 分简单,只需将系统升级到 BIND9,再按照下面方法做即可。 假设内网的网段是 /16,我们的域名是 ,那么我们只要对 named.conf 等文件做些简单修改就可以了,我们来看这个 named.conf 的配置例子, optionsdirectory“/var/named“; pid-file“/var/named/named.pid“; view“internal“ /view 语句是以前版本的 BIND 没有的 match-clients /16; ; recursion yes; zone“.“ type hint; file“named.ca“; zone“0.0.127.IN-ADDR.ARPA“ type master; file“dns.local“; zone““ type master; file“.in“; zone“255.168.192.“in type master; file“abcde.rev.in“; ; view“external“ match-clients any; ; recursion yes; /如果对公网不提供其它域名递归的解析,只提供自己域 名的解析,将 yes 改为 no 就可以了,这样公网 IP 就不能用这个服务器做其它域名的解析了, 可以减轻服务器负担。 zone“.“ type hint; file“named.ca“; zone“0.0.127.IN-ADDR.ARPA“ type master; file“dns.local“; zone““ type master; file“.ex“; zone“95.111.211.“in type master; file“abcde.rev.ex“; ; 是不是很简单呢?这样配置以后服务器就会根据源地址的不同到/var/named 目录下面寻找 相应的 DNS 记录文件,如果是 /16 网段的 IP 地址做查询,服务器就会查找 /var/named/.in 这个文件里的数据并给出内网的解析结果,公网 IP 则查找 /var/named/.ex 里的数据并给出公网的解析结果。注意,在这里/var/named 目录下面所有的文件格式不需要做任何修改,只不过*.ex 里面记录的是公网的数据,*.in 里面记录的是内网的数据。 4在 Debian 上使用 BIND 9 搭建域名服务器 这是一篇给初学者看的在 Debian 上使用 BIND 9 搭建域名服务器的指南。该指南假设你已 经熟悉了基本的 Unix 命令行操作,并且使用的是 Debian GNU/Linux 操作系统。 这是一篇给初学者看的在 Debian 上使用 BIND 9 搭建域名服务器的指南。该指南假设你已 经熟悉了基本的 Unix 命令行操作,并且使用的是 Debian GNU/Linux 操作系统。 本指南所描述的方法适用于 Debian GNU/Linux 的 unstable 分支的 BIND 9.3.1 以上版本, 用于实现以下几个目的 * 为内网提供一台性能良好的 DNS 缓存服务器。 * 为内网的各台机器提供内部的网络名称解析及反解析。 首先,切换到 root 用户之后,通过 apt-get 安装 BIND 9 及一些域名测试方面的工具 apt-get install bind9 apt-get install dnsutils 安装完成后,开始配置 BIND 9,假设内部网络的域是 51.com,有两台计算机,用来做 DNS 服务器的这台 Linux 机器叫 newton,IP 地址为 1,另外还有一台机器叫 lividot,IP 地址为 21。 首先,在 /etc/bind/named.conf.local 中加入以下内容 zone “1.168.192.“ in type master; file “db.192.168.1“; ; zone “51.com“ in type master; file ““; ; 然后,在 /var/cache/bind/ 这个文件夹内添加两个文件 /var/cache/bind/ 文件内容,该文件用于正向地址解析 IN SOA . . ( 200504191 ; Serial 28800 ; Refresh 7200 ; Retry 2419200 ; Expire 86400) ; Negative Cache TTL NS . MX 10 . 51.com. IN NS . . IN A . IN A 1 . IN A 21 www IN CNAME . /var/cache/bind/db.192.168.1 文件内容,该文件用于反向地址解析 IN SOA . . ( 200504191 ; Serial 28800 ; Refresh 7200 ; Retry 2419200 ; Expire 86400) ; Negative Cache TTL NS . 31 PTR . 221 PTR . 把这两个文件都添加完之后,修改 /etc/resolv.conf 如下 search 51.com nameserver 1 然后执行以下指令 rndc reload rndc reconfig /etc/init.d/bind9 restart 然后现在你可以用 ping 的方式来测试 BIND 9 是否已经能够按照我们之前所设想的那样工 作,以上面配置的这个网络为例,如果 ping 能够得到 IP 地址 21,则说明配置一切正常。 你所使用的其他发行版和 Debian GNU/Linux 上的情况可能会不太一样。在本例中,Debian GNU/Linux 中的默认情况是,BIND 9 的配置文件位于 /etc/bind/named.conf,该文件中定 义了 Internet 的根域解析及 loopback 解析,在最后一行通过 include “/etc/bind/named.conf.local“; 这一句来使得 /etc/bind/named.conf.local 中的本地域 的配置生效。如果你安装这个指南进行操作而无法使 BIND 正常运行,请检查你是否按照正 确的语法写入了配置文件,常见的错误是少了 ; 或者 . 这样的符号。 最后,祝你好运吧。 5 测试 bind view 提交人: bixuan 时间: 星期五, 2005/07/08 - 09:14 1、DNS 服务器 很久没玩过这里了,发现自己的文章数是空,怪不好意思的,特帖上一篇,请各大高手批评 指正! 文章地址:/mod/title_show.php?id=41 测试系统: CentOs4 Bind 软件: bind-9.2.4-2 caching-nameserver-7.3-3 测试机器 IP 情况: A 机器:域名服务器 IP: 42 B 机器:普通客户端:47 测试时间: 2005 年 06 月 01 日(国际儿童节哦:)) 为什么要进行这个测试? 因为考虑到做大型网站构架的流量将是非常大,所以考虑到让 DNS 来做分流! 一、安装 yum -y install caching-nameserver 会自动安装所需依赖包 二、配置 配置 dns 有一般要主要 2 个文件: 1 是/etc/named.conf,这个 view 的内容都是在这个文件里面 2 是 (测试域名)这个是域名的具体记录信息,包括 A、NS 等记录信息 1.修改/etc/named.conf 文件如下内容: vi /etc/named.conf / / 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 / view “telcom“ / This should match our internal networks. match-clients 47; / Provide recursive service to internal clients only. recursion yes; zone “.“ type hint; file “named.ca“; ; zone “0.0.127.IN-ADDR.ARPA“ type master; file “named.local“; ; / Provide a complete view of the zone / including addresses of internal hosts. zone ““ type master; file “data/telcom/“; ; ; view “netcom“ / 这里建立一个叫 netcom 的 view,其实这个 netcom 是可以自己定义, 随便写的,下面也是一样的 / This should match our internal networks. match-clients 42; ; / 这里是定义哪些 IP 或者网络过来的是用哪个配置。 这里如果:42;改成:42;43;也是可以的,当然改成 IP 段也是可以,下同 / Provide recursive service to internal clients only. recursion yes; zone “.“ type hint; file “named.ca“; ; zone “0.0.127.IN-ADDR.ARPA“ type master; file “named.local“; ; / Provide a complete view of the zone / including addresses of internal hosts. / 特别要注意的还有这个地方: zone ““ / 这里的 必须是域名名称,下同 type master; / 这里表示是主 DNS,如果改成辅助的:type slave 就是这样,下同 file “data/netcom/“; / 这里表示配置文件的相对地址,下同 ; ; view “external“ match-clients any; ; / Refuse recursive service to external clients. recursion no; / Provide a restricted view of the zone / containing only publicly accessible hosts. zone ““ type master; file “data/external/“; ; ; include “/etc/rndc.key“; 2.建立 配置文件 mkdir -p /var/named/data/telcom mkdir -p /var/named/data/netcom mkdir -p /var/named/data/external 下面是 telcom 下的 文件: cat /var/named/data/telcom/ $TTL 43200 IN SOA . . ( 1022351740 ;serial 3H ;refresh after 3 hours 3600 ;retry after 1 hour 604800 ;expire after 1 week 86400 ) ;minimum TTL of 1 day ; ; Nameservers ; Put your nameservers here! IN NS . IN NS . ; ; Domain Mail Handlers ; ; IN MX 0 mail ; ; ; hosts in order ; ;cachemcc IN A 7 ;cachecnc IN A 1 ns1 IN A 42 ns2 IN A 48 IN A 42 www IN A 42 ;pop IN CNAME mail ;ftp IN A 38 ; ; end 三、启动 /etc/init.d/named start 如果是修改了配置文件后,必须 restart 或者 reload(一般采用 reload) 四、测试 下面进行简单的测试,看配置是否有错 A 机器 首先把 A 机器上的 DNS 改成:42,即: cat /etc/resolv.conf nameserver 42 接着: # nslookup Server: 42 Address: 42#53 Name: Address: 43 B 机器: 先把 B 机器上的 DNS 修改成只有:42 接着执行: C:nslookup DNS request timed out. timeout was 2 seconds. * Cant find server name for address 42: Timed out * Default servers are not available Default Server: UnKnown Address: 42 Server: UnKnown A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论