找防水抓漏工程機會,線上超過上百筆精選防水抓漏案件,無論接案新手
專職SOHO、接案工作室、公司,都能
油漆工程專業鐵皮屋搭建工程,自有工廠料實在
多年專業打造堅固美觀鐵皮屋,免費到府丈量估價

首頁  •  j2h 論壇 • 程式設計討論     • 

BIND9 - "view" statement 應用備忘

房東:可可
發表時間:2007-02-26
[檢舉]


最近掛上新的網路設備後, 由於不明原因造成內部使用者透過 Domain name (DNS 解析為 public ip) 收發 e-mail 時, 發生 mail server 服務中斷的問題. 於是在網路上找到這篇將 Domain 分成內外部不同解析的文章, 讓外部查詢一樣回應 public ip, 內部使用者同樣以 Domain name 設置 pop3/smtp, 但實際是以內部 IP 來連線的解決方案.

環境:

Linux with BIND v9.x
bind 設定檔: /etc/named.conf
zone file 路徑: /var/named
vi /etc/named.conf

acl \"lan\" {

10.0.0.0/24; 192.168.0.0/24; // LAN IP 範圍標示

};

view \"internal\" { // 給內部使用者查詢的設置

match-clients { lan; }; // lan 的 IP 範圍是在 acl \"lan\" 敘述中所設定

zone \".\" IN {
type hint;
file \"named.ca\";
};

zone \"mydomain.com\" {
type master;
file \"internal.mydomain.com\";
allow-transfer { none; };
};

};

view \"external\" { // 給外部使用者查詢的設置

match-clients { any; }; // any 表示任何 IP, 毋需以 acl 設定

zone \".\" IN {
type hint;
file \"named.ca\";
};

zone \"localhost\" IN {
type master;
file \"localhost.zone\";
allow-update { none; };
};

zone \"0.0.127.in-addr.arpa\" IN {
type master;
file \"named.local\";
allow-update { none; };
};

zone \"mydomain.com\" IN {
type master;
file \"named.mydomain.com\";
allow-transfer { none; };
};

};



vi /var/named/internal.mydomain.com (給內部查詢的 zone file)

$TTL 1H
mydomain.com. IN SOA myhost.mydomain.com. root.mydomain.com. (
2006052901
3H
15M
1W
1H)

IN NS myhost.mydomain.com.
IN MX 10 mail.mydomain.com.

myhost IN A 10.0.0.1
mail IN A 10.0.0.1
www IN A 10.0.0.1
ftp IN A 10.0.0.2

vi /var/named/named.mydomain.com (給外部查詢的 zone fie)

$TTL 1H
mydomain.com. IN SOA myhost.mydomain.com. root.mydomain.com. (
2006052901
3H
15M
1W
1H)

IN NS myhost.mydomain.com.
IN MX 10 mail.mydomain.com.

myhost IN A 123.123.123.123
mail IN A 123.123.123.123
www IN A 123.123.123.123
ftp IN A 123.123.123.123


測試:

在區域網路 ping mail.mydomain.com 得到的回應為: 10.0.0.1 (lan ip)
外部電腦 ping mail.mydomain.com 得到的回應為: 123.123.123.123 (public ip)
其他備忘:

若要讓 dns server (myhost.mydomain.com) 本身使用內部 ip 解析 domain name, 在 acl \"lan\" 加入 localhost, 並將 localhost 的正反解 zone 設定加入 internal view 即可
若有兩個以上 domain name, 各區域網路以 lan-to-lan vpn 串連者, 可在 /etc/named.conf 的 internal view 加入多個 zone 設置 (當然也要在 /var/named 建立相關 zone file), 就能讓 dns server 解析成內部 ip, 透過 vpn 連入遠端 server



  • 贊助網站       

    廣利不動產-新板特區指名度最高、值得您信賴的好房仲
    您的托付,廣利用心為您服務
    廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲
    完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心!



  •  共 0 人回應

    姓名:
    佈告內容: