论坛风格切换切换到宽版
  • 1014阅读
  • 2回复

[问题求助]iptables应用之动态DNS [复制链接]

上一主题 下一主题
离线edvin.
 
发帖
1969
C币
-235990
威望
396
贡献值
4
银元
0
铜钱
4522
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
1.核心思想

  配置动态DNS服务器的核心思想是:在DNS服务器上运行多个BIND,每个BIND为来自不同区域的用户提供解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口。在接到客户端DNS请求时,根据客.户的ip地址将请求重定向不同的BIND服务端口。BIND响应时,再改写相应包的服务端.口为标准的53端口。这样就可以根据客户端的ip地址将不同的解析结果.返回给客户端。整个过程对于客户端来说都是透明的。实现的关键在于运行不同的BIND及运用iptables进行ip.地址.及端口改写操.作。              乙肝

  关于iptables更为详细的信息,请参考解决方案中作者的两篇文章——《用ip.tales实现包过虑型防火墙》及《用ip.tables实现NAT》。.

2.配置过程

2.1.配置内核

  netfilter要求内核版本不低于2.3.5,.在编译新内核时,要求选择和.netfilter相关的项目。这些项目通常都是位于"Networking options"子项下。以2.4..0内核为例,我们应该选中的项目有:          婚庆

  
Kernel/User netlin.k .socket               乙肝
  [ ] Routing messages ..
  ..<*>; Netlink device emulation .
  
Network packet filt..ering (replaces ipchains)            女人
  .......

  然后,.在"IP: Netfilter Configuration ----.>;"选中:.

  <M>; Connection .tracking (requ.ired for masq/NAT)     外汇
  <M>; FTP protoc.ol supp.ort--------------彩票
  <M>; IP tables support (req.u.ired for filtering/masq/NAT).
  <M>; lim.it match .support     外汇
  <M>; MAC address m..atch support
  <M>; Netfilter M.ARK mat.ch support 外贸
  <M>..; Multiple port match support
  <M>; .TOS match support (广告)
  <M>; Connection state m.at.ch support --------------彩票
  <M>; Packet fi.ltering    外汇
  <M>; REJE.CT target sup.port.
  <M>.; Full NAT .
  <M>; MASQUE.RADE target supp.ort     外汇
  <M>; REDIRECT target sup.po.rt            鲜花
. <M>; Packet mangling .
  <M>; TOS target. suppor.t 虚拟主机
  <..M>; MARK target support 服务器
  <M>; LOG .target support.
  <M>.; ipchains. (2.2-style) support.
  <M>; ipfwadm (2.0.-st.yle) support--- 印刷

  其中最后两个项目可以不选,.但是如果你比较怀念ipchains或者ipfwadm,你也可以将其选中,以便在2.4内核中使用ipchians或ipfwadm。但是需要注意的是,iptab.les是和ipchians/ipfwadm相对立的,.在使用iptables的同时就不能同时使用ipchains/ipfwadm。编译成功后,这.些模块文件.都位于以下目录中--------------彩票
/lib/mod.ules/2.4.0./kernel/net/ipv4/netfilter投资

  编译2.4.0的新内核时还应该注意要在"rocessor type and features"中选择和你的CPU相对应的正确的CPU选项,否则新内核可能无法正常工作。http://upload.bbs.csuboy.com/Mon_1004/126_6764_4f4b5a14d6d2379.gif[/img](广告)

2.2.配置BIND服务

  .缺省地,BIND服务监听在53端口,我们可以通过配置让BIND运行在不同的ip及端.口上。实现这一点并不复杂,假设我们的DNS服务器的.ip地址是211.163.76.1,并且我们想区分CERNET及非C.ERN.ET的客户,这时我们必须运行两个BIND,使用不同的配置文件。可以在使用非标准监听端口的BIND的配置文件中用listen-on指定BIND监听的端口,比如:             电子

  options {
  liste.n-on port 54 .{211.163.76.1;}    健康
  d.irectory ."/var/named_cernet";     美容
  };

  .可以用named的-c 选项指.定named读入不同的配置文件,比如:.

  /usr/sbi.n/named -u named -c /et.c/named_cernet.conf.

2.3.配置重定向规则

  假设监听在.标准端口的BIND服务.器为非CERNET客户提供DN.S解析,监听在54端口的BIND服务器为CERNET服务器提供DNS解析,我们可以建立如下的规则脚本:           建材

  #!/bin/bash
  #打开端口转发
  echo 1 >; /proc/sys/net/.ip.v4/ip_forward             电子

  #加载相关的内核模块
  /sbin/modprobe iptabl.e_filt.er    外汇
  /sbin/mod.probe ip_tables.学习
  /sbin/m.odpr.obe iptables_nat学习

  #刷新所有规则
  /sbin/iptables -t n.at -F.    外汇

  #加入来自C..ERNET的DNS请求转发规则,将其转发到本地54端口,电脑
 #CERNE.T地址列表可从.www.nic.edu.cn/RS/ipstat/获得
  /sbin/iptables -t nat -A PREROUTING -p ud..p -s 163.105.0.0/16.
     --dport 53 -i eth0 -.j REDIRECT 5.4 教育
  /sbin../iptables -t nat -A PREROUTING -p tcp -s 163.105.0.0/16.
     --dpo.rt 53 -i eth0 -j REDIRE.CT 54           建材
  /sbin/iptabl.es -t nat -A PREROUTING -.p udp -s 166.111.0.0/16    外汇
     --dport 53 -i eth0 -j. .REDIRECT 54 (        游戏          )
  /sbin./iptables -t nat -A PREROU.TING -p tcp -s 166.111.0.0/16学习
     --dport 53 -i eth0 -j .R.EDIRECT 54电影
  /sbin/i.pt.ables -t nat -A PREROUTING -p udp -s 202.4.128.0/19              乙肝
 .    --dport 53 -i eth0 -.j REDIRECT 54 --------------彩票
  /sbin/.iptables -.t nat -A PREROUTING -p tcp -s 202.4.128.0/19    外汇
     --dport 53 -i eth0 -j REDI.R.ECT 54服务器
  /sbin/ipta.bles. -t nat -A PREROUTING -p udp -s 202.112.0.0/15.
     --dport 53 -i eth0 -j RED.IRE.CT 54 健康
  /sbin/iptables -t nat. -A .PREROUTING -p tcp -s 202.112.0.0/15              乙肝
 .  .  --dport 53 -i eth0 -j REDIRECT 54[成人用品]
  …

  #将返回给.CERNET DNS客户数据包的源.端口(54端口)伪装成53端口.
  /sbin/ip.tables -t nat -A POSTROUTING .-p udp--------------彩票
  ..  --sport 54 -o eth0 -j SNAT --to 211.163.76.1:53--------------彩票
  /sbin/iptables -t nat -A POSTROUTING -p t..cp.
    -.-sport 54 -o eth0 -j SNAT --to 21.1.163.76.1:53             电子

  教育网网的朋友可以从这里这里.下.载该脚本,将脚本中的DNS_IP及CNET_PORT参数改成你自己的DNS服务器地址及监听端口即可。.

2.4.运行动态DNS

  配置完成后我们启.动DNS服务器,并且运行相应的规则脚本,我.们的动态DNS服务器就可以正常工作了。外贸

           .               .                         linuxAid和bye2000健康


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线sisikie.
发帖
2119
C币
-60363
威望
375
贡献值
1
银元
-7
铜钱
4641
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
转的都是较old的文章

发帖
2103
C币
-140609
威望
376
贡献值
1
银元
-2
铜钱
4536
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
这又不是新闻,old~=经典
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个