日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

双重DNS的配置

發(fā)布時間:2025/1/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 双重DNS的配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

相信現(xiàn)在有不少地方都是起雙重DNS的,即對外解析成公網(wǎng)地址,對內解析成內網(wǎng)地址。一般的做法是用兩臺DNS服務器分開來做的,但如果機器緊張,只有一臺的話,或出于安全考慮的話,其實也是可以做的。在這里又分兩種情況:使用Bind8和Bind9的做法是不一樣的。
Bind8的話,原理很簡單
在DNS服務器上運行兩個BIND,分別為來自內部網(wǎng)絡和外部網(wǎng)絡的域名請求提供解析,每個BIND具有不同的配置文件和域名數(shù)據(jù)庫文件,并分別在不同的端口監(jiān)聽。DNS服務器在接到客戶端請求時,根據(jù)客戶的IP地址將請求重定向到不同的BIND服務端口,這樣就可以根據(jù)客戶端的IP地址將不同的解析結果返回給客戶端,而整個過程對于客戶端來說都是透明的。實現(xiàn)的關鍵在于運行兩個BIND及運用iptables命令進行IP地址及端口改寫操作。
具體配置的話:
在/etc/下生成兩個named配置文件named.in與named.out
named.in

## named.conf - configuration for bind(named.in)
#
# Generated automatically by redhat-config-bind, alchemist et al.
# Any changes not supported by redhat-config-bind should be put
# in /etc/named.custom
#
include "/etc/named.custom";

include "/etc/rndc.key";

options {
 directory "/var/named_in/";
 datasize 2098;
 ......
};


#Log Files
logging {
 category queries {
  default_syslog;
 };
};

#DataBase Files
zone "0.0.127.in-addr.arpa" {
 type master;
 file "0.0.127.in-addr.arpa.zone";
};
zone "10.in-addr.arpa" {
 type master;
 file "10.in-addr.arpa.zone";
};


zone "localhost" {
 type master;
 file "localhost.zone";
};
zone "xxu.edu.cn" {
 type master;
 file "xxu.edu.cn.zone";
};

named.out

## named.conf - configuration for bind(named.out)
#
# Generated automatically by redhat-config-bind, alchemist et al.
# Any changes not supported by redhat-config-bind should be put
# in /etc/named.custom
#
include "/etc/named.custom";

include "/etc/rndc.key";

options {
 directory "/var/named_out/";
 datasize 2098;
 ... ...
};
# 注意這里監(jiān)聽的端口不一樣了
listen-on port 8053 {
 # 本機IP地址
 10.xx.xx.xx;
};


#Log Files
logging {
 category queries {
 default_syslog;
};


#DataBase Files
zone "0.0.127.in-addr.arpa" {
 type master;
 file "0.0.127.in-addr.arpa.zone";
};
zone "xx.xx.210.in-addr.arpa" {
 type master;
 file "xx.xx.210.in-addr.arpa.zone";
};


zone "localhost" {
 type master;
 file "localhost.zone";
};
zone "xxu.edu.cn" {
 type master;
 file "xxu.edu.cn.zone";
};

為什么選對外發(fā)布的做重定向呢,當時的考慮是對內解析的流量大,可以減少一個環(huán)節(jié)。

然后做iptables的重定向,在iptable配置文件中添加

-A PREROUTING -s ! 10.0.0.0/255.0.0.0 -i eth0 -p udp -m udp --dport 53 -j REDIRECT --to-ports 8053

-A POSTROUTING -o eth0 -p udp -m udp --sport 8053 -j SNAT --to-source 10.xx.xx.xx:53

COMMIT

最后在做一個啟動腳本:

#!/bin/sh

echo "Enabling IP Forwarding ..."
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Enabling DNS(outside) Service ..."
/usr/sbin/named -u named -c /etc/named.out

echo "Enabling DNS(inside) Service ..."
/usr/sbin/named -u named -c /etc/named.in

重啟機器就OK了!

如果是用的Bind9的話,那就簡單多了!
只需要一個named.conf文件就搞定
具體配置:

include "/etc/rndc.key";

options {
 directory "/var/named/";
 ... ...
};

#Log Files
logging {
 category queries {
  default_syslog;
 };
};

#DataBase Files
#注意view和match-clients的用法,就是它們在起作用
view "internal" {
 match-clients { 10.0.0.0/8; };
 recursion yes;
 zone "." {
  type hint;
  file "named.ca";
 };
 zone "0.0.127.in-addr.arpa" {
  type master;
  file "0.0.127.in-addr.arpa.zone";
 };
 zone "localhost" {
  type master;
  file "localhost.zone";
 };
 zone "xxu.edu.cn" {
  type master;
  file "xxu.edu.cn.in.zone";
 };
 zone "10.in-addr.arpa" {
  type master;
  file "10.in-addr.arpa.zone";
 };
};

view "external" {
 match-clients { any; };
 recursion yes;
 zone "." {
  type hint;
  file "named.ca";
 };
 zone "0.0.127.in-addr.arpa" {
  type master;
  file "0.0.127.in-addr.arpa.zone";
 };
 zone "localhost" {
  type master;
  file "localhost.zone";
 };
 zone "xxu.edu.cn" {
  type master;
  file "xxu.edu.cn.out.zone";
 };
 zone "xx.xx.210.in-addr.arpa" {
  type master;
  file "xx.xx.210.in-addr.arpa.zone";
 };
};

這樣就配置好了!
至于具體的數(shù)據(jù)文件,我想大家都應該會配置了,我這里就不多說了!

總結

以上是生活随笔為你收集整理的双重DNS的配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。