Permalänk
Medlem

Bind, split horizon

Jag behöver en lite speciell BIND konfiguration:

När någon utomstående gör en "authoritative" uppslagning av "foo.mydomain.se" så skall de få brandväggens publika ip returnerat.
Om någon från internnätet 192.168.0.0/24 ställer samma fråga skall de få motsvarande internadress 192.168.0.34

Går det att köra split horizon med bara en named startad?

Please help!

Permalänk
Medlem

skapa en ny subdomän som bara 192.168.0.0/24 kan fråga på.

t.ex. intranet.domain.se

allow-recursion { 192.168.0.0/24; };
allow-query { localhost; brandvägg?; 192.168.0.0/24; };

Permalänk
Medlem

Jo, men det är nog inte riktigt vad jag tänkt mig.

uppslagning av www.jattefinserver.se från en dator på 192.168 nätet skall ge svaret 192.168.0.x medans samma fråga "utifrån" skall ge brandväggens publika ip.

Som jag förstog ditt exempel så innebär det att interna anv. kommer få det publika ipt när de frågar efter www.jattefinserver.se medans de får 192.168 adressen när de frågar efter www.intranet.jattefinserver.se

Tack iaf.

Permalänk

Om jag förstår dig rätt så villdu göra exakt som jag har gjort.

Du kan använda "views" för vad du vill åstadkomma. Då kan du ställa in så att samma domän har olika filer beroende på vem som frågar. Så här:

acl "hemma" {192.168.0/24;}; view "internt" { match-clients { "hemma"; localhost; }; zone ".no-ip.com" in { type master; file "db..no-ip.internal"; allow-update { key .; }; }; zone "0.168.192.in-addr.arpa" in { type master; file "db.192.168.0"; allow-update { key .; }; }; zone "0.0.127.in-addr.arpa" in { type master; file "db.127.0.0"; }; zone "." in { type hint; file "named.root"; }; }; view "andra" { match-clients { any; }; recursion no; ....

Funkar skitbra, men det strular till det lite också, du kan tex inte köra dynamiska uppdateringar på din externa zon eftersom då försöker den uppdatera din interna istället. Så om du får ett nytt ip av din ISP så blir det krångel att ändra det i zonen automatiskt. Jag har aldrig hittat något bra sätt att göra det på, utan jag har ett skript i dhclient-exit-hooks som ändrar i zon-filen och skickar en 'rndc reload'. Det är inte snyggt men det funkar fast då funkar inte dynamiska uppdateringar av externa zonen överhuvudtaget (måste stänga av dyndns för att kunna köra rndc ).

Visa signatur

Two types of people laugh at the law: those that break it and those that make it.

Permalänk
Medlem

Jag har en en (hyfsat) fungerande uppsättning på mitt nät.

Jag har köpt mig en .org domän som jag är master/primary dns för, så är en polare slave/secondary dns för den.
Här följer mina config-filer (jag kör netbsd) filplatser kan variera...
/etc/named.conf

# $NetBSD: named.conf,v 1.8 2002/02/26 08:48:35 itojun Exp $ # boot file for secondary name server # Note that there should be one primary entry for each SOA record. options { directory "/etc/namedb"; # Make Named speak 53 query-source address * port 53; forwarders { # dns1.telia.com 194.22.190.10; # dns2.telia.com 194.22.194.14; }; # tcp-clients 128; }; #---#---# # Load Internal DNS Table view "internal" { match-clients { 192.168.100.0/24; }; # Refuse recursive service to external clients recursion yes; zone "." { type hint; file "zones/root.cache"; }; #--#--# # Load domain.org Internal MASTER zone "domain.org" { type master; file "zones/zone.domain.org.internal"; allow-transfer { none; }; }; # End of domain.org Internal MASTER # zone "localhost" { # type master; # file "localhost"; # }; # zone "127.IN-ADDR.ARPA" { # type master; # file "127"; # }; }; # End of Internal View #---#---# # Load External DNS Table view "external" { match-clients { any; }; # Refuse recursive service to external clients recursion no; #--#--# # Load domain.org External MASTER zone "domain.org" { type master; file "zones/zone.domain.org.external"; allow-transfer { <slave-dns-ip>; }; }; # End of domain.org External MASTER }; # End of External View

/etc/named/zones/zone.domain.org.internal

$TTL 3600 @ IN SOA ns1.domain.org. admin.domain.org. ( 2003050201 ; Serial 3600 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL ; DNS Servers @ IN NS ns1.domain.org. ;@ IN NS ns2.domain.org. ; Machine Names localhost IN A 127.0.0.1 ns1 IN A 192.168.100.95 gateway IN A 192.168.100.95 ;@ IN A 192.168.100.95 @ IN A 192.168.100.100 ; WebHosts www IN A 192.168.100.100 ; FtpHosts ftp IN A 192.168.100.100 ; Aliases gw IN CNAME gateway ; MX Records ;@ IN MX 10 mail.domain.org. ;@ IN MX 20 mail2.domain.org.

/etc/namedb/zones/zone.domain.org.external

$TTL 3600 @ IN SOA ns1.domain.org. admin.domain.org. ( 2003042701 ; Serial 3600 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL ; DNS Servers @ IN NS ns1.domain.org. @ IN NS ns2.domain.org. ; Machine Names localhost IN A 127.0.0.1 ns1 IN A <master-dns-publika-ip> ns2 IN A <slav-dns-publikt-ip> @ IN A <mitt-publika-ip> ; Aliases www IN CNAME @ ftp IN CNAME @ ; MX Records ;@ IN MX 10 mail.domain.org. ;@ IN MX 20 mail2.domain.org.

Jag vet inte om det är ett säkert sätt att ha en dns på, men det funkar för mig.
Jag kör Bind 9 på min netbsd router.

ersätt de olika taggarna med ip-nummer som stämmer för dig.

Master-dns-publikt-ip är för mig lika med det publika ip jag får från telia.

Visa signatur

¤Hakuna Matata¤
# Ibland försvinner 'j', 'å', 'ä' och 'ö'...
Signatur redigerad av GAPa. I textstorlek tre får man bara ha en rad.

Permalänk
Medlem

Views var precis vad jag behövde! Nu funkar det kanon.
Tackar!!