QUOTE:原帖由 cltnet 于 2008-6-19 10:19 发表

我使用一台linux做為我們的網關,下面的電腦都是通過交換機與這台linux服務器相連接,
並且使用這台linux服務器撥ADSL上網,
現在下面的PC使用自動獲取IP地址方式上網,
發現如果使用DNS服務器地址為linux 網關的地址的話,就不能正常解析域名,除非把DNS服務器地址直接更改為我們當地的DNS服務器地址
比如-61.139.2.69
但是在linux服務器上是可以正常解析域名的.
想請問一下我該在該linux服務器上如何設置DNS代理,下面的PC使用網關IP也能正常解析域名呢?
請安裝 bind,bind-chroot 與 caching-nameserver 等等相關軟件包來提供 cache only 的 dns 服務。不過你得熟悉 bind 配置與組態調整。
QUOTE:我看到過一位CU兄說的是直接把DNS請求轉發到當地DNS服務器地址處,不知還有其他方法實現DNS代理呢?謝謝
大概可能為:
iptables -I PREROUTING -t nat -p udp -d 1.2.3.4 -s 192.168.0.0/16 --dport 53 -j DNAT --to 5.6.7.8:53
复制代码
1.2.3.4 是 linux 對外 ip,192.168.0.0/16 是對內的 private ip 網段,5.6.7.8 是 isp dns server 的 ip。
--