欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IPtables應(yīng)用之如何配置動態(tài)DNS服務(wù)器

 更新時間:2007年09月19日 10:22:16   作者:  
摘要

本文介紹了使用IPtables配置動態(tài)DNS服務(wù)器的配置過程。

1、核心思想

配置動態(tài)DNS服務(wù)器的核心思想是:在DNS服務(wù)器上運(yùn)行多個BIND,每個BIND為來自不同區(qū)域的用戶提供解析,因此每個BIND都應(yīng)具有不同的配置文件和域文件,并且分別監(jiān)聽在不同的端口。在接到客戶端DNS請求時,根據(jù)客戶的IP地址將請求重定向不同的BIND服務(wù)端口。

BIND響應(yīng)時,再改寫相應(yīng)包的服務(wù)端口為標(biāo)準(zhǔn)的53端口。這樣就可以根據(jù)客戶端的ip地址將不同的解析結(jié)果返回給客戶端。整個過程對于客戶端來說都是透明的。實(shí)現(xiàn)的關(guān)鍵在于運(yùn)行不同的BIND及運(yùn)用IPtables進(jìn)行IP地址及端口改寫操作。

2、配置過程

2.1.配置內(nèi)核

netfilter要求內(nèi)核版本不低于2.3.5,在編譯新內(nèi)核時,要求選擇和netfilter相關(guān)的項(xiàng)目。這些項(xiàng)目通常都是位于"Networking options"子項(xiàng)下。以2.4.0內(nèi)核為例,我們應(yīng)該選中的項(xiàng)目有:

[*] Kernel/User netlink socket   [ ] Routing messages   <*> Netlink device emulation   [*] Network packet filtering (replaces ipchains)


然后,在"IP: Netfilter Configuration ---->"選中:

<M> Connection tracking (required for masq/NAT)   <M> FTP protocol support  <M> IP tables support (required for filtering/masq/NAT)  <M> limit match support   <M> MAC address match support   <M> Netfilter MARK match support   <M> Multiple port match support   <M> TOS match support   <M> Connection state match support   <M> Packet filtering  <M> REJECT target support  <M> Full NAT   <M> MASQUERADE target support   <M> REDIRECT target support   <M> Packet mangling   <M> TOS target support   <M> MARK target support   <M> LOG target support  <M> ipchains (2.2-style) support  <M> ipfwadm (2.0-style) support


其中最后兩個項(xiàng)目可以不選,但是如果你比較懷念I(lǐng)Pchains或者IPfwadm,你也可以將其選中,以便在2.4內(nèi)核中使用IPchians或IPfwadm。但是需要注意的是,IPtables是和IPchians/IPfwadm相對立的,在使用IPtables的同時就不能同時使用IPchains/IPfwadm。編譯成功后,這些模塊文件都位于以下目錄中/lib/modules/2.4.0/kernel/net/ipv

4/netfilter

編譯2.4.0的新內(nèi)核時還應(yīng)該注意要在"Processor type and features"中選擇和你的CPU相對應(yīng)的正確的CPU選項(xiàng),否則新內(nèi)核可能無法正常工作。

2.2.配置BIND服務(wù)

缺省BIND服務(wù)監(jiān)聽在53端口,我們可以通過配置讓BIND運(yùn)行在不同的IP及端口上。實(shí)現(xiàn)這一點(diǎn)并不復(fù)雜,假設(shè)我們的DNS服務(wù)器的IP地址是211.163.76.1,并且我們想?yún)^(qū)分CERNET及非CERNET的客戶,這時我們必須運(yùn)行兩個BIND,使用不同的配置文件??梢栽谑褂梅菢?biāo)準(zhǔn)監(jiān)聽端口的BIND的配置文件中用listen-on指定BIND監(jiān)聽的端口,比如:

options {  listen-on port 54 {211.163.76.1;}  directory "/var/named_cernet";   };


可以用named的-c 選項(xiàng)指定named讀入不同的配置文件,比如:

/usr/sbin/named -u named -c /etc/named_cernet.conf


2.3.配置重定向規(guī)則

假設(shè)監(jiān)聽在標(biāo)準(zhǔn)端口的BIND服務(wù)器為非CERNET客戶提供DNS解析,監(jiān)聽在54端口的BIND服務(wù)器為CERNET服務(wù)器提供DNS解析,我們可以建立如下的規(guī)則腳本:

#!/bin/bash#打開端口轉(zhuǎn)發(fā)echo 1 > /proc/sys/net/ipv4/ip_forward#加載相關(guān)的內(nèi)核模塊/sbin/modprobe iptable_filter/sbin/modprobe ip_tables/sbin/modprobe iptables_nat#刷新所有規(guī)則/sbin/iptables -t nat -F


#加入來自CERNET的DNS請求轉(zhuǎn)發(fā)規(guī)則,將其轉(zhuǎn)發(fā)到本地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客戶數(shù)據(jù)包的源端口(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


可以下載該腳本,將腳本中的DNS_IP及CNET_PORT參數(shù)改成你自己的DNS服務(wù)器地址及監(jiān)聽端口即可。

2.4.運(yùn)行動態(tài)DNS

配置完成后我們啟動DNS服務(wù)器,并且運(yùn)行相應(yīng)的規(guī)則腳本,我們的動態(tài)DNS服務(wù)器就可以正常工作了。
文章錄入:csh    責(zé)任編輯:csh 

相關(guān)文章

最新評論