论坛风格切换切换到宽版
  • 542阅读
  • 0回复

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

上一主题 下一主题
离线sisikie.
 
发帖
2119
C币
-60363
威望
375
贡献值
1
银元
-7
铜钱
4641
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
ipt.ables应用之动态DNS.

摘要
  本文介绍了使用ipta.b.les配置动态DNS服务器的配置过程。(2002-06-24 12:37:53)(广告)

-----------------------------------------------.---------------..------------------(广告)
By 处处


1.核心思想

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

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

2.配置过程

2.1.配置内核

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

  
Kernel/Us.er netli.nk socket              汽车
  [ ] Routing messa.ges            女人
  <*>; Netlink device emul..ation 服务器
  
Network pac.ket f.iltering (replaces ipchains) .
  .......

  然后,在"IP: Netfilter. Configurat.ion ---->;"选中:域名

  <M>; C.onnec.tion tracking (required for masq/NAT) (        游戏          )
. <M>; FTP. protocol support.
  <M>; .IP tables support (required .for filtering/masq/NAT)(广告)
  <M>; limit .ma.tch support            女人
  <M>; MA.C. address match support            女人
  <M>; Netfilter MAR.K match .support --- 印刷
  <M>; Mu.ltiple port match suppor.t .
  <M>; TOS match suppor.t 教育
  <M>; .Connection state match supp.ort (广告)
  <M>; Packet. filtering.
  .<M>; REJE.CT target support域名
  <M>; F.ull NAT            鲜花
  .<M>.; MASQUERADE target support .
  <M>; REDIRECT ta.rget support. (        游戏          )
  <M>; Pa.cket mangling .
  <M>; TOS. target su.pport 电影
  <M>; .MARK target suppo.rt           婚庆
  <M>; LOG target. support(广告)
  <M>; ipchains .(2.2-style) .support电影
  <M>; ipfwadm (2..0-style) suppor.t             电子

  其中最后两个项目可以不选,但是如果你比较怀.念ipchains或者ipfwadm,你也可以将其选中,以便在2.4内核中使用ipchians或ipfwadm。但是需...要注意的是,iptables是和ipchians/ipfwadm相对立的,在使用iptables的同时就不能同时使用ipchains/i.pfwadm。编译成功后,这些模块文件都位于以下目录中           女人
/lib/modules/2..4.0/kern.el/net/ipv4/netfilter           女人

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

2.2.配置BIND服务

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

  options {
  .listen-on port 54. {211.163.76.1;}    健康
  dir.ectory "/var/named_c.ernet"; (广告)
  };

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

  /..usr/sbin/named -u named -c /etc/named_cernet.conf虚拟主机

2.3.配置重定向规则

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

  #!/bin/bash
  #打开端口转发
  echo 1 >; /pro.c/sys/net/ipv4/ip_forwa.rd学习

  #加载相关的内核模块
  ./sbin/modprobe ipt.able_filter服务器
  /sbin/modprobe. ip_tabl.es             汽车
  /s.bin/modp.robe iptables_nat(        游戏          )

  #刷新所有规则
  /sbin./ipta.bles -t nat -F.

  #.加入来自CE.RNET的DNS请求转发规则,将其转发到本地54端口,.
 #CERNET地址列表可从www.nic..edu.cn/RS/ip.stat/获得    外汇
  /sbin/ipta.bles -t nat -A PREROUTING -p udp -s 163.105.0.0./16.
     --dpor.t 53 -i eth0 -j REDIR.ECT 54 --------------彩票
  /sbin/i.ptables -t nat -A PREROUTING -p tcp .-s 163.105.0.0/16教育
    . --dport 53 -i eth0 -j RED.IRECT 54电影
  /sbin/iptables -t nat -A PREROUTING -p udp -s. 166.111.0.0./16    美容
     --dport 53 -i eth0 -.j RE.DIRECT 54 电脑
  /s.bin/iptables -t nat -A PREROUTING -p tcp -s 166.111.0..0/16           建材
     -.-dp.ort 53 -i eth0 -j REDIRECT 54.
  /sbin/iptables -t nat -A PREROUTING -p udp -s. 202.4.128..0/19.
     -.-dport 53 -i eth0 -j REDIRECT .54     健康
  /s.bin/iptables -t nat -A PREROUTING -p tcp .-s 202.4.128.0/19.
     --dport 53 -i eth0 -j REDIR.ECT .54.
  /sbin/iptables -t nat -A PREROUTING -p udp -s 202.112..0.0/.15<性病>
     --dport 53 -i .eth0 -j RE.DIRECT 54 投资
  /sbin/iptabl.es -t nat -A PREROUTING -p tcp -s 202.11.2.0.0/15(广告)
     --dport 53 -i eth0 -j. RE.DIRECT 54.
  …

  #.将返回给CERNET DN.S客户数据包的源端口(54端口)伪装成53端口           建材
  /sbin/iptabl.e.s -t nat -A POSTROUTING -p udp.
    --sport 54 -o eth0 -j SNAT --to 211.163.76..1:5.3<性病>
  /sbi.n/iptables -t nat -A POST.ROUTING -p tcp.
    --.sport 54 -o eth0 .-j SNAT --to 211.163.76.1:53电脑

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

2.4.运行动态DNS

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

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

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个