动态dns有什么好处_动态DNS设置

动态dns有什么好处_动态DNS设置1.核心思想配置动态DNS服务器的核心思想是:在DNS服务器上运行多个BIND,每个BIND为来自不同区域的用户提供解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口。在

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.核心思想        配置动态DNS服务器的核心思想是:在DNS服务器上运行多个BIND,每个BIND为来自不同区域的用户提供解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口。在接到客户端DNS请求时,根据客户的ip地址将请求重定向不同的BIND服务端口。BIND响应时,再改写相应包的服务端口为标准的53端口。这样就可以根据客户端的ip地址将不同的解析结果返回给客户端。整个过程对于客户端来说都是透明的。实现的关键在于运行不同的BIND及运用iptables进行ip地址及端口改写操作。        关于iptables更为详细的信息,请参考解决方案中作者的两篇文章——《用iptales实现包过虑型防火墙》及《用iptables实现NAT》。      2.配置过程      2.1.配置内核        netfilter要求内核版本不低于2.3.5,在编译新内核时,要求选择和netfilter相关的项目。这些项目通常都是位于”Networking options”子项下。以2.4.0内核为例,我们应该选中的项目有:      [*] Kernel/User netlink socket   [ ] Routing messages   <*> Netlink device emulation   [*] Network packet filtering (replaces ipchains)   …….        然后,在”IP: Netfilter Configuration —->”选中:       Connection tracking (required for masq/NAT)    FTP protocol support    IP tables support (required for filtering/masq/NAT)    limit match support    MAC address match support    Netfilter MARK match support    Multiple port match support    TOS match support    Connection state match support    Packet filtering    REJECT target support    Full NAT    MASQUERADE target support    REDIRECT target support    Packet mangling    TOS target support    MARK target support    LOG target support    ipchains (2.2-style) support    ipfwadm (2.0-style) support        其中最后两个项目可以不选,但是如果你比较怀念ipchains或者ipfwadm,你也可以将其选中,以便在2.4内核中使用ipchians或ipfwadm。但是需要注意的是,iptables是和ipchians/ipfwadm相对立的,在使用iptables的同时就不能同时使用ipchains/ipfwadm。编译成功后,这些模块文件都位于以下目录中   /lib/modules/2.4.0/kernel/net/ipv4/netfilter        编译2.4.0的新内核时还应该注意要在”Processor type and features”中选择和你的CPU相对应的正确的CPU选项,否则新内核可能无法正常工作。      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;}   directory “/var/named_cernet”;   };        可以用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 > /proc/sys/net/ipv4/ip_forward      #加载相关的内核模块   /sbin/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 nat -A POSTROUTING -p tcp       –sport 54 -o eth0 -j SNAT –to 211.163.76.1:53      脚本   #!/bin/bash            DNS_IP=211.163.76.1   CNET_PORT=54      #打开端口转发   echo 1 > /proc/sys/net/ipv4/ip_forward   #加载相关的内核模块   /sbin/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 162.105.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 166.111.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 202.4.128.0/19 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 202.112.0.0/15 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 202.38.96.0/19 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 202.204.0.0/14 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 210.25.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 210.31.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 211.68.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 211.71.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT      /sbin/iptables -t nat -A PREROUTING -p udp -s 202.200.0.0/15 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 210.26.0.0/15 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT      /sbin/iptables -t nat -A PREROUTING -p udp -s 202.115.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 202.202.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 210.40.0.0/15 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 202.203.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT      /sbin/iptables -t nat -A PREROUTING -p udp -s 202.116.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 202.192.0.0/15 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 210.36.0.0/14 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 202.38.192.0/18 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT   /sbin/iptables -t nat -A PREROUTING -p udp -s 211.66.0.0/16 –dport 53 -i eth0 -j REDIRECT –to-port $CNET_PORT      /sbin/iptables -t nat -A PREROUTING -p

(责任编辑:kiah)

http://www.dnstx.com/DNS/dnstech/2011083024.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167323.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 无线电A类考试题_业余无线电考试a类题库app

    无线电A类考试题_业余无线电考试a类题库app[I]LK0001[Q]我国现行法律体系中专门针对无线电管理的最高法律文件及其立法机关是:[A]中华人民共和国无线电管理条例,国务院和中央军委[B]中华人民共和国无线电管理办法,工业和信息化部[C]中华人民共和国电信条例,国务院[D]中华人民共和国业余无线电台管理办法,工业和信息化部[P][I]LK0002[Q]我国现行法律体系中专门针对业余无线电台管理的最高法律文件及其立法机关是:[A]业余无线电台管理办法,工业和信息化部[B]个人业余无线电台管理暂行办法,国家体委和国家无委[C]业

    2025年8月29日
    8
  • pandas.DataFrame()中的iloc和loc用法

    pandas.DataFrame()中的iloc和loc用法简单的说:iloc,即indexlocate用index索引进行定位,所以参数是整型,如:df.iloc[10:20,3:5]loc,则可以使用column名和index名进行定位,如:df.loc[‘image1’:‘image10’,‘age’:‘score’]实例:importnumpyasnpimportpandasaspdfrompandasimpo…

    2022年10月21日
    4
  • 高通QXDM工具使用

    高通QXDM工具使用1.连接机器2.打开设备管理器查看端口3.查看调制解调器属性4.打开QXDM运行程序5.连接6.连接成功7.发送AT指令(发送成功会有回显)

    2022年10月2日
    3
  • 降温软件是如何实现降温的?

    降温软件是如何实现降温的?前言 一般电脑发热后 我们就听到了风扇呼呼的声音 这个是电脑的物理散热的机制 除了物理降温 我们当然还有软件降温 而软件降温就和 CPU 有关了 常见的电脑降温软件有 鲁大师呀 驱动精灵这类的 那么我们就一起来探索这些降温软件是如何实现降温的吧 一 CPU 运行原理如果要探究降温软件是如何减少 CPU 能耗来降温的 那么我们应该要了解一些 CPU 工作的原理 当我们启动电

    2025年9月7日
    6
  • Java 常用限流算法解析

    Java 常用限流算法解析前言限流作为高并发场景下抵挡流量洪峰 保护后端服务不被冲垮的一种有效手段 比如大家熟知的限流组件 guawa springcloud 中的 Hystrix 以及 springcloud alibaba 生态中的 Sentinel 甚至是基于网关的限流 比如在 nginx 中配置限流策略 在 gateway 中配置限流策略等限流无处不在 既然限流的作用如此强大 那么其底层的实现原理如何呢 说到底 限流的核心是由一系列不同的算法完成 本篇将通过实例来说明下常用的几种限流算法的用法和原理 1 计数器算法计数器算法限流是采用简单

    2025年6月3日
    3
  • php rewriterule 规则,如何将一条RewriteCond 对应多个RewriteRule规则

    php rewriterule 规则,如何将一条RewriteCond 对应多个RewriteRule规则RewriteCond是对RewriteRule的条件筛选,一般情况下一个RewriteRule前面有多个RewriteCond,我们想让bbs这个子域名下的链接访问bbs这个目录,而其他子域名则访问web这个子目录,于是有了下面这种写法。RewriteCond%{HTTP_HOST}^bbs.heycode.com$RewriteRule^news-(d+).html$/bbs/news…

    2022年5月15日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号