如一個, 內部IP地址<--->放在DMZ的web服務器的IP<----->外部IP地址 192.168.1.1<--->192.168.0.1<----->211.202.49.1 從DNS上可以從以下四個方面解決:
一、iptables應用
1、 核心思想
配置動態DNS服務器的核心思想是:在DNS服務器上運行多個BIND,每個BIND為來自不同區域的用戶提供解析,因此每個BIND都應具有不同的配置文件和域文件,并且分別監聽在不同的端口。在接到客戶端DNS請求時,根據客戶的ip地址將請求重定向不同的BIND服務端口。BIND響應時,再改寫相應包的服務端口為標準的53端口。這樣就可以根據客戶端的ip地址將不同的解析結果返回給客戶端。整個過程對于客戶端來說都是透明的。實現的關鍵在于運行不同的BIND及運用iptables進行ip地址及端口改寫操作?!?/P>
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選項,否則新內核可能無法正常工作。