iptables防火墙应用之动态DNS

豆豆网   技术应用频道   2006年04月03日  【字号: 收藏本文

本文详细介绍iptables防火墙应用之动态DNS

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

  #!/bin/bash

  #打开端口转发

  echo 1 >&nb! sp;/proc/sys/net/ipv4/ip_forward

  #加载相关的内核模块

  /sbi n/modprobe iptable_filter

  /sbin/modprobe ip_tables

  /sbin/modprobe iptables_nat

  #刷新所有规则

  /sbin/iptables -t nat -F

  #加入来自CERNET的DNS请求转发规则,将其转发到本地54端口,CERNET地址列表可从www.nic.edu.cn/RS/ipstat/获得

  /sbin/iptables -t nat -A PREROUTING -p udp -s 163.105.0.0/16 --dport 53 -i eth0 -j REDIRECT 54

  /sbin/iptables -t nat -A PREROUTING -p tcp -s 163.105.0.0/16 --dport 53 -i eth0 -j REDIRECT 54

  /sbin/iptables -t nat -A PREROUTING -p udp -s 166.111.0.0/16 --dport 53 -i eth0 -j REDIRECT 54

  /sbin/iptables -t nat -A PREROUTING -p tcp -s 166.111.0.0/16 --dport 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

  /sbin/iptables -t nat -A PREROUTING -p tcp -s 202.4.128.0/19 --dport 53 -i eth0 -j REDIRECT 54

  /sbin/iptables -t nat -A PREROUTING -p udp -s 202.112.0.0/15 --dport 53 -i eth0 -j REDIRECT 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/iptables -t nat -A POSTROUTING -p udp --sport 54 -o eth0 -j SNAT --to 211.163.76.1:53

  /sbin/iptables -t&n! bsp;nat -A POSTROUTING -p tcp --sport&n bsp;54 -o eth0 -j SNAT --to 211.163.76.1:53

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

  步骤四、 运行动态DNS

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

责编:豆豆技术应用

正在加载评论...