/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
qmail, rblsmtpd og egne regler...
Fra : Rander


Dato : 27-10-01 01:15

Jeg har en mailserver kørende med qmail. Den kører også rblsmtpd for at
fange smtp-sessioner fra "sortlistede" domains/IP-adresser...

Nu er det så jeg spørger: Kan jeg selv definere nogle domains/IP-adresser
som qmail-smtpd checker op imod på lige fod med de servere der er angiver i
forbindelse med rblsmtpd, altså så den afviser mailen allerede i
smtp-sessionen?

Alternativet er at maskinen skal til at sende en bounce der bouncer, og så
får jeg alligevel lortet i roots mailbox...

--
Lars Rander, www.rander.dk ICQ#: 987520 ** Pil ikke ved min adresse **
Sjathelt og beskytter af det svage køn (udnævnt af diktator SEJ 5/6-99)

Kærlighed er svaret, men mens man venter på det, rejser
sex nogle temmelig gode spørgsmål. (Woody Allen)


 
 
Claus Alboege (27-10-2001)
Kommentar
Fra : Claus Alboege


Dato : 27-10-01 02:29

>>>>> "Rander" == Rander <ldNOSPAM@rander.dk> writes:

Rander> Jeg har en mailserver kørende med qmail. Den kører også
Rander> rblsmtpd for at fange smtp-sessioner fra "sortlistede"
Rander> domains/IP-adresser...

Rander> Nu er det så jeg spørger: Kan jeg selv definere nogle
Rander> domains/IP-adresser som qmail-smtpd checker op imod på lige
Rander> fod med de servere der er angiver i forbindelse med
Rander> rblsmtpd, altså så den afviser mailen allerede i
Rander> smtp-sessionen?

http://cr.yp.to/djbdns/rbldns.html

--
Mvh Claus Albøge

"Don't summarize. Don't abbreviate. Don't interpret."
      -- D. J. Bernstein

Rander (28-10-2001)
Kommentar
Fra : Rander


Dato : 28-10-01 02:26

27 Oct 2001 03:28:53 +0200 brugte Claus Alboege 19 linier på at fortælle
dette til dk.edb.system.unix:

> Rander> Nu er det så jeg spørger: Kan jeg selv definere nogle
> Rander> domains/IP-adresser som qmail-smtpd checker op imod på lige
> Rander> fod med de servere der er angiver i forbindelse med
> Rander> rblsmtpd, altså så den afviser mailen allerede i
> Rander> smtp-sessionen?
>http://cr.yp.to/djbdns/rbldns.html

Fuck, hvor er jeg bare ved at få grå hår i hovedet af det her... :-/

Okay, jeg har fattet så meget at rbldns arbejder bedst sammen med
dnscache/tinydns, og efter ca. 12 timer og ca. det dobbelte antal kopper
kaffe er jeg nået frem til at det fra LAN-siden svarer korrekt på adresser
inden for LANet, men det svarer overhovedet ikke på eksterne adresser!

Som jeg fattede det: Man laver (og starter) en dnscache for localhost på
Linux-kassen. Så laver man endnu en dnscache (kaldet dnscachex) til at
svare på forespørgsler fra LAN-siden, og til sidst sætter man tinydns op og
starter den...

Det virker bare ikke rigtigt! Hvis jeg på Linux-kassen laver en dig på en
intern adresse (maskinen hoster hele mit domain) får jeg timeout, og dig på
eksterne adresser giver et korrekt svar.

Fra en Windows-maskine på LANet giver en nslookup på en intern adresse et
korrekt svar, men for eksterne adresser timeouter den...

Jeg har kigget lidt på logfiler og er nået frem til, at når jeg laver en
nslookup fra Windows-maskinen, så svarer tinydns godt nok på den - men når
det drejer sig om eksterne adresser burde den jo så konsultere dnscachex -
det gør den IKKE!

Hvad hel.... er det lige der går galt??? Jeg har været hele Google igennem
også (Dan Bernstein brillierer ikke ligefrem i dokumentation), og det er
yderst begrænset hvad jeg kan finde om HOWTOs på emnet...

Rbldns fatter jeg INTET af overhovedet! Jeg har ikke engang fået den
installeret, for igen er Bernsteins såkaldte dokumentation fuldstændig
uforståelig, og andre sider jeg har kunnet finde på nettet har kun kort
omtalt rbldns med hvad den kan - intet om hvordan man rent faktisk bruger
den...



--
Lars Rander, www.rander.dk ICQ#: 987520 ** Pil ikke ved min adresse **
Sjathelt og beskytter af det svage køn (udnævnt af diktator SEJ 5/6-99)

De færreste er klar over, at nogle mennesker må anstrenge sig enormt
bare for at virke normale. (Albert Camus)


Klaus Alexander Seis~ (28-10-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 28-10-01 07:44

Rander skrev:

> Okay, jeg har fattet så meget at rbldns arbejder bedst sammen
> med dnscache/tinydns, og efter ca. 12 timer og ca. det dobbelte
> antal kopper kaffe er jeg nået frem til at det fra LAN-siden
> svarer korrekt på adresser inden for LANet, men det svarer
> overhovedet ikke på eksterne adresser!

"Det"? Er "det" dnscache eller tinydns?

I filerne {dnscache,tinydns}/env/IP står der hvilken adresse der lyttes
på. Normalt sætter man vel tinydns (som er en nameserver) til at lytte
på en "extern" IP adresse og dnscache (som er en caching resolver) til
at lytte på en "intern" IP-adresse, og sætter så /etc/resolv.conf på
LANets maskiner til adressen for dnscache.

Jeg har fx sat tinydns/env/IP til min maskines offentlige IP-adresse
og dnscache/env/IP til 127.0.0.1, samt har "nameserver 127.0.0.1" i
/etc/resolv.conf. Den opsætning får tinydns til at klare forespørgsler
på de domæner min maskine er autoritativ NS for, og får alle programmer
på LAN-siden til at bede dnscache om at slå adresser op (hos de NS'er
der nu er autoritative for forespørgslen). Tinydns kan således nås
både indefra (via dnscache, som selv finder ud af hvor den skal spørge)
og udefra, mens dnscache kun kan nås fra LAN-siden.

(Teoretisk set burde man kunne sætte IP til 0.0.0.0 og dermed få både
tinydns og dnscache til at lytte til alle IP-adresser på maskinens
interfaces, men jeg har ikke prøvet det i praksis (og har heller ikke
lyst til at folk udefra kan tilgå min dnscache.))

Jeg har aldrig brugt dnscachex til noget, så jeg ved ikke hvor dén
hører ind i billedet.

> Jeg har kigget lidt på logfiler og er nået frem til, at når jeg
> laver en nslookup fra Windows-maskinen, så svarer tinydns godt nok
> på den - men når det drejer sig om eksterne adresser burde den jo
> så konsultere dnscachex - det gør den IKKE!

Det er heller ikke dens opgave. Tinydns er en nameserver, intet andet,
og den svarer på forespørgsler som den er autoritativ for - dvs., den
kan servere de oplysninger som ligger i tinydns/root/data.cdb. Det er
ikke tinydns' opgave at spørge andre nameservere, den slags klarer
dnscache (som ikke er en nameserver, men en caching resolver) og cacher
de oplysninger den har i TTL sekunder.

> Rbldns fatter jeg INTET af overhovedet!

Det kan osse være lidt langhåret at sætte DJB-ting op, men rbldns er
ikke sværere end de andre dele. Nu har jeg ikke fulgt ordentlig med i
denne tråd fra starten af, så jeg går ud fra at du ved at rbldns kun
er en privat RBL-server (hvor "privat" betyder "jeg bestemmer hvem
der skal i den sorte gryde").

Konfigurering:

# rbldns-conf rbldns dnslog /service/rbldns 127.53.0.2 rbl.example.com

får rbldns til at køre som bruger "rbldns" med logbruger "dnslog" i
kataloget /service/rbldns, lyttende på [port 53 på] IP-adressen
127.53.0.2, svarende på [RBLDNS] forespørgsler på rbl.example.com.

I filen rbldns/root/data kan man så hælde alle de IP-adresser man ikke
ønsker at modtage post fra - én IP-adresse (eller CIDR-blok) pr linje
(og husk at DJB vil have fire quads i en CIDR-blok: 61.28/15 dur IKKE,
det skal være 61.28.0.0/15 (ja, jeg har hældt stort set hele APNIC i
min rbldns)).

Der er dog én speciel linje i rbldns/root/data, og det er den linje
som fortæller rbldns hvad den skal returnere for et positivt svar.
En linje som

:127.0.0.2:Spam source -- see http://www.example.com/spampolicy.html

vil få rbldns til at returnere 127.0.0.2 for et positivt svar, samt
sætte TXT-recorden for opslaget til alt efter andet kolon. Mailere
der ramler ind i rbldns vil herefter få meddelelsen

554 Service unavailable; [212.59.152.181] blocked using \
rbl.example.com, reason: Spam source -- see \
http://www.example.com/spampolicy.html

Hvis linien ender med et $, vil dette $ blive erstattet med den
pågældende IP-adresse. Således vil

:127.0.0.2:See http://www.example.com/rbl/lookup?ip=$

returnere

554 Service unavailable; [212.59.152.181] blocked using \
rbl.example.com, reason: See \
http://www.example.com/rbl/lookup?ip=212.59.152.181

Det irriterer mig at man kun kan have én kolon-linje pr rbldns, i
stedet for én pr IP-adresse i rbldns, men sådan syntes DJB åbenbart
ikke at det skulle være.

Nårh ja, og for at min dnscache skal vide at den skal konsultere
127.53.0.2 for at slå *.rbl.example.com op, har jeg gjort følgende:

# cd {mumle}/dnscache/root/servers
# echo 127.53.0.2 > 0.rbl.example.com
# for i in $(seq 1 255)
> do
> ln -s 0.rbl.example.com ${i}.example.com
> done
# cd ../..
# svc -t $(pwd)

(kan det gøres smartere?).

Når rbldns kører på 127.53.0.2, betyder det osse at rbl.example.com
kun kan tilgås fra LAN-siden. Hvis den skal være offentlig til-
gængelig, må man naturligvis sætte det anderledes op.

Er det ikke det hele? Det er efterhånden lang tid siden jeg har sat
djbdns op, så måske har jeg glemt noget, men spørg endelig løs - jeg
er villig til at blive ved til du har fået det op at køre.

(Disclaimer: jeg ved INTET om qmail og rblsmtpd, så her må andre
træde til.)

Og når du så har fået det til at svinge, burde du overveje at sætte
din egen root-server op, så slipper dnscache for at gå ud i verden
hver gang den skal se hvor et TLD skal slås op - det giver en bedre
responstid, synes jeg.

Smagsprøve kan ses på

   http://support.open-rsc.org/How_To/unix/djbdns/

men de får det til at lyde en anelse mere besværligt end det er i
virkeligheden.


// Klaus

--
><>°    vandag, môre, altyd saam

Claus Alboege (28-10-2001)
Kommentar
Fra : Claus Alboege


Dato : 28-10-01 11:14

Klaus Alexander Seistrup <nospam2001oct@magnetic-ink.dk> writes:

[Glimmrende gennemgang af djbdns]

Klaus> Nårh ja, og for at min dnscache skal vide at den skal
Klaus> konsultere 127.53.0.2 for at slå *.rbl.example.com op, har
Klaus> jeg gjort følgende:

Klaus> # cd {mumle}/dnscache/root/servers
Klaus> # echo 127.53.0.2 > 0.rbl.example.com
Klaus> # for i in $(seq 1 255)
>> do
>> ln -s 0.rbl.example.com ${i}.example.com
>> done
Klaus> # cd ../..
Klaus> # svc -t $(pwd)

Klaus> (kan det gøres smartere?).

# echo "127.53.0.2" > /service/dnscache/root/servers/rbl.example.com ?
Eller få tinydns til at delegere rbl.example.com til "127.53.0.2".
# echo "&rbl.example.com:127.53.0.2:a:259200" > /service/tinydns/root/data && make

(Brug client diff. så delegeringen kun kan ses "indefra") se

http://cr.yp.to/djbdns/tinydns-data.html

Klaus> Når rbldns kører på 127.53.0.2, betyder det osse at
Klaus> rbl.example.com kun kan tilgås fra LAN-siden. Hvis den skal
Klaus> være offentlig til- gængelig, må man naturligvis sætte det
Klaus> anderledes op.

Klaus> Er det ikke det hele? Det er efterhånden lang tid siden jeg
Klaus> har sat djbdns op, så måske har jeg glemt noget, men spørg
Klaus> endelig løs - jeg er villig til at blive ved til du har fået
Klaus> det op at køre.

Klaus> (Disclaimer: jeg ved INTET om qmail og rblsmtpd, så her må
Klaus> andre træde til.)

Noget i stil med flg. kan bruges

$ cat /service/qmail-smtpd/run
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -c 20 \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /usr/local/bin/rblsmtpd -b \
-r rbl.example.com /var/qmail/bin/qmail-smtpd 2>&1

-b optionen til rblsmtpd gør at der returneres 553 istedet for 451, se

http://cr.yp.to/ucspi-tcp/rblsmtpd.html

Klaus> Og når du så har fået det til at svinge, burde du overveje at
Klaus> sætte din egen root-server op, så slipper dnscache for at gå
Klaus> ud i verden hver gang den skal se hvor et TLD skal slås op -
Klaus> det giver en bedre responstid, synes jeg.

Samtidig faa man jo ogsaa adgang til en hel skov af nye TLD'er :)

http://data.l.oss/
http://www.dev.null/

Klaus> Smagsprøve kan ses på
Klaus>    http://support.open-rsc.org/How_To/unix/djbdns/

Klaus> men de får det til at lyde en anelse mere besværligt end det er i
Klaus> virkeligheden.

Det er også beskrevet her: http://cr.yp.to/dnsroot.html

--
Mvh Claus Albøge

"Don't summarize. Don't abbreviate. Don't interpret."
      -- D. J. Bernstein

Claus Alboege (28-10-2001)
Kommentar
Fra : Claus Alboege


Dato : 28-10-01 11:18

Claus Alboege <tractrix@kom.auc.dk> writes:

> # echo "&rbl.example.com:127.53.0.2:a:259200" > /service/tinydns/root/data && make
Damn. ^^^

Det skal selvfølgelif være ">>" - kan den undskyldes med at det er søndag?

/Claus

Klaus Alexander Seis~ (28-10-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 28-10-01 13:26

Claus Albøge skrev:

>> # echo "&rbl.example.com:127.53.0.2:a:259200" > /service/tinydns/root/data && make
> Damn. ^^^
>
> Det skal selvfølgelif være ">>"

Ja, og man skal osse cd'e til /service/tinydns/root/ før det nytter
at bruge make. Men det er djbdns-administratorer nok klar over.

> - kan den undskyldes med at det er søndag?

Det er nok fordi du har sovet for meget oven på al den sommertid.


// Klaus

--
><>°    vandag, môre, altyd saam

Klaus Alexander Seis~ (28-10-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 28-10-01 13:20

Claus Albøge skrev:

> # echo "127.53.0.2" > /service/dnscache/root/servers/rbl.example.com ?
> Eller få tinydns til at delegere rbl.example.com til "127.53.0.2".
> # echo "&rbl.example.com:127.53.0.2:a:259200" > /service/tinydns/root/data && make

Ja, det sidste skal med, ellers hænger en forespørgsel på rbl.example.com
indtil timeout. Jeg startede med denne løsning, men syntes så at den var
unødig kompliceret. Nu kan jeg ikke rigtigt se hvorfor, så måske går jeg
tilbage til den metode igen.

> (Brug client diff. så delegeringen kun kan ses "indefra") se
>
> http://cr.yp.to/djbdns/tinydns-data.html

Ja, det var da en meget god idé.

>> [egen root-server] giver en bedre responstid, synes jeg.
>
> Samtidig faa man jo ogsaa adgang til en hel skov af nye TLD'er :)

Ja!

> Det er også beskrevet her: http://cr.yp.to/dnsroot.html

Med DJB's sædvanlige sans for mangel på detaljer og brugervenlighed.

Jeg besluttede mig for at benytte ORSC's metode, men har så koblet det
sammen med Matt Lickeys autoaxfr, som automatisk downloader en zone så
snart serienummeret er forandret. Det fungerer vældig godt, synes jeg,
og så slipper jeg for at gøre mig overvejelser om hvor tit man mon skal
hente en ny zone. Autoaxfr bor på <http://www.lickey.com/autoaxfr/>.


// Klaus

--
><>°    vandag, môre, altyd saam

Klaus Alexander Seis~ (28-10-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 28-10-01 13:27

Claus Albøge skrev:

> Samtidig faa man jo ogsaa adgang til en hel skov af nye TLD'er :)
>
> http://data.l.oss/
> http://www.dev.null/

http://www.cnn.news/


// Klaus

--
><>°    vandag, môre, altyd saam

Søg
Reklame
Statistik
Spørgsmål : 177513
Tips : 31968
Nyheder : 719565
Indlæg : 6408602
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste