ďťż
 
 
   [+] Bind9 i zapytania tylko z intranetu
 
 

Tematy

 
    
 

 

 

 

[+] Bind9 i zapytania tylko z intranetu





ShinnRa - 31-01-2008 14:05
Sprawa jest nieco pogmatwana i postaram się ja wyjaśnić poprawnie:
Mam sobie swój serwerek, który jednocześnie jest bramą do internetu i mam tam zainstalowanego bind9 i teraz chciałbym aby:
* gdy żądanie dns przyjdzie z sieci lokalnej (192.168.0.0/24) to były widoczne wszystkie wpisy np: pliki.domena.pl, local.domena.pl, poczta.domena.pl, ftp.domena.pl, itp...
* gdy żądanie dns przyjdzie z sieci zewnętrznej (z internetu) to były widoczne tylko niektóre wpisy, np: pliki.domena.pl, poczta.domena.pl, itp...

i teraz moje pytanie czy da się to tak zrobić ? Nie chcę sie bawić w ustawianie dwóch serwerów bind : jeden nasłuchujący na interfejsie eth0 (internet) drugi na eth1 (intranet). Ja chciałbym wiedzieć czy da sie to zrobić za pomocą jednego...



bolwerk - 31-01-2008 15:39
Wydaje mi się, że najprościej zrobisz to ustawiającej dwie strefy z odpowiednimi wpisami warunkującymi dostęp.
Oczywiście w ogólnodostępnym wpisz tylko to co ma być dostępne z zewnątrz natomiast w lokalu tylko uzupełnij wpisy, które powinny być widoczne dla sieci.

Czyli w telegraficznym skrócie:
vim named.conf.options acl "moje_sieci" {
        192.168.20.0/24;
        127.0.0.1;
}; vim named.conf.local
zone "local.twoja.domena" {
        type master;
        file "/etc/bind/db.local.twoja.domena";
        allow-query { moje_sieci; };
};

zone "0.168.192.IN-ADDR.ARPA" {
        type master;
        file "/etc/bind/db.199";
        allow-query { moje_sieci; };
}; vim db.local.twoja.domena
vim db.199

Przy tych dwóch ostatnich musisz oczywiście dokonać odpowiednich wpisów.

Pozdrawiam ...



ShinnRa - 31-01-2008 22:21
eee... albo ja coś źle zrozumiałem, albo nie tak wpisałem bo mnie to nie działa T_T



bolwerk - 31-01-2008 23:39
Przepraszam, bo przez pośpiech popełniłem dość poważny błąd, który zaraz naprawię.

Oczywiście nie możesz postawić na tej samej domenie dwóch plików strefy ale najprostszym i imho najlepszym rozwiązaniem jest tutaj odpowiednie zmodyfikowanie odpowiednich wpisów w serwerach do których chcesz ten dostęp przekierować.

Popatrz. Przykładowo tworzysz plik strefy gdzie $ORIGIN local.twoja.domena. co oczywiście spowoduje, że na wszystkie zapytania z lokala będą otrzymywać odpowiedź costam.local.twoja.domena.pl. Tutaj jedyne co możesz zrobić to dodatkowo dać wpisy CNAME odnośnie przykładowo www, czy też ftp. Chociaż wydaje mi się, że łatwiej dostęp do odpowiednich katalogów można zrobić poprzez przekierowanie w odpowiednich serwerach. Chociażby mod_rewrite w apachu, żeby przywrócił prawidłowy adres dla danego zapytania.

Przykładowo plik strefy       >> cat db.local.bolwerk.homelinux.com
$TTL 604800
$ORIGIN local.bolwerk.homelinux.com.
@        IN        SOA        bolwerk.homelinux.com. root.bolwerk.homelinux.com. (
        1
        604800
        86400
        241920
        604800
)

        IN        NS        dns2.bolwerk.homelinux.com.

@        IN        A        89.174.22.250

@        IN        MX        10        mail
mail        IN        A        192.168.20.104       
dns        IN        A        89.174.22.250
ftp        IN        CNAME        ftp.kernel.org. A oto odpowiedź na zapytanie:   >> host -a local.bolwerk.homelinux.com
Trying "local.bolwerk.homelinux.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45543
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;local.bolwerk.homelinux.com.        IN        ANY

;; ANSWER SECTION:
local.bolwerk.homelinux.com. 604800 IN        SOA        bolwerk.homelinux.com. root.bolwerk.homelinux.com. 1 604800 86400 241920 604800
local.bolwerk.homelinux.com. 604800 IN        NS        dns2.bolwerk.homelinux.com.
local.bolwerk.homelinux.com. 604800 IN        A        89.174.22.250
local.bolwerk.homelinux.com. 604800 IN        MX        10 mail.local.bolwerk.homelinux.com.

;; ADDITIONAL SECTION:
mail.local.bolwerk.homelinux.com. 604800 IN A        192.168.20.104

Received 158 bytes from 127.0.0.1#53 in 1 ms natomiast zapytanie o tego samego hosta z zewnątrz daje odpowiedź local.bolwerk.homelinux.com ANY record query refused by host250.brzegnet.pl A tutaj masz odpowiedź dla normalnego hosta z zewnątrz sieci >> host -a bolwerk.homelinux.com
Trying "bolwerk.homelinux.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11889
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;bolwerk.homelinux.com.                IN        ANY

;; ANSWER SECTION:
bolwerk.homelinux.com.        86400        IN        SOA        dns.bolwerk.homelinux.com. bolwerk.homelinux.com. 2008013101 7200 3600 3600000 1209600
bolwerk.homelinux.com.        86400        IN        NS        dns.bolwerk.homelinux.com.
bolwerk.homelinux.com.        86400        IN        A        89.174.22.250

;; ADDITIONAL SECTION:
dns.bolwerk.homelinux.com. 86400 IN        A        89.174.22.250

Received 125 bytes from 127.0.0.1#53 in 0 ms Ufff...
Chyba wszystko :)
Przepraszam za początkowe wprowadzenie w błąd ale mi to umknęło przez pośpiech :)

Pozdrawiam ...

No a ja przypadkowo dowiedziałem się, że muszę pogrzebać w systemie bo mam bajzel ;)
Acha. Dziękuję za pomoc Hagalowi oraz vorlogowi za pomoc przy wynikach z zewnątrz :)



ShinnRa - 01-02-2008 20:59
bolwerk, nie oto mi chodziło ale muszę Ci podziękować bo naprowadziłeś mnie na trop z tym acl... Po kilkudziesięciu godzinach googlowania trafiłem na odpowiedź (jakaś lista dyskusyjna chyba coś o *BSD) by użyć widoków (views - dostępne w bind9) w pliku konfiguracyjnym bind'a. Jak się sprawdzi to zapodam opis.



bolwerk - 01-02-2008 22:47
Nie ma za co :)

Jak coś to napisz a chętnie przeczytam bo jeszcze nie przebiłem się przez całość dokumentacji do binda z uwagi na pewne dodatkowe zlecenie :/

Pozdrawiam ...

EDIT

Już doszedłem co i jak i w sumie nawet bardzo ładnie to działa :)

Poczytaj tutaj http://dfwlpiki.dfwlp.org/index.php/..._for_DNS_Zones bardzo przystępnie wyjaśnione i sprawdziłem na swoim bindzie :)
Działa bardzo ładnie :)

Jedna uwaga !
Lokalny wpis musi być przed zewnętrznym inaczej w pierwszej kolejności dns będzie odpowiadał wpisem zewnętrznym a przecież nie o to chodzi :)

Pozdrawiam ...

Acha. Jak coś to pisz :)



ShinnRa - 02-02-2008 01:04
ooo faktycznie w bardzo ciekawy sposób wyjaśnione, ale trochę roboty z tym jest. Ja to zrobiłem tak:

moja definicja stref wygląda tak:
acl lokalne {
        127.0.0.0/8;
        192.168.0.0/24;
};

acl zapasowe {
        194.145.96.21;
        193.111.27.194;
};

view "internal" {
        match-clients { lokalne; };
        recursion yes;
        zone "ayanami.eu" {
                type master;
                file "/etc/bind/zones/db.ayanami.eu_INTERNAL";
                allow-transfer { lokalne; };
                allow-query { lokalne; };
                notify yes;
        };
};

view "external" {
        match-clients { any; };
        recursion no;
        zone "ayanami.eu" {
                type master;
                file "/etc/bind/zones/db.ayanami.eu_EXTERNAL";
                allow-transfer { any; };
                allow-query { any; };
                notify yes;
        };
        zone "97.144.83.IN-ADDR.ARPA" {
                type master;
                file "/etc/bin/zones/db.ayanami.eu_in-addr.arpa_EXTERNAL";
        };

}; db.ayanami.eu_EXTERNAL to normalny plik strefy a db.ayanami.eu_INTERNAL wygląda tak:
;; db.ayanami.eu_INTERNAL
;;
;;
;; dołączamy definicje z pliku db.ayanami.eu_EXTERNAL
;;
$include "/etc/bind/zones/db.ayanami.eu_EXTERNAL";

;;
;; Wpisy lokalne
;;
@              IN      A              192.168.0.130  ;; ayanami.eu
local          IN      A              192.168.0.130  ;; local.ayanami.eu
test            IN      A              192.168.0.130  ;; test.ayanami.eu
area51          IN      A              192.168.0.130  ;; area51.ayanami.eu i wszelkie nowe wpisy lokalne dodaje do INTERNAl i działa suuper tak jak chciałem. Pozostaje jeszcze tylko kosmetyka (czyli logowanie itp... ale to później)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis