免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5030 | 回复: 12
打印 上一主题 下一主题

[DNS] 请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-04 20:28 |只看该作者 |倒序浏览
主要原因是我们内网进行了nat出去,但是某些服务器又是用了端口映射进来的,结果内网必须用服务器的内网IP才能访问服务器,而外部的人又必须用公网IP访问该服务器。
   请问在DNS里面如何设置才能识别不同的来访IP得出不同的解释结果?
也就是说,对于内网的某一机器192.168.1.10,在请求ftp.test.com的DNS解释时返回结果是192.168.1.1,而对于公网IP(如202.96.x.x请求ftp.test.com的DNS解释时返回结果是服务器的公网IP 219.x.x.x。

论坛徽章:
0
2 [报告]
发表于 2004-01-04 23:03 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

用的是bind吗?如果使用的是bind 9的话,可以使用view语句完成你所需要的功能

论坛徽章:
0
3 [报告]
发表于 2004-01-05 08:24 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

能详细给点资料介绍吗?或介绍几个地址让我看看。之前我用dns和view作关键字在狗狗上查过,可是这样查出来的结果太多了

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-01-05 11:28 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

http://www.chinaunix.net/bbsjh/3/6015.html

论坛徽章:
0
5 [报告]
发表于 2004-01-05 23:35 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

呵呵,谢谢了!!(不过那个问题的标题没有说到主要,难怪我搜不到.
我立刻装个bind9 试试!有问题再请教,

论坛徽章:
0
6 [报告]
发表于 2004-01-06 01:30 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

下载和安装配置都完成了,虽然和我所想的有点出入,不过还是长了不少知识。
我原先的想法是:假设DNS的内部地址是192.168.1.2,外部地址是200.200.200.2,如果来自192.168.1.20这样的内部机器上网请求ftp.test.com时,DNS会返回192.168.1.1这个地址给它——但192.168.1.20这台机器的DNS不限制一定要为200.200.200.2!
但是经过我刚才的实验,似乎用了bind9的view功能后,虽然可以分内外进行分别的解释,但是内部的机器的DNS就一定要设为自己的DNS服务器才可以解释到内部部分。
   我的理解是:bind9的view功能是针对点对点的来访的IP进行不同的解释的,如果192.168.1.20的机器DNS设为202.96.128.68这样的公用DNS,那么它请求ftp.test.com的域名时,是先到202.96.128.68进行请求,然后经过层层的递归DNS解释后(假设还是202.96.128.111),到达200.200.200.2这个你的用了bind9的DNS时,你的DNS服务器收到的来访请求IP已经不是192.168.1.20(也不是你的外出nat后的IP了),而是202.96.128.111了,所以DNS服务器就把view的外部解释发送回来给202.96.128.111,然后最终到达202.96.128.68再返回结果给你。
   不知道真实过程是不是这样呢?还望指教。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2004-01-06 01:35 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

>; 但192.168.1.20这台机器的DNS不限制一定要为200.200.200.2!。

關鍵是:delegation ﹗
若從 root ns 那邊查下來,test.com 的 authorized ns 就是 200.200.200.2 ,
那你的疑慮是多餘的...

但,若你的 delegation 沒過關呢?這個可就....

论坛徽章:
0
8 [报告]
发表于 2004-01-06 08:39 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

但是我这边的DNS服务器是已经被注册了的,也就是即使192.168.1.20这台机器不使用我们的DNS服务器,它现在也可查询到我ftp.xxx.com这个域名的啊。
我的named.conf长得像这个样。其中200.x.x.1是我们的内部做了nat后出去的地址,其它几个文件我想应该不是问题关键吧——因为现在如果我在自己的机器用自己的DNS服务器,就可以解释到ftp.xxx.com的局域网地址是192.168.1.1;把DNS设为202.96.128.68(广东这边的一个DNS服务器地址),可以解释出来的地址就是公网地址200.x.x.x了,(不过我的机器也是局域网内的,nat后的IP地址就是200.x.x.1,所以按我原先的想法我的机器即使设了别的DNS,得到的解释结果也应该是192.168.1.1啊)
// named.conf的内容:
  
  1. options {
  2.      directory "/etc/namedb";
  3.      pid-file "/etc/namedb/named.pid";
  4. };


  5. view "inside"{
  6.    match-clients { 200.x.x.1/32; };
  7.    recursion yes;
  8. zone "." {
  9.         type hint;
  10.         file "named.root";
  11. };
  12. zone "localhost" {
  13.      type master;
  14.      file "named.localhost";
  15. };

  16. zone "0.0.127.in-addr.arpa" {
  17.       type master;
  18.       file "localhost.rev";
  19.       notify no;
  20. };


  21.   zone "xxx.com" {
  22.      type master;
  23.      file "named.main.inside";
  24.      notify no;
  25.   };

  26.   zone "x.x.200.in-addr.arpa" in {
  27.      type master;
  28.      file "main.rev.inside";
  29. };
  30. };


  31. view "outside" {
  32.        match-clients { any; };
  33.        recursion no;
  34.       
  35. zone "." {
  36.         type hint;
  37.         file "named.root";
  38. };
  39. zone "localhost" {
  40.      type master;
  41.      file "named.localhost";
  42. };

  43. zone "0.0.127.in-addr.arpa" {
  44.       type master;
  45.       file "localhost.rev";
  46.       notify no;
  47. };


  48.   zone "xxx.com"{
  49.         type master;
  50.         file "named.main.outside";
  51.         notify no;
  52.    };

  53.    zone "x.x.200.in-addr.arpa" in {
  54.      type master;
  55.      file "main.rev.outside";
  56. };

  57. };

复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2004-01-06 10:14 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

你自己网内有 DNS ,为什么还要用别人的 DNS 服务器呢? 用别人的 DNS 服务器的话,解析的时候反而要先通过你的 NAT 来转换地址,并不如用自己的 DNS 解析来得快,毕竟就在自己的内网啊。

论坛徽章:
0
10 [报告]
发表于 2004-01-06 10:46 |只看该作者

请教如何让DNS针对内网和外网的不同访问IP解释出不同的结果

呵呵,历史遗留问题——我们以前没有架DNS服务器的,所以之前大都是设了别的DNS的。
   局域网内机器是在别人那里,上千台机器,我只能是建议他们设成我们这里的DNS服务器,不能强迫他们设啊。他们之中就有不少是设了别的地方的DNS那我也没有办法的。另外如果是我们过去他们设,那工作量也太大了吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP